Skip to content
kapp is a simple deployment tool focused on the concept of "Kubernetes application" — a set of resources with the same label
Branch: master
Clone or download
Latest commit 62d58c3 Mar 18, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmd init Mar 15, 2019
docs add docs/ Mar 15, 2019
examples make sure istio/knative examples are exactly same compared to upstream Mar 19, 2019
hack build 0.1.0 binaries Mar 15, 2019
pkg/kapp set version to 0.2.0 Mar 19, 2019
vendor init Mar 15, 2019
.gitignore build 0.1.0 binaries Mar 15, 2019 add Mar 15, 2019
LICENSE init Mar 15, 2019


kapp CLI encourages Kubernetes users to manage resources in bulk by working with "Kubernetes applications" (sets of resources with the same label). It focuses on resource diffing, labeling, deployment and deletion. Unlike tools like Helm, kapp considers YAML templating and management of packages outside of its scope, though it works great with tools that generate Kubernetes configuration.

See for detailed example workflow.


  • Works with standard Kubernetes YAMLs
  • Focuses exclusively on deployment workflow, not packaging or templating
    • but plays well with tools (such as ytt) that produce Kubernetes configuration
  • Converges application resources (creates, updates and/or deletes resources) in each deploy
    • based on comparison between provided files and live objects in the cluster
  • Separates calculation of changes (diff stage) from application of changes (apply stage)
  • Works without admin privileges and does not depend on any custom CRDs
    • making it possible to use kapp as a regular user in a single namespace
  • Records application deployment history
  • Opt-in resource version management
    • for example, to trigger Deployment rollout when ConfigMap changes
  • Works with any group of labeled resources (kapp -a label:tier=web inspect -t)
  • Works without server side components
  • GitOps friendly (kapp app-group deploy -g all-apps --directory .)



./hack/ depends on ytt.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.