@@ -22,17 +22,11 @@ helm install stackit-cert-manager-webhook --namespace cert-manager stackit-cert-
2222
2323## Usage
2424
25- 1 . *** Initiation of STACKIT Authentication Token Secret:***
25+ 1 . *** Initiation of STACKIT Service Account Secret:***
2626 ``` bash
2727 kubectl create secret generic stackit-sa-authentication \
2828 -n cert-manager \
29- --from-literal=auth-token=< STACKIT AUTH TOKEN>
30- ```
31- Or alternatively we can utilize the STACKIT service account path authentication:
32- ```
33- kubectl create secret generic stackit-sa-authentication \
34- -n cert-manager \
35- --from-literal=sa.json=' {
29+ --from-literal=sa.json=' {
3630 "id": "4e1fe486-b463-4bcd-9210-288854268e34",
3731 "publicKey": "-----BEGIN PUBLIC KEY-----\nPUBLIC_KEY\n-----END PUBLIC KEY-----",
3832 "createdAt": "2024-04-02T13:12:17.678+00:00",
@@ -80,14 +74,7 @@ helm install stackit-cert-manager-webhook --namespace cert-manager stackit-cert-
8074 projectId: <STACKIT PROJECT ID>
8175 ` ` `
8276
83- For diverse project architectures where zones are spread across varying projects, necessitating distinct
84- authentication tokens per project, the Issuer configuration becomes pertinent. This approach inherently
85- tethers namespaces to individual projects.
86- ` ` ` bash
87- kubectl create secret generic stackit-cert-manager-webhook \
88- --namespace=default \
89- --from-literal=auth-token=< STACKIT AUTH TOKEN>
90- ` ` `
77+ For diverse project architectures where zones are spread across varying projects, use an Issuer (namespaces are separate):
9178 ` ` ` yaml
9279 apiVersion: cert-manager.io/v1
9380 kind: Issuer
@@ -107,10 +94,9 @@ helm install stackit-cert-manager-webhook --namespace cert-manager stackit-cert-
10794 groupName: acme.stackit.de
10895 config:
10996 projectId: <STACKIT PROJECT ID>
110- authTokenSecretNamespace: default
11197 ` ` `
112- * Note:* Ensure the creation of an authentication token secret within the namespace linked to the issuer.
113- The secret must be vested with permissions to access zones in the stipulated project configuration.
98+ * Note:* Ensure your service account secret (sa.json) is created in the namespace linked to the issuer so the webhook can access the project resources .
99+
1141003. *** Demonstration of Ingress Integration with Wildcard SSL/TLS Certificate Generation***
115101 Given the preceding configuration, it is possible to exploit the capabilities of the Issuer or ClusterIssuer to
116102 dynamically produce wildcard SSL/TLS certificates in the following manner:
@@ -181,20 +167,13 @@ spec:
181167 config:
182168 projectId: string
183169 apiBasePath: string
184- authTokenSecretRef: string
185- authTokenSecretKey: string
186- authTokenSecretNamespace: string
187170 serviceAccountKeyPath: string
188171 serviceAccountBaseUrl: string
189172 acmeTxtRecordTTL: int64
190173` ` `
191174
192175- projectId: The unique identifier for the STACKIT project.
193176- apiBasePath: The base path for the STACKIT DNS API. (Default: https://dns.api.stackit.cloud)
194- - authTokenSecretRef: The reference to the secret containing the STACKIT authentication token. (Default:
195- stackit-cert-manager-webhook)
196- - authTokenSecretKey: The key within the secret containing the STACKIT authentication token. (Default: auth-token)
197- - authTokenSecretNamespace: The namespace of the secret containing the STACKIT authentication token. (Default: cert-manager)
198177- serviceAccountKeyPath: The path to the service account key file. The file must be mounted into the container.
199178- serviceAccountBaseUrl: The base URL for the STACKIT service account API. (Default: https://service-account.api.stackit.cloud/token)
200179- acmeTxtRecordTTL: The TTL for the ACME TXT record. (Default: 600)
0 commit comments