diff --git a/charts/apiserver/templates/bin/_anchor.tpl b/charts/apiserver/templates/bin/_anchor.tpl index c7fbb690..e5b6dc21 100644 --- a/charts/apiserver/templates/bin/_anchor.tpl +++ b/charts/apiserver/templates/bin/_anchor.tpl @@ -26,6 +26,8 @@ snapshot_files() { cp "/tmp/etc/{{ $val.file }}" "${SNAPSHOT_DIR}/etc/kubernetes/apiserver/{{ $val.file }}" {{- end }} {{- end }} + # annotate the static manifest with the name of the creating anchor pod + sed -i "/created-by: /s/ANCHOR_POD/${POD_NAME}/" "${SNAPSHOT_DIR}{{ .Values.anchor.kubelet.manifest_path }}/kubernetes-apiserver.yaml" } compare_copy_files() { diff --git a/charts/apiserver/templates/daemonset.yaml b/charts/apiserver/templates/daemonset.yaml index 4ec00a7b..e5024b39 100644 --- a/charts/apiserver/templates/daemonset.yaml +++ b/charts/apiserver/templates/daemonset.yaml @@ -69,6 +69,10 @@ spec: value: /host{{ .Values.anchor.kubelet.manifest_path }}/{{ .Values.service.name }}.yaml - name: PKI_PATH value: /host{{ .Values.apiserver.host_etc_path }}/pki + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name command: ["/bin/sh","-c"] args: ["/tmp/bin/anchor"] lifecycle: @@ -83,6 +87,7 @@ spec: - /bin/bash - -c - |- + grep -q "created-by: ${POD_NAME}" "${MANIFEST_PATH}" || exit 1 if [ ! -f /host{{ .Values.apiserver.host_etc_path }}/pki/apiserver-both.pem ]; then cat /host{{ .Values.apiserver.host_etc_path }}/pki/apiserver-key.pem <(echo) /host{{ .Values.apiserver.host_etc_path }}/pki/apiserver.pem > /host{{ .Values.apiserver.host_etc_path }}/pki/apiserver-both.pem fi diff --git a/charts/apiserver/templates/etc/_kubernetes-apiserver.yaml.tpl b/charts/apiserver/templates/etc/_kubernetes-apiserver.yaml.tpl index c4460ac0..c5eb7269 100644 --- a/charts/apiserver/templates/etc/_kubernetes-apiserver.yaml.tpl +++ b/charts/apiserver/templates/etc/_kubernetes-apiserver.yaml.tpl @@ -66,6 +66,7 @@ metadata: {{ tuple $envAll "kubernetes" "apiserver" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }} annotations: {{ $envAll | include "kubernetes_apiserver.key_annotation" }} + created-by: ANCHOR_POD {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }} {{- dict "envAll" $envAll "podName" "apiserver" "containerNames" (list "apiserver") | include "helm-toolkit.snippets.kubernetes_mandatory_access_control_annotation" | indent 4 }} spec: