I have a kind: Namespace
template yaml like follows,
apiVersion: v1
kind: Namespace
metadata:
name: {{ .Values.namespace }}
namespace: ""
How do I make helm install
create the above-given namespace ({{ .Values.namespace }}
) if and only if above namespace ({{ .Values.namespace }}
) doesn't exits in the pointed kubernets cluster
For helm2 it's best to avoiding creating the namespace as part of your chart content if at all possible and letting helm manage it. helm install
with the --namespace=<namespace_name>
option should create a namespace for you automatically. You can reference that namespace in your chart with {{ .Release.Namespace }}
. There's currently only one example of creating a namespace in the public helm/charts repo and it uses a manual flag for checking whether to create it
For helm3 functionality has changed and there's a github issue on this
This feature is implemented in helm >= 3.2 (Pull Request)
Use --create-namespace
in addition to --namespace <namespace>