Helm chart to bootstrap a cluster with various resources, tools, etc.
The intended use of this chart is to use it for templating only, using
helm template
, and then use those populated templates in your kubectl apply
command, since Helm doesn't manage some non-namespaced Kubernetes resources like
storageclasses well.
# Populate templates
helm2.9.0 template . --values=your-custom-bootstrap-values.yaml \
--set dockerRegistry.REGISTRY_STORAGE_S3_ACCESSKEY=${REGISTRY_STORAGE_S3_ACCESSKEY} \
--set dockerRegistry.REGISTRY_STORAGE_S3_SECRETKEY=${REGISTRY_STORAGE_S3_SECRETKEY} \
--set dockerRegistry.REGISTRY_STORAGE_S3_BUCKET=${REGISTRY_STORAGE_S3_BUCKET} \
--set dockerRegistry.REGISTRY_HTTP_SECRET=${REGISTRY_HTTP_SECRET} \
--set snapEbs.EBS_SNAP_PASSWORD_ACCESSKEY=${EBS_SNAP_PASSWORD_ACCESSKEY} \
--set snapEbs.EBS_SNAP_PASSWORD_SECRETKEY=${EBS_SNAP_PASSWORD_SECRETKEY} \
--set nodelabel.PROD_READONLY_SA_AWS_DEFAULT_REGION=${PROD_READONLY_SA_AWS_DEFAULT_REGION} \
--set nodelabel.PROD_READONLY_SA_AWS_ACCESS_KEY_ID=${PROD_READONLY_SA_AWS_ACCESS_KEY_ID} \
--set nodelabel.PROD_READONLY_SA_AWS_SECRET_ACCESS_KEY=${PROD_READONLY_SA_AWS_SECRET_ACCESS_KEY} \
> /tmp/populated-bootstrap-templates.yaml
# Review specs
cat /tmp/populated-bootstrap-templates.yaml
# If specs look good, apply them
${KUBE_COMMAND} apply -f /tmp/populated-bootstrap-templates.yaml