Skip to content

Commit 381dbe4

Browse files
author
CodingWizKid
committed
extend readme
1 parent 3f2ca3c commit 381dbe4

File tree

1 file changed

+60
-15
lines changed

1 file changed

+60
-15
lines changed

README.md

Lines changed: 60 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
[![GoTemplate](https://img.shields.io/badge/go/template-black?logo=go)](https://github.com/golang-standards/project-layout)
33
[![Go](https://img.shields.io/badge/go-1.21.0-blue?logo=go)](https://golang.org/)
44
[![Helm](https://img.shields.io/badge/helm-3.12.3-blue?logo=helm)](https://helm.sh/)
5-
[![Kubernetes](https://img.shields.io/badge/kubernetes-1.28.0-blue?logo=kubernetes)](https://kubernetes.io/)
6-
[![Cert Manager](https://img.shields.io/badge/cert--manager-1.12.3-blue?logo=cert-manager)](https://cert-manager.io/)
5+
[![Kubernetes](https://img.shields.io/badge/kubernetes-1.26.0-blue?logo=kubernetes)](https://kubernetes.io/)
6+
[![Cert Manager](https://img.shields.io/badge/cert--manager-1.11.0-blue?logo=cert-manager)](https://cert-manager.io/)
77
[![Releases](https://img.shields.io/github/v/release/stackitcloud/stackit-cert-manager-webhook?include_prereleases)](https://github.com/stackitcloud/stackit-cert-manager-webhook/releases)
8-
[![CI](https://github.com/stackitcloud/stackit-api-manager-cli/actions/workflows/main.yml/badge.svg)](https://github.com/stackitcloud/stackit-cert-manager-webhook/actions/workflows/main.yml)
8+
[![CI](https://github.com/stackitcloud/stackit-cert-manager-webhook/actions/workflows/main.yml/badge.svg)](https://github.com/stackitcloud/stackit-cert-manager-webhook/actions/workflows/main.yml)
99
[![Semgrep](https://github.com/stackitcloud/stackit-api-manager-cli/actions/workflows/semgrep.yml/badge.svg)](https://github.com/stackitcloud/stackit-cert-manager-webhook/actions/workflows/semgrep.yml)
10-
[![Go Report Card](https://goreportcard.com/badge/github.com/stackitcloud/stackit-api-manager-cli)](https://goreportcard.com/report/github.com/stackitcloud/stackit-cert-manager-webhook)
10+
[![Go Report Card](https://goreportcard.com/badge/github.com/stackitcloud/stackit-cert-manager-webhook)](https://goreportcard.com/report/github.com/stackitcloud/stackit-cert-manager-webhook)
1111

1212
Facilitate a webhook integration for leveraging the STACKIT DNS alongside
1313
its [API](https://docs.api.stackit.cloud/documentation/dns/version/v1) to act as a DNS01
@@ -43,11 +43,11 @@ For scenarios wherein zones and record sets are encapsulated within a singular p
4343
name: letsencrypt-prod
4444
solvers:
4545
- dns01:
46-
webhook:
47-
solverName: stackit
48-
groupName: stackit.de
49-
config:
50-
projectId: <STACKIT PROJECT ID>
46+
webhook:
47+
solverName: stackit
48+
groupName: stackit.de
49+
config:
50+
projectId: <STACKIT PROJECT ID>
5151
```
5252

5353
For diverse project architectures where zones are spread across varying projects, necessitating distinct
@@ -72,15 +72,60 @@ For scenarios wherein zones and record sets are encapsulated within a singular p
7272
name: letsencrypt-prod
7373
solvers:
7474
- dns01:
75-
webhook:
76-
solverName: stackit
77-
groupName: stackit.de
78-
config:
79-
projectId: <STACKIT PROJECT ID>
80-
authTokenSecretNamespace: default
75+
webhook:
76+
solverName: stackit
77+
groupName: stackit.de
78+
config:
79+
projectId: <STACKIT PROJECT ID>
80+
authTokenSecretNamespace: default
8181
```
8282
*Note:* Ensure the creation of an authentication token secret within the namespace linked to the issuer.
8383
The secret must be vested with permissions to access zones in the stipulated project configuration.
84+
3. ***Demonstration of Ingress Integration with Wildcard SSL/TLS Certificate Generation***
85+
Given the preceding configuration, it is possible to exploit the capabilities of the Issuer or ClusterIssuer to
86+
dynamically produce wildcard SSL/TLS certificates in the following manner:
87+
```yaml
88+
apiVersion: cert-manager.io/v1
89+
kind: Certificate
90+
metadata:
91+
name: wildcard-example
92+
namespace: default
93+
spec:
94+
secretName: wildcard-example-tls
95+
issuerRef:
96+
name: letsencrypt-prod
97+
kind: Issuer
98+
commonName: '*.example.runs.onstackit.cloud' # project must be the owner of this zone
99+
duration: 8760h0m0s
100+
dnsNames:
101+
- example.runs.onstackit.cloud
102+
- '*.example.runs.onstackit.cloud'
103+
---
104+
apiVersion: networking.k8s.io/v1
105+
kind: Ingress
106+
metadata:
107+
name: app-ingress
108+
namespace: default
109+
annotations:
110+
ingress.kubernetes.io/rewrite-target: /
111+
kubernetes.io/ingress.class: "nginx"
112+
spec:
113+
rules:
114+
- host: "app.example.runs.onstackit.cloud"
115+
http:
116+
paths:
117+
- path: /
118+
pathType: Prefix
119+
backend:
120+
service:
121+
name: webapp
122+
port:
123+
number: 80
124+
tls:
125+
- hosts:
126+
- "app.example.runs.onstackit.cloud"
127+
secretName: wildcard-example-tls
128+
```
84129

85130
## Test Procedures
86131
- Unit Testing:

0 commit comments

Comments
 (0)