Sample pipeline
Considering the following vars.yml
:
---
packages:
- name: foobar
kind: application
klifter will expect a folder applications/foobar
to exist, containing all
the Kubernetes resources that are part of the application to be deployed.
Generate applications
Applications can be generated with ytt
or helm template
.
For example, write the following YAML to vars.yml
:
---
tools:
- vault
- helm
packages:
- name: generate-foobar
kind: bundle
- name: foobar
kind: applications
environment:
- VAULT_TOKEN
And create the following tree:
|-- charts/
| |-- foobar-chart/
| |-- ...
|-- bundles/
| |-- generate-foobar/
| |-- 10-helm-template.sh
|-- applications/
| |-- foobar/
| |-- .gitkeep
|-- vars.yml
Write to the bundles/generate-foobar/10-helm-template.sh
script the
following:
#!/bin/bash
set -eux
VAULT="vault read secret/foobar-values -format yaml"
HELM="helm template foobar ./charts/foobar-chart -n foobar-system -f -"
$VAULT | $HELM > ./applications/foobar/manifest.yml