Skip to content

Commit 392bf00

Browse files
authored
Structured authentication for Garden kube-apiserver (#517)
1 parent d744e99 commit 392bf00

File tree

3 files changed

+29
-8
lines changed

3 files changed

+29
-8
lines changed

control-plane/roles/gardener-operator/defaults/main/virtual_garden.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,5 @@ gardener_operator_virtual_garden_oidc_groups_prefix:
1212
gardener_operator_virtual_garden_oidc_ca:
1313

1414
gardener_operator_expose_virtual_garden_through_ingress_nginx: false
15+
16+
gardener_operator_virtual_garden_api_server_structured_authentication:

control-plane/roles/gardener-operator/tasks/operator.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,21 @@
2929
label: "{{ provider.name }}"
3030
no_log: yes
3131

32+
- name: Create kube-apiserver authentication configmap
33+
k8s:
34+
definition:
35+
apiVersion: v1
36+
kind: ConfigMap
37+
metadata:
38+
name: authentication-config
39+
namespace: garden
40+
data:
41+
config.yaml: |-
42+
{{ gardener_operator_virtual_garden_api_server_structured_authentication }}
43+
apply: yes
44+
when: gardener_operator_virtual_garden_api_server_structured_authentication
45+
no_log: yes
46+
3247
- name: Deploy Gardener Operator
3348
include_role:
3449
name: ansible-common/roles/helm-chart

control-plane/roles/gardener-operator/templates/garden.yaml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -89,33 +89,37 @@ spec:
8989
kubernetes:
9090
version: {{ gardener_virtual_garden_api_server_version }}
9191
kubeAPIServer:
92+
{% if gardener_operator_virtual_garden_api_server_structured_authentication %}
93+
structuredAuthentication:
94+
configMapName: authentication-config
95+
{% endif %}
9296
# eventTTL: 1h
9397
# featureGates:
9498
# SomeKubernetesFeature: true
9599
# runtimeConfig:
96100
# scheduling.k8s.io/v1alpha1: true
97101
oidcConfig:
98102
{% if gardener_operator_virtual_garden_oidc_issuer_url %}
99-
issuerURL: {{ gardener_operator_virtual_garden_oidc_issuer_url }}
103+
issuerURL: {{ gardener_operator_virtual_garden_oidc_issuer_url }}
100104
{% endif %}
101105
{% if gardener_operator_virtual_garden_oidc_client_id %}
102-
clientID: {{ gardener_operator_virtual_garden_oidc_client_id }}
106+
clientID: {{ gardener_operator_virtual_garden_oidc_client_id }}
103107
{% endif %}
104108
{% if gardener_operator_virtual_garden_oidc_username_claim %}
105-
usernameClaim: {{ gardener_operator_virtual_garden_oidc_username_claim }}
109+
usernameClaim: {{ gardener_operator_virtual_garden_oidc_username_claim }}
106110
{% endif %}
107111
{% if gardener_operator_virtual_garden_oidc_username_prefix %}
108-
usernamePrefix: "{{ gardener_operator_virtual_garden_oidc_username_prefix }}"
112+
usernamePrefix: "{{ gardener_operator_virtual_garden_oidc_username_prefix }}"
109113
{% endif %}
110114
{% if gardener_operator_virtual_garden_oidc_groups_claim %}
111-
groupsClaim: {{ gardener_operator_virtual_garden_oidc_groups_claim }}
115+
groupsClaim: {{ gardener_operator_virtual_garden_oidc_groups_claim }}
112116
{% endif %}
113117
{% if gardener_operator_virtual_garden_oidc_groups_prefix %}
114-
groupsPrefix: "{{ gardener_operator_virtual_garden_oidc_groups_prefix }}"
118+
groupsPrefix: "{{ gardener_operator_virtual_garden_oidc_groups_prefix }}"
115119
{% endif %}
116120
{% if gardener_operator_virtual_garden_oidc_ca %}
117-
caBundle: |
118-
{{ gardener_operator_virtual_garden_oidc_ca | indent(width=12, first=false) }}
121+
caBundle: |
122+
{{ gardener_operator_virtual_garden_oidc_ca | indent(width=14, first=false) }}
119123
{% endif %}
120124
# clientID: client-id
121125
# signingAlgs: # See https://datatracker.ietf.org/doc/html/rfc7518#section-3.1 for the list of valid algorithms

0 commit comments

Comments
 (0)