Skip to content

Commit 9f38ed7

Browse files
salt: add authorityKeyIdentifier to leaf cert states
Add `authorityKeyIdentifier: keyid` to all 13 leaf certificate `x509.certificate_managed` states so that Salt detects the missing extension on existing certs and re-issues them during upgrade. The signing policies alone (in pillar) control what extensions are stamped on new certs, but Salt does not compare signing policy extensions against existing certs. Adding the extension in the state itself triggers the diff detection needed for upgrade. Closes: MK8S-201
1 parent 5d0dbef commit 9f38ed7

File tree

13 files changed

+13
-0
lines changed

13 files changed

+13
-0
lines changed

salt/metalk8s/addons/dex/certs/server.sls

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ Generate Dex server certificate:
4545
- signing_policy: {{ dex.cert.server_signing_policy }}
4646
- CN: dex-server
4747
- subjectAltName: "{{ salt['metalk8s.format_san'](certSANs | unique) }}"
48+
- authorityKeyIdentifier: keyid
4849
- days_valid: {{
4950
certificates.server.files.dex.days_valid |
5051
default(certificates.server.days_valid) }}

salt/metalk8s/addons/nginx-ingress-control-plane/certs/server.sls

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ Generate Control-Plane Ingress server certificate:
4545
- signing_policy: {{ nginx_ingress.cert.server_signing_policy }}
4646
- CN: nginx-ingress-control-plane-server
4747
- subjectAltName: "{{ salt['metalk8s.format_san'](certSANs | unique) }}"
48+
- authorityKeyIdentifier: keyid
4849
- days_valid: {{
4950
certificates.server.files['control-plane-ingress'].days_valid |
5051
default(certificates.server.days_valid) }}

salt/metalk8s/addons/nginx-ingress/certs/server.sls

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ Generate Workload-Plane Ingress server certificate:
4141
- signing_policy: {{ nginx_ingress.cert.server_signing_policy }}
4242
- CN: nginx-ingress-workload-plane-server
4343
- subjectAltName: "{{ salt['metalk8s.format_san'](certSANs | unique) }}"
44+
- authorityKeyIdentifier: keyid
4445
- days_valid: {{
4546
certificates.server.files['workload-plane-ingress'].days_valid |
4647
default(certificates.server.days_valid) }}

salt/metalk8s/backup/certs/server.sls

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ Generate backup server certificate:
3535
- signing_policy: {{ backup_server.cert.server_signing_policy }}
3636
- CN: backup
3737
- subjectAltName: "{{ salt['metalk8s.format_san'](certSANs | unique) }}"
38+
- authorityKeyIdentifier: keyid
3839
- days_valid: {{
3940
certificates.server.files["backup-server"].days_valid |
4041
default(certificates.server.days_valid) }}

salt/metalk8s/kubernetes/apiserver/certs/etcd-client.sls

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ Generate apiserver etcd client certificate:
2929
- signing_policy: {{ etcd.cert.apiserver_client_signing_policy }}
3030
- CN: kube-apiserver-etcd-client
3131
- O: "system:masters"
32+
- authorityKeyIdentifier: keyid
3233
- days_valid: {{
3334
certificates.client.files['apiserver-etcd'].days_valid |
3435
default(certificates.client.days_valid) }}

salt/metalk8s/kubernetes/apiserver/certs/front-proxy-client.sls

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ Generate front proxy client certificate:
2828
- ca_server: {{ pillar['metalk8s']['ca']['minion'] }}
2929
- signing_policy: {{ front_proxy.cert.client_signing_policy }}
3030
- CN: front-proxy-client
31+
- authorityKeyIdentifier: keyid
3132
- days_valid: {{
3233
certificates.client.files['front-proxy'].days_valid |
3334
default(certificates.client.days_valid) }}

salt/metalk8s/kubernetes/apiserver/certs/kubelet-client.sls

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ Generate kube-apiserver kubelet client certificate:
2929
- signing_policy: {{ kube_api.cert.client_signing_policy }}
3030
- CN: kube-apiserver-kubelet-client
3131
- O: "system:masters"
32+
- authorityKeyIdentifier: keyid
3233
- days_valid: {{
3334
certificates.client.files['apiserver-kubelet'].days_valid |
3435
default(certificates.client.days_valid) }}

salt/metalk8s/kubernetes/apiserver/certs/server.sls

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ Generate kube-apiserver certificate:
4343
- signing_policy: {{ kube_api.cert.server_signing_policy }}
4444
- CN: kube-apiserver
4545
- subjectAltName: "{{ salt['metalk8s.format_san'](certSANs | unique) }}"
46+
- authorityKeyIdentifier: keyid
4647
- days_valid: {{
4748
certificates.server.files.apiserver.days_valid |
4849
default(certificates.server.days_valid) }}

salt/metalk8s/kubernetes/etcd/certs/healthcheck-client.sls

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ Generate etcd healthcheck client certificate:
2929
- signing_policy: {{ etcd.cert.healthcheck_client_signing_policy }}
3030
- CN: kube-etcd-healthcheck-client
3131
- O: "system:masters"
32+
- authorityKeyIdentifier: keyid
3233
- days_valid: {{
3334
certificates.client.files['etcd-healthcheck'].days_valid |
3435
default(certificates.client.days_valid) }}

salt/metalk8s/kubernetes/etcd/certs/peer.sls

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ Generate etcd peer certificate:
2929
- signing_policy: {{ etcd.cert.peer_signing_policy }}
3030
- CN: "{{ grains['fqdn'] }}"
3131
- subjectAltName: "DNS:{{ grains['fqdn'] }}, DNS:localhost, IP:{{ grains['metalk8s']['control_plane_ip'] }}, IP:127.0.0.1"
32+
- authorityKeyIdentifier: keyid
3233
- days_valid: {{
3334
certificates.server.files['etcd-peer'].days_valid |
3435
default(certificates.server.days_valid) }}

0 commit comments

Comments
 (0)