Documentation for version v0.63.x is no longer actively maintained. The version you are currently viewing is a static snapshot. For up-to-date documentation, see the latest version.
Command Reference
App Commands ¶
App commands provides options to deploy, delete, inspect and list apps.
deploy ¶
The kapp deploy command can be used to deploy resources as a single app to your cluster.
# Deploy app 'app1' based on config files in config/
$ kapp deploy -a app1 -f config/
# Deploy app 'app1' while showing full text diff
$ kapp deploy -a app1 -f config/ --diff-changes
# Deploy app 'app1' based on remote file
$ kapp deploy -a app1 \
-f https://github.com/...download/v0.6.0/crds.yaml \
-f https://github.com/...download/v0.6.0/release.yaml
Supported flags: ¶
Common flags:
-a,--appstring, Set app name (or label selector) (format: name, label:key=val, !key)-c,--diff-changesboolean, Show changes-f,--file, strings, Set file (format: /tmp/foo, https://…, -) (can repeat)-n,--namespacestring, Specified namespace ($KAPP_NAMESPACE or default from kubeconfig)
Diff Flags:
--diff-against-last-applied, boolean, Show changes against last applied copy when possible (default true)-c,--diff-changesboolean, Show changes--diff-changes-yaml, boolean, Print YAML to be applied--diff-context, int, Show number of lines around changed lines (default 2)--diff-exit-status, boolean, Return specific exit status based on number of changes--diff-filterstring, Set changes filter (example: {“and”:[{“ops”:[“update”]},{“existingResource”:{“kinds”:[“Deployment”]}]})--diff-line-numbers, boolean, Show line numbers (default true)--diff-mask, boolean, Apply masking rules (default true)--diff-run, boolean, Show diff and exit successfully without any further action--diff-summary, boolean, Show diff summary (default true)--diff-ui-alpha, boolean, Start UI server to inspect changes (alpha feature)
Apply flags:
--apply-check-interval, duration, Amount of time to sleep between applies (default 1s)--apply-concurrency, int, Maximum number of concurrent apply operations (default 5)--apply-default-update-strategy, string, Change default update strategy--apply-exit-status, boolean, Return specific exit status based on number of changes--apply-ignored, boolean, Set to apply ignored changes--apply-timeout, duration, Maximum amount of time to wait in apply phase (default 15m0s)--dangerous-allow-empty-list-of-resources, boolean, Allow to apply empty set of resources (same as running kapp delete)--dangerous-override-ownership-of-existing-resources, boolean, Steal existing resources from another app
Wait flags:
--wait, boolean, Set to wait for changes to be applied (default true)--wait-check-interval, duration, Amount of time to sleep between checks while waiting (default 3s)--wait-concurrency, int, Maximum number of concurrent wait operations (default 5)--wait-ignored, boolean, Set to wait for ignored changes to be applied--wait-resource-timeout, duration, Maximum amount of time to wait for a resource in wait phase (0s means no timeout)--wait-timeout, duration, Maximum amount of time to wait in wait phase (default 15m0s)
Resource Filter Flags:
--filter, string, Set filter (example: {“and”:[{“not”:{“resource”:{“kinds”:[“foo%”]}}},{“resource”:{“kinds”:["!foo"]}}]})--filter-age, string, Set age filter (example: 5m-, 500h+, 10m-)--filter-kind, strings, Set kinds filter (example: Pod) (can repeat)--filter-kind-name, strings, Set kind-name filter (example: Pod/controller) (can repeat)--filter-kind-ns, strings, Set kind-namespace filter (example: Pod/, Pod/knative-serving) (can repeat)--filter-kind-ns-name, strings, Set kind-namespace-name filter (example: Deployment/knative-serving/controller) (can repeat)--filter-labels, strings, Set label filter (example: x=y)--filter-name, strings, Set name filter (example: controller) (can repeat)--filter-ns, strings. Set namespace filter (example: knative-serving) (can repeat)
Resource Validation Flags:
--allow-all-ns, boolean, Set to allow all namespaces for resources (does not apply to the app itself)--allow-check, boolean, Enable client-side allowing--allow-cluster, boolean, Set to allow cluster level for resources (does not apply to the app itself)--allow-ns, strings, Set allowed namespace for resources (does not apply to the app itself)
Resource Mangling Flags:
--into-ns, string, Place resources into namespace--map-ns, strings, Map resources from one namespace into another (could be specified multiple times)
Logs Flags:
--logs, boolean, Show logs from Pods annotated as ‘kapp.k14s.io/deploy-logs’ (default true)--logs-all, boolean, Show logs from all Pods
Available/Other Flags:
--app-changes-max-to-keep, int, Maximum number of app changes to keep (default 200)--app-metadata-file-output, string, Set filename to write app metadata--dangerous-disable-gk-scoping, boolean, Disable scoping of resource searching to used GroupKinds--dangerous-ignore-failing-api-services, boolean, Allow to ignore failing APIServices--dangerous-scope-to-fallback-allowed-namespaces, boolean, Scope resource searching to fallback allowed namespaces--default-label-scoping-rules, boolean, Use default label scoping rules (default true)--existing-non-labeled-resources-check, boolean, Find and consider existing non-labeled resources in diff (default true)--existing-non-labeled-resources-check-concurrency, int, Concurrency to check for existing non-labeled resources (default 100)--exit-early-on-apply-error, boolean, Exit quickly on apply failure (default true)--exit-early-on-wait-error, boolean, Exit quickly on wait failure (default true)-h,--help, boolean, help for deploy--labels, strings, Set app label (format: key=val, key=) (can repeat)-p,--patch, boolean, Add or update existing resources only, never delete any--prev-app, string, Set previous app name--sort, boolean, Sort by namespace, name, etc. (default true)--tty, boolean, Force TTY-like output (default true)
inspect ¶
The kapp inspect command can be used inspect the resources present in an app.
# Inspect app 'app1'
$ kapp inspect -a app1
Supported flags:
-a,--app, string, Set app name (or label selector) (format: name, label:key=val, !key)--dangerous-disable-gk-scoping, boolean, Disable scoping of resource searching to used GroupKinds--dangerous-ignore-failing-api-services, boolean, Allow to ignore failing APIServices--dangerous-scope-to-fallback-allowed-namespaces, boolean, Scope resource searching to fallback allowed namespaces--filter, string, Set filter (example: {“and”:[{“not”:{“resource”:{“kinds”:[“foo%”]}}},{“resource”:{“kinds”:["!foo"]}}]})--filter-age, string, Set age filter (example: 5m-, 500h+, 10m-)--filter-kind, strings, Set kinds filter (example: Pod) (can repeat)--filter-kind-name, strings, Set kind-name filter (example: Pod/controller) (can repeat)--filter-kind-ns, strings, Set kind-namespace filter (example: Pod/, Pod/knative-serving) (can repeat)--filter-kind-ns-name, strings, Set kind-namespace-name filter (example: Deployment/knative-serving/controller) (can repeat)--filter-labels, strings, Set label filter (example: x=y)--filter-name, strings, Set name filter (example: controller) (can repeat)--filter-ns, strings, Set namespace filter (example: knative-serving) (can repeat)-h,--help, boolean, help for inspect--managed-fields, boolean Keep the metadata.managedFields when printing objects-n,--namespace, string, Specified namespace ($KAPP_NAMESPACE or default from kubeconfig)--raw, boolean Output raw YAML resource content--status, boolean Output status content-t,--tree, boolean Tree view--tty, boolean Force TTY-like output
list ¶
The kapp list command can be used to list resources present on the cluster.
$ kapp list
Supported flags:
-A,--all-namespaces, boolean, List apps in all namespaces--filter-age, string, Set age filter (example: 5m-, 500h+, 10m-)--filter-labels, strings, Set label filter (example: x=y)-h,--help, boolean, help for list-n,--namespace, string, Specified namespace ($KAPP_NAMESPACE or default from kubeconfig)--tty, boolean, Force TTY-like output
logs ¶
The kapp list command can be used to print app’s pod logs.
# Follow all pod logs in app 'app1'
$ kapp logs -a app1 -f
# Show logs from pods that start with 'web'
$ kapp logs -a app1 -f -m web%
Supported flags:
-a,--app, string, Set app name (or label selector) (format: name, label:key=val, !key)-c,--container-name, strings, Set container name to filter logs (% acts as wildcard, e.g. ‘app%’) (can repeat)--container-tag, boolean, Include container tag (default true)-f,--follow, boolean, As new pods are added, new pod logs will be printed-h,--help, boolean, help for logs--lines, int, Limit to number of lines (use -1 to remove limit) (default 10)-n,--namespace, string, Specified namespace ($KAPP_NAMESPACE or default from kubeconfig)-m,--pod-name, string, Set pod name to filter logs (% acts as wildcard, e.g. ‘app%’)--tty, boolean, Force TTY-like output
delete ¶
The kapp delete command can be used to delete an app from your cluster.
$ kapp delete -a app1
Supported flags:
-a,--app, string, Set app name (or label selector) (format: name, label:key=val, !key)--apply-check-interval, duration, Amount of time to sleep between applies (default 1s)--apply-concurrency, int, Maximum number of concurrent apply operations (default 5)--apply-default-update-strategy, string, Change default update strategy--apply-exit-status, boolean, Return specific exit status based on number of changes--apply-ignored, boolean, Set to apply ignored changes--apply-timeout, duration, Maximum amount of time to wait in apply phase (default 15m0s)--dangerous-disable-gk-scoping, boolean, Disable scoping of resource searching to used GroupKinds--dangerous-ignore-failing-api-services, boolean, Allow to ignore failing APIServices--dangerous-scope-to-fallback-allowed-namespaces, boolean, Scope resource searching to fallback allowed namespaces--diff-against-last-applied, boolean, Show changes against last applied copy when possible (default true)-c,--diff-changes, boolean, Show changes--diff-changes-yaml, boolean, Print YAML to be applied--diff-context, int, Show number of lines around changed lines (default 2)--diff-exit-status, boolean, Return specific exit status based on number of changes--diff-filter, string, Set changes filter (example: {“and”:[{“ops”:[“update”]},{“existingResource”:{“kinds”:[“Deployment”]}]})--diff-line-numbers, boolean, Show line numbers (default true)--diff-mask, boolean, Apply masking rules (default true)--diff-run, boolean, Show diff and exit successfully without any further action--diff-summary, boolean, Show diff summary (default true)--diff-ui-alpha, boolean, Start UI server to inspect changes (alpha feature)--exit-early-on-apply-error, boolean, Exit quickly on apply failure (default true)--exit-early-on-wait-error, boolean, Exit quickly on wait failure (default true)--filter, string, Set filter (example: {“and”:[{“not”:{“resource”:{“kinds”:[“foo%”]}}},{“resource”:{“kinds”:["!foo"]}}]})--filter-age, string, Set age filter (example: 5m-, 500h+, 10m-)--filter-kind, strings, Set kinds filter (example: Pod) (can repeat)--filter-kind-name, strings, Set kind-name filter (example: Pod/controller) (can repeat)--filter-kind-ns, strings, Set kind-namespace filter (example: Pod/, Pod/knative-serving) (can repeat)--filter-kind-ns-name, strings, Set kind-namespace-name filter (example: Deployment/knative-serving/controller) (can repeat)--filter-labels, strings, Set label filter (example: x=y)--filter-name, strings, Set name filter (example: controller) (can repeat)--filter-ns, strings, Set namespace filter (example: knative-serving) (can repeat)-h,--help, boolean, help for delete-n,--namespace, string, Specified namespace ($KAPP_NAMESPACE or default from kubeconfig)--prev-app, string, Set previous app name--tty, boolean, Force TTY-like output (default true)--wait, boolean, Set to wait for changes to be applied (default true)--wait-check-interval, duration, Amount of time to sleep between checks while waiting (default 3s)--wait-concurrency, int, Maximum number of concurrent wait operations (default 5)--wait-ignored, boolean, Set to wait for ignored changes to be applied (default true)--wait-resource-timeout, duration, Maximum amount of time to wait for a resource in wait phase (0s means no timeout)--wait-timeout, duration, Maximum amount of time to wait in wait phase (default 15m0s)
Global Flags ¶
--colorboolean, Set color output (default true)--columnstring, Filter to show only given columns--debugboolean, Include debug output-h,--helpboolean, help for kctrl--jsonboolean, Output as JSON--kube-api-burst, int, Set Kubernetes API client burst limit (default 1000)--kube-api-qpsfloat32, Set Kubernetes API client QPS limit (default 1000)--kubeconfigstring, Path to the kubeconfig file ($KCTRL_KUBECONFIG),--kubeconfig-contextstring, Kubeconfig context override ($KCTRL_KUBECONFIG_CONTEXT)--kubeconfig-yamlstring, Kubeconfig contents as YAML ($KCTRL_KUBECONFIG_YAML)--ttyboolean, Force TTY-like output (default true)-v,--versionboolean, version for kctrl-y,--yes, boolean, Assumes yes for any prompt
Environment variables ¶
Environment Variables:
FORCE_COLOR: set to1to force colors to the printed. Useful to preserve colors when piping output such as inkctrl app list --tty --all-namespaces |& less -R
(Help improve our docs: edit this page on GitHub)
#carvel in Kubernetes Slack