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
,--app
string, Set app name (or label selector) (format: name, label:key=val, !key)-c
,--diff-changes
boolean, Show changes-f
,--file
, strings, Set file (format: /tmp/foo, https://…, -) (can repeat)-n
,--namespace
string, 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-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)
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 ¶
--color
boolean, Set color output (default true)--column
string, Filter to show only given columns--debug
boolean, Include debug output-h
,--help
boolean, help for kctrl--json
boolean, Output as JSON--kube-api-burst
, int, Set Kubernetes API client burst limit (default 1000)--kube-api-qps
float32, Set Kubernetes API client QPS limit (default 1000)--kubeconfig
string, Path to the kubeconfig file ($KCTRL_KUBECONFIG),--kubeconfig-context
string, Kubeconfig context override ($KCTRL_KUBECONFIG_CONTEXT)--kubeconfig-yaml
string, Kubeconfig contents as YAML ($KCTRL_KUBECONFIG_YAML)--tty
boolean, Force TTY-like output (default true)-v
,--version
boolean, version for kctrl-y
,--yes
, boolean, Assumes yes for any prompt
Environment variables ¶
Environment Variables:
FORCE_COLOR
: set to1
to 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)