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.dev14.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.dev14-py3-none-any.whl (150.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kapitan-0.35.2.dev14.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.dev14.tar.gz
Algorithm Hash digest
SHA256 7441978eaef3ef038b70b9de6a769838f49391d2e44089431a3dfb3dfc8a5a9a
MD5 c6d075820517c86c6609fba0d0d6d417
BLAKE2b-256 356b7c741f02a5f5151cf5ccc5ef907ecc8e03ef00e8d7662978e81945b9dede

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kapitan-0.35.2.dev14-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.dev14-py3-none-any.whl
Algorithm Hash digest
SHA256 1bbbc65a286fe74cd67ec9c31b18f61ef0bb170aa9aa33c7d8d63bbf2fd7ac96
MD5 f962ebdd3d61cd0873d1cf8506058b05
BLAKE2b-256 294a72de8d5492872cd708d399500ac9cf748fa3666f602775fa0f01b4b9db3d

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