Warning This package has been archived. Application delivery is now supported by the cartographer-supply-chains in combination with a GitOps controller, such as Carvel or Flux.
A Carvel package providing Cartographer delivery chains to deploy workloads to a Kubernetes cluster based on GitOps or RegistryOps.
-
Kubernetes 1.25+
-
Carvel
kctrl
CLI. -
Carvel kapp-controller deployed in your Kubernetes cluster. You can install it with Carvel
kapp
(recommended choice) orkubectl
.kapp deploy -a kapp-controller -y \ -f https://github.com/carvel-dev/kapp-controller/releases/latest/download/release.yml
Cartographer Delivery requires the Cartographer Blueprints package. You can install it from the Kadras package repository.
Add the Kadras package repository to your Kubernetes cluster:
kctrl package repository add -r kadras-packages \
--url ghcr.io/kadras-io/kadras-packages \
-n kadras-packages --create-namespace
Installation without package repository
The recommended way of installing the Cartographer Delivery package is via the Kadras package repository. If you prefer not using the repository, you can add the package definition directly usingkapp
or kubectl
.
kubectl create namespace kadras-packages
kapp deploy -a cartographer-delivery-package -n kadras-packages -y \
-f https://github.com/kadras-io/cartographer-delivery/releases/latest/download/metadata.yml \
-f https://github.com/kadras-io/cartographer-delivery/releases/latest/download/package.yml
Install the Cartographer Delivery package:
kctrl package install -i cartographer-delivery \
-p cartographer-delivery.packages.kadras.io \
-v ${VERSION} \
-n kadras-packages
Note You can find the
${VERSION}
value by retrieving the list of package versions available in the Kadras package repository installed on your cluster.kctrl package available list -p cartographer-delivery.packages.kadras.io -n kadras-packages
Verify the installed packages and their status:
kctrl package installed list -n kadras-packages
Documentation, tutorials and examples for this package are available in the docs folder. For documentation specific to Cartographer, check out cartographer.sh.
The basic
delivery chain provides a simple Cartographer path consisting of the following stages:
- Monitor configuration source code repository with FluxCD;
- Deploy the workload to Kubernetes with Carvel kapp.
flowchart LR;
A(Monitor Configuration)-->B(Deploy Workload);
The Cartographer Delivery package can be customized via a values.yml
file.
delivery_chain: basic
Reference the values.yml
file from the kctrl
command when installing or upgrading the package.
kctrl package install -i cartographer-delivery \
-p cartographer-delivery.packages.kadras.io \
-v ${VERSION} \
-n kadras-packages \
--values-file values.yml
The Cartographer Delivery package has the following configurable properties.
Configurable properties
Config | Default | Description |
---|---|---|
delivery_chain |
basic |
The type of delivery chain to use when deploying workloads. Options: basic . |
service_account |
default |
The default ServiceAccount used by the delivery chain. |
git_credentials_secret |
"" |
The Secret containing authentication credentials for Git repositories. |
The security process for reporting vulnerabilities is described in SECURITY.md.
This project is licensed under the Apache License 2.0. See LICENSE for more information.
This package is inspired by:
- the examples in the Cartographer project;
- the original cartographer-catalog package used in Tanzu Community Edition before its retirement;
- the set of delivery chains included in an example of Tanzu Application Platform OSS stack.
- the set of delivery chains included in the playground for Tanzu Application Platform.