Index
Managed environments for an app
version: 0.14.1
.options: &options
wait: true
namespace: test
releases:
- name: app
chart:
name: charts/backend
<<: *options
tags:
- app
- product
values:
# all products & all envs
- values/product/_/_.yml
# all products & an env
- values/product/_/{{ requiredEnv "CI_ENVIRONMENT" }}.yml
# a product & all envs
- values/product/app/_.yml
# a product & an env
- values/product/app/{{ requiredEnv "CI_ENVIRONMENT" }}.yml
This example does something similar to this
export CI_ENVIRONMENT=stage
helm upgrade --install app charts/backend \
--namespace test --wait \
-f values/product/_/_.yml \
-f values/product/_/$CI_ENVIRONMENT.yml \
-f values/product/app/_.yml \
-f values/product/app/$CI_ENVIRONMENT.yml
How to use secret manager?
Step 1. Create next secret
aws secretsmanager create-secret --name hello/foobar --secret-string '{"foo":"bar"}'
Step 2. Create helmwave.yml
repositories:
- name: bitnami
url: https://charts.bitnami.com/bitnami
template:
gomplate:
enabled: true
data:
sources:
secret:
url:
scheme: aws+sm
path: 'hello/foobar'
releases:
- name: app
chart:
name: bitnami/nginx
namespace: test
values:
- vaules-secret.yaml
Step 3. Create vaules-secret.yaml
secret: {{ datasource "secret" }}
Step 4. Run helmwave build
You will get secret: {"foo":"bar"}