Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

CDK8S CLI

A CLI helper for cdk8s.

This is a work-in-progress project with no promise of continued support or development. This is not sutable for production applications.

Features

This project provides a simple CLI to help with applying cdk8s charts.

Usage

# Import the dependencies
from cdk8s_cli.cdk8s_cli import cdk8s_cli
from cdk8s import App, Chart

class ApplicationChart(Chart):
  # Define cdk8s chart here
  ...

# Construct your Apps and charts as you normally would:
app = App()
ApplicationChart(app, "chart-name")

# Then call the CLI with:
cdk8s_cli(app, name="my-app")

That's it! You can now run your application with the desired flags

> python3 my-app.py apply
Resources synthed to /Users/exampleuser/project/my-project/dist
Deploy resources? [y/N]: y
Resource simple-cdk8s-chart-c81aeaa7                    applied.
Resource simple-cdk8s-chart-deployment-c83ea641         applied in namespace simple-cdk8s-chart-c81aeaa7.
Resource simple-cdk8s-chart-deployment-service-c8f17013 applied in namespace simple-cdk8s-chart-c81aeaa7.
Apply complete

Example CLI Usage

Synth all apps

python3 main.py synth

Deploy all apps

python3 main.py deploy

Deploy selected apps

python3 main.py deploy --apps dev prod

Options

positional arguments:
  {synth,apply}         the action to perform. synth will synth the resources to the output directory. apply will apply the resources to the Kubernetes cluster

options:
  -h, --help            show this help message and exit
  --apps APPS [APPS ...]
                        the apps to apply. Defaults to all apps. If supplied, apps not in this list will be skipped
  --kube-context KUBE_CONTEXT
                        the Kubernetes context to use. Defaults to minikube
  --kube-config-file KUBE_CONFIG_FILE
                        the path to a kubeconfig file
  --verbose             enable verbose output
  --unattended          enable unattended mode. This will not prompt for confirmation before applying
  --debug               enable debug mode. This will print debug information
  --validate            experimental feature. Will enable validation mode. This will wait for resources to report ready before exiting
  --validate-timeout-minutes VALIDATE_TIMEOUT_MINUTES
                        the number of minutes to wait for resources to report ready before timing out. Needs --validate to be set

Development

This project is built using:

  • Poetry as the package manager
  • Ruff for formatting and linting

Features to be implemented

  • Unit tests
  • End-to-end tests
    • Use the example projects for this
  • Complete documentation
  • Improve customisation
    • More inputs, more flexability
  • Diff functionality
    • Similar to kubectl diff
  • Destroy functionality
    • Similar to kubectl delete
  • List functionality
    • List all resources in an app
    • Useful, hierarchical view

Examples

Examples can be run using poetry run python3 examples/<example>/<example>.py synth

Simple Example

Link

A very basic example containing a chart with a few simple resources in a single file deployed as a single stage.

Complex Example

Link

A more complex example with multiple charts and multiple stages.

Jobs Example

Link

An example job runner that executes Python scripts from a directory of scripts as jobs.

Metadata

Release files for cdk8s-cli 0.1.0a7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cdk8s-cli 0.1.0a7
File Size Uploaded
cdk8s_cli-0.1.0a7.tar.gz 6.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cdk8s-cli 0.1.0a7
File Interpreter ABI Platform
cdk8s_cli-0.1.0a7-py3-none-any.whl Python 3 none any Details

Total release size: 18.3 kB

Release files / cdk8s_cli-0.1.0a7.tar.gz

Download URL cdk8s_cli-0.1.0a7.tar.gz
Size 6.8 kB
Tags Source
SHA-256 checksum
How to use checksums
a9ab53651ff9c5a14a457a456964643c52bc275ed36bbd81a44387282c446a68
BLAKE2b-256 checksum
How to use checksums
88aa16f3bed7f3d9976f32793d997090c83a83f7c17c894780c69e1a296847a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 12, 2025.

Transparency log

Release files / cdk8s_cli-0.1.0a7-py3-none-any.whl

Download URL cdk8s_cli-0.1.0a7-py3-none-any.whl
Size 11.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c35d876f1147e62c6344e4f6725784c35c145d6aded1c4a05af8ca7a8144f0c8
BLAKE2b-256 checksum
How to use checksums
33a4b48900c52eddd6556bce34ad329b7d573415e119800c86eb471ad66ca741
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 12, 2025.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page