Skip to content

Commit db6f858

Browse files
committed
feat: implement global wildcard ingress certificate for *.apps.makeitwork.cloud
1 parent ce15da7 commit db6f858

4 files changed

Lines changed: 34 additions & 19 deletions

File tree

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
# Patch default IngressController to use the wildcard certificate
3+
apiVersion: operator.openshift.io/v1
4+
kind: IngressController
5+
metadata:
6+
name: default
7+
namespace: openshift-ingress-operator
8+
annotations:
9+
argocd.argoproj.io/sync-wave: "4"
10+
spec:
11+
defaultCertificate:
12+
name: wildcard-apps-makeitwork-cloud-tls

operators/cert-manager/kustomization.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@ resources:
88
- wildcard-certificate.yaml
99
- openshift-ingress-config.yaml
1010
- apiserver-config.yaml
11+
- ingress-patch.yaml
1112
generators:
1213
- ksops-cert-manager-secrets.yaml

operators/cert-manager/wildcard-certificate.yaml

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,30 @@
11
---
22
# Wildcard certificate for *.apps.makeitwork.cloud
3-
# Created in openshift-config for use by componentRoutes (console, oauth)
4-
# External apps (*.makeitwork.cloud) use Cloudflare Tunnel which handles TLS at the edge
3+
# Created in openshift-ingress for use as default ingress certificate
54
apiVersion: cert-manager.io/v1
65
kind: Certificate
76
metadata:
87
name: wildcard-apps-makeitwork-cloud
8+
namespace: openshift-ingress
9+
annotations:
10+
argocd.argoproj.io/sync-wave: "3"
11+
spec:
12+
secretName: wildcard-apps-makeitwork-cloud-tls
13+
issuerRef:
14+
name: letsencrypt-cloudflare
15+
kind: ClusterIssuer
16+
commonName: "*.apps.makeitwork.cloud"
17+
dnsNames:
18+
- "*.apps.makeitwork.cloud"
19+
# Renew 30 days before expiry
20+
renewBefore: 720h
21+
---
22+
# Wildcard certificate for *.apps.makeitwork.cloud (Copy for openshift-config)
23+
# Required because OpenShift config resources cannot reference secrets in other namespaces
24+
apiVersion: cert-manager.io/v1
25+
kind: Certificate
26+
metadata:
27+
name: wildcard-apps-makeitwork-cloud-config
928
namespace: openshift-config
1029
annotations:
1130
argocd.argoproj.io/sync-wave: "3"

workloads/ollama/ollama.yaml

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -111,20 +111,3 @@ spec:
111111
tls:
112112
termination: edge
113113
insecureEdgeTerminationPolicy: Redirect
114-
certificate: "" # Use default ingress certificate
115-
---
116-
apiVersion: cert-manager.io/v1
117-
kind: Certificate
118-
metadata:
119-
name: ollama-cert
120-
namespace: ollama
121-
annotations:
122-
argocd.argoproj.io/sync-wave: "2"
123-
spec:
124-
secretName: ollama-tls
125-
issuerRef:
126-
name: letsencrypt-cloudflare
127-
kind: ClusterIssuer
128-
commonName: "ollama.apps.makeitwork.cloud"
129-
dnsNames:
130-
- "ollama.apps.makeitwork.cloud"

0 commit comments

Comments
 (0)