Skip to main content
Calico Open Source 3.28 (latest) documentation

calicoctl convert

This sections describes the calicoctl convert command.

Read the calicoctl command line interface user reference for a full list of calicoctl commands.

note

The available actions for a specific resource type may be limited based on the datastore used for Calico (etcdv3 / Kubernetes API). Please refer to the Resources section for details about each resource type.

Displaying the help text for 'calicoctl convert' command​

Run calicoctl convert --help to display the following help menu for the command.

Usage:
calicoctl convert --filename=<FILENAME>
[--output=<OUTPUT>] [--ignore-validation]

Examples:
# Convert the contents of policy.yaml to a Calico v3 policy.
calicoctl convert -f ./policy.yaml -o yaml

# Convert a policy based on the JSON passed into stdin.
cat policy.json | calicoctl convert -f -

Options:
-h --help Show this screen.
-f --filename=<FILENAME> Filename to use to create the resource. If set to
"-" loads from stdin.
-o --output=<OUTPUT FORMAT> Output format. One of: yaml or json.
[Default: yaml]
--ignore-validation Skip validation on the converted manifest.

Description:
Convert config files from Calico v1 or Kubernetes to Calico v3 API versions. Both YAML and JSON formats are accepted.

The default output will be printed to stdout in YAML format.
note

Currently the only Kubernetes API resource supported for conversion is NetworkPolicy.

Examples​

  1. Convert a set of resources (of mixed type) from Calico v1 or Kubernetes to Calico v3 APIs using the data in resources.yaml.

    calicoctl convert -f multi-resource-v1.yaml -o yaml > multi-resource-v3.yaml
    tip

    By default convert command outputs the converted resources to stdout, but it can be redirected to a file.

  2. Convert a policy based on the JSON passed into stdin.

    cat policy.json | calicoctl convert -f -

    Result will be printed to stdout.

Options​

-f --filename=<FILENAME>      Filename to use to convert the resource.  If set to
"-" loads from stdin.
-o --output=<OUTPUT FORMAT> Output format. One of: yaml or json.
[Default: yaml]
--ignore-validation Skip validation on the converted manifest.

See also​