# Bootstrap provider {{- if .Values.bootstrap }} {{- $bootstraps := split ";" .Values.bootstrap }} {{- $bootstrapNamespace := "" }} {{- $bootstrapName := "" }} {{- $bootstrapVersion := "" }} {{- range $bootstrap := $bootstraps }} {{- $bootstrapArgs := split ":" $bootstrap }} {{- $bootstrapArgsLen := len $bootstrapArgs }} {{- if eq $bootstrapArgsLen 3 }} {{- $bootstrapNamespace = $bootstrapArgs._0 }} {{- $bootstrapName = $bootstrapArgs._1 }} {{- $bootstrapVersion = $bootstrapArgs._2 }} {{- else if eq $bootstrapArgsLen 2 }} {{- $bootstrapNamespace = print $bootstrapArgs._0 "-bootstrap-system" }} {{- $bootstrapName = $bootstrapArgs._0 }} {{- $bootstrapVersion = $bootstrapArgs._1 }} {{- else if eq $bootstrapArgsLen 1 }} {{- $bootstrapNamespace = print $bootstrapArgs._0 "-bootstrap-system" }} {{- $bootstrapName = $bootstrapArgs._0 }} {{- else }} {{- fail "bootstrap provider argument should have the following format kubeadm:v1.0.0 or mynamespace:kubeadm:v1.0.0" }} {{- end }} --- apiVersion: v1 kind: Namespace metadata: annotations: "helm.sh/hook": "post-install,post-upgrade" "helm.sh/hook-weight": "1" name: {{ $bootstrapNamespace }} --- apiVersion: operator.cluster.x-k8s.io/v1alpha2 kind: BootstrapProvider metadata: name: {{ $bootstrapName }} namespace: {{ $bootstrapNamespace }} annotations: "helm.sh/hook": "post-install,post-upgrade" "helm.sh/hook-weight": "2" {{- if or $bootstrapVersion $.Values.configSecret.name }} spec: {{- end}} {{- if $bootstrapVersion }} version: {{ $bootstrapVersion }} {{- end }} {{- if $.Values.configSecret.name }} configSecret: name: {{ $.Values.configSecret.name }} {{- if $.Values.configSecret.namespace }} namespace: {{ $.Values.configSecret.namespace }} {{- end }} {{- end }} {{- end }} {{- end }}