Metadata-Version: 2.1
Name: cdk8s_cli
Version: 0.1.0a2
Summary: A simple CLI for cdk8s
Author: Matthew Cane
Author-email: matthew.cane0@gmail.com
Requires-Python: >=3.12,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: cdk8s-plus-30 (>=2.2.5,<3.0.0)
Requires-Dist: kubernetes (>=31.0.0,<32.0.0)
Requires-Dist: rich (>=13.9.1,<14.0.0)
Requires-Dist: ruff (>=0.6.8,<0.7.0)
Description-Content-Type: text/markdown

# CDK8S CLI

**A CLI extension to 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 provides extensions to standard cdk8s object to facilitate application deployments to a cluster without any external tooling using a simple CLI.

## Usage

### Example CLI Usage

#### Synth all apps

```bash
python3 main.py synth --all
```

#### Synth selected apps

```bash
python3 main.py synth --apps dev prod
```

### Options

```text
positional arguments:
  {deploy,synth,list}   The action to perform.

options:
  -h, --help            show this help message and exit
  --apps APPS [APPS ...]
                        the apps to deploy in a space seperated list
  --all                 deploy all apps
  --context 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 deploying.
```

## 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
- [ ] Complete documentation
- [ ] Improve customisation
- [ ] Diff functionality

## Examples

Examples can be run using `poetry run python3 examples/<example>/main.py synth --all`

### [Simple Example](examples/simple)

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

### [Complex Example](examples/complex)

A more complex example with multiple charts and multiple stages.

