Skip to main content

Generic templated configuration management for Kubernetes, Terraform and other things

Project description

Kapitan: Configuration Management for Kubernetes, Terraform, and Infrastructure

Test, Build and Publish docker image Python Version Downloads Docker Pulls Releases Docker Image Size

Kapitan logo

Kapitan is an open source configuration management tool for Kubernetes, Terraform, and complex infrastructure systems. It helps teams generate, organize, reuse, and validate configuration across environments using an inventory-driven model, templates (Jsonnet, Jinja2, Kadet), and integrations with Helm, Kustomize, CUE, and external references.

Kapitan provides native secrets management (GPG, AWS KMS, GCP KMS, Azure Key Vault, HashiCorp Vault) and is designed for Platform Engineering and GitOps workflows.

What is Kapitan?

Kapitan lets you model infrastructure configuration with reusable inventory classes and targets, then compile that data into manifests, scripts, documentation, and Terraform resources. Instead of copying values across Helm values files, Kustomize overlays, and Terraform variables, you define everything once in the Kapitan inventory and let each input type generate the files it needs.

Install Kapitan

Docker (recommended)

docker run -t --rm -v $(pwd):/src:delegated kapicorp/kapitan -h

On Linux you can add -u $(id -u) to docker run to preserve file permissions.

Pip

Kapitan needs Python 3.10 or newer.

Install Python 3

  • Linux: sudo apt-get update && sudo apt-get install -y python3-dev python3-pip python3-yaml git
  • Mac: brew install python3 libyaml git

Install Kapitan

User ($HOME/.local/lib/python3.x/bin on Linux or $HOME/Library/Python/3.x/bin on macOS):

pip3 install --user --upgrade kapitan

System-wide (not recommended):

sudo pip3 install --upgrade kapitan

Build Kapitan

Docker

To build a docker image for the architecture of your machine, run docker build . -t you-kapitan-image, and to build for a specific platform, add --platform linux/arm64.

To build a multi-platform image (as the CI does), follow the docker multi-platform documentation.

To build a docker image using a specific python version, run docker build --build-arg PYTHON_BUILDER_VERSION=<python-version> . -t you-kapitan-image. By default the Dockerfile is pinned using python 3.11 as the python builder version.

Related projects

  • Tesoro - Kubernetes Admission Controller for Kapitan Secrets
  • Kapitan Reference - our reference repository to get started with Kapitan

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kapitan-0.35.2.dev12.tar.gz (4.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kapitan-0.35.2.dev12-py3-none-any.whl (150.7 kB view details)

Uploaded Python 3

File details

Details for the file kapitan-0.35.2.dev12.tar.gz.

File metadata

  • Download URL: kapitan-0.35.2.dev12.tar.gz
  • Upload date:
  • Size: 4.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kapitan-0.35.2.dev12.tar.gz
Algorithm Hash digest
SHA256 180d1ccd1e5500c336a3b0fe42b86633ae5d02c7482ab85d767639665d77bdc7
MD5 53955e6ed3fc10478579160b2c511c63
BLAKE2b-256 5b696e8256d5987d44e51f9ab74a95bc06fade0dfa9352614c83596ee62e84c2

See more details on using hashes here.

File details

Details for the file kapitan-0.35.2.dev12-py3-none-any.whl.

File metadata

  • Download URL: kapitan-0.35.2.dev12-py3-none-any.whl
  • Upload date:
  • Size: 150.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kapitan-0.35.2.dev12-py3-none-any.whl
Algorithm Hash digest
SHA256 30923e6e10da57b0c0c2a2baf69b5b3747dc920b9458912e09c3f9ffd1ad48e3
MD5 cf6551535f7e068f123816c531fe8c44
BLAKE2b-256 5764e1dc4177ab7c28c70f543bba281ed3e344e580a794d251a345f3f90d219c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page