carvel-dev/kapp

kapp is a simple deployment tool focused on the concept of "Kubernetes application" — a set of resources with the same label

Go

1,087

1,005 commits

updated Oct 12, 2026

See the code

README

logo

OpenSSF Best Practices

kapp

kapp (pronounced: kap) 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 https://carvel.dev/kapp for detailed example workflow.

Features:

  • 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)
  • Waits for resources to be "ready"
  • Creates CRDs and Namespaces first and supports custom change ordering
  • Works without admin privileges and does not use 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
  • Optionally streams Pod logs during deploy
  • 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 .)

Join the Community and Make Carvel Better

Carvel is better because of our contributors and maintainers. It is because of you that we can bring great software to the community. Please join us during our online community meetings. Details can be found on our Carvel website.

You can chat with us on Kubernetes Slack in the #carvel channel and follow us on Twitter at @carvel_dev.

Check out which organizations are using and contributing to Carvel: Adopter's list

Development

Consult docs/dev.md for build instructions, code structure details.

carvel
cli
continious-delivery
deployment
devops
gitops
go
hacktoberfest
hacktoberfest2021
k8s
kubernetes
kubernetes-deployment

carvel-dev/kapp

kapp is a simple deployment tool focused on the concept of "Kubernetes application" — a set of resources with the same label

Go

1,087

1,005 commits

updated Oct 12, 2026

See the code

README

logo

OpenSSF Best Practices

kapp

kapp (pronounced: kap) 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 https://carvel.dev/kapp for detailed example workflow.

Features:

  • 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)
  • Waits for resources to be "ready"
  • Creates CRDs and Namespaces first and supports custom change ordering
  • Works without admin privileges and does not use 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
  • Optionally streams Pod logs during deploy
  • 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 .)

Join the Community and Make Carvel Better

Carvel is better because of our contributors and maintainers. It is because of you that we can bring great software to the community. Please join us during our online community meetings. Details can be found on our Carvel website.

You can chat with us on Kubernetes Slack in the #carvel channel and follow us on Twitter at @carvel_dev.

Check out which organizations are using and contributing to Carvel: Adopter's list

Development

Consult docs/dev.md for build instructions, code structure details.

carvel
cli
continious-delivery
deployment
devops
gitops
go
hacktoberfest
hacktoberfest2021
k8s
kubernetes
kubernetes-deployment

Project health

Latest release

v0.66.0 · Feb 16, 2026

Releases this year

6

Significant stargazers

Jan-Otto Kröpke

740 followers · starred Jan 2025

Emily Casey

52 followers · starred Dec 2019

Manuel Alejandro de Brito Fontes

521 followers · starred Mar 2020

Hongchao Deng

605 followers · starred Mar 2019