Table of Contents

Carvel

Carvel is an open-source project that offers a collection of reliable, single-purpose, and composable tools designed to streamline the building, configuration, and deployment of applications on Kubernetes. These tools are intended to simplify various aspects of the Kubernetes workflow, from templating and packaging to deployment and management, making it easier for developers and operators to work with Kubernetes resources.

Key Features

Benefits

Code Examples

1. **Templating with `ytt`:**

```bash ytt -f config.yaml -f values.yaml > output.yaml ```

This command uses `ytt` to template the `config.yaml` file with values from `values.yaml`, producing the final Kubernetes manifest in `output.yaml`.

2. **Deploying with `kapp`:**

```bash kapp deploy -a my-app -f manifests/ ```

This command uses `kapp` to deploy the Kubernetes resources defined in the `manifests/` directory as a single application named “my-app.”

3. **Building Images with `kbld`:**

```bash kbld -f deployment.yaml –imgpkg-lock-output image-locks.yaml ```

This command uses `kbld` to build or reference container images within the `deployment.yaml` file and generates an `image-locks.yaml` file that captures the exact image digests used, promoting immutability.

Additional Resources