`plan`

Output a plan for the changes that will happen when applying a package.

?> This feature is still in alpha, so the UX and the output format is subject to change.

plan does a dry-run of applying a package to the cluster. It outputs the results in combination with a diff for every resource that will be updated, which gives an overview of the impact of applying a package.

Note that plan does only works reliably with server-side apply.

Synopsis #

kpt alpha live plan [PKG_PATH | -] [flags]

Args #

PKG_PATH | -:
  Path to the local package which should be applied to the cluster. It must
  contain a Kptfile with inventory information. Defaults to the current working
  directory.
  Using '-' as the package path will cause kpt to read resources from stdin.

Flags #

--field-manager:
  Identifier for the **owner** of the fields being applied. Only usable
  when --server-side flag is specified. Default value is kubectl.

--force-conflicts:
  Force overwrite of field conflicts during apply due to different field
  managers. Only usable when --server-side flag is specified.
  Default value is false (error and failure when field managers conflict).

--inventory-policy:
  Determines how to handle overlaps between the package being currently applied
  and existing resources in the cluster. The available options are:

    * strict: If any of the resources already exist in the cluster, but doesn't
      belong to the current package, it is considered an error.
    * adopt: If a resource already exist in the cluster, but belongs to a
      different package, it is considered an error. Resources that doesn't belong
      to other packages are adopted into the current package.

  The default value is `strict`.

--output:
  Determines the output format for the plan. Must be one of the following:

    * text: The plan will be printed as text to stdout.
    * krm: The plan will be printed as a Plan KRM resource to stdout. This
      can be used as input to kpt functions for automatic validation.

  The default value is ‘text’.

Examples #

# create a plan for the package in the current directory and output in KRM format.
$ kpt alpha live plan --output=krm
Last modified June 16, 2025: Move docs to hugo (#4215) (2f0d4026)