feat(certs): Configuring certs through Cloudlfare using Cert Manager with Traefik

Basically following an example in the [Traefik Helm Chart documentation](https://github.com/traefik/traefik-helm-chart/blob/master/EXAMPLES.md#provide-default-certificate-with-cert-manager-and-cloudflare-dns)
This commit is contained in:
Vegard Stenhjem Hagen
2023-08-29 21:40:42 +02:00
committed by Vegard Hagen
parent fafdac7f04
commit 1b66227424
16 changed files with 61 additions and 49 deletions
-3
View File
@@ -11,6 +11,3 @@ spec:
services:
- name: home-assistant
port: 8123
tls:
store:
name: cloudflare-tls
-2
View File
@@ -11,5 +11,3 @@ spec:
services:
- name: plex
port: 32400
tls:
certResolver: letsencrypt
-3
View File
@@ -11,6 +11,3 @@ spec:
services:
- name: stonegarden
port: web
tls:
store:
name: cloudflare-tls
-4
View File
@@ -27,7 +27,3 @@ spec:
services:
- name: whoami
port: 80
tls:
store:
name: cloudflare-tls
certResolver: letsencrypt
@@ -9,9 +9,6 @@ metadata:
spec:
entryPoints:
- websecure
tls:
store:
name: cloudflare-tls
routes:
{{- if include "service.create" . }}
- match: Host(`{{ .Values.name }}.stonegarden.dev`)
-2
View File
@@ -20,5 +20,3 @@ spec:
- name: argocd-server
port: 80
scheme: h2c
tls:
certResolver: letsencrypt
-2
View File
@@ -21,5 +21,3 @@ spec:
port: 80
middlewares:
- name: traefik-forward-auth
tls:
certResolver: letsencrypt
-2
View File
@@ -25,5 +25,3 @@ spec:
port: 80
middlewares:
- name: traefik-forward-auth
tls:
certResolver: letsencrypt
-2
View File
@@ -33,5 +33,3 @@ spec:
middlewares:
- name: traefik-forward-auth
namespace: kube-system
tls:
certResolver: letsencrypt
-3
View File
@@ -13,6 +13,3 @@ spec:
port: http
middlewares:
- name: traefik-forward-auth
tls:
store:
name: cloudflare-tls
-3
View File
@@ -13,6 +13,3 @@ spec:
port: http
middlewares:
- name: traefik-forward-auth
tls:
store:
name: cloudflare-tls
+13
View File
@@ -0,0 +1,13 @@
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: wildcard-stonegarden-dev
namespace: traefik-system
spec:
secretName: wildcard-stonegarden-dev-tls
dnsNames:
- "stonegarden.dev"
- "*.stonegarden.dev"
issuerRef:
name: cloudflare-issuer
kind: Issuer
+17
View File
@@ -0,0 +1,17 @@
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
name: cloudflare-issuer
namespace: traefik-system
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: [email protected]
privateKeySecretRef:
name: cloudflare-key
solvers:
- dns01:
cloudflare:
apiTokenSecretRef:
name: cloudflare
key: api-token
@@ -0,0 +1,14 @@
apiVersion: bitnami.com/v1alpha1
kind: SealedSecret
metadata:
name: cloudflare-token-cert-manager
namespace: traefik-system
spec:
encryptedData:
api-token: AgAJwhExpbTIdzVFXRdBw4tuKHtVMsUuee8Gewjr4Kft+O/RWJ3Gfe9VHmpHNsBFM0oOsCZ5d69JTVfNrLQ531ig+Ed3KcAaxVfUx/ksvLwNnzKEaKWSLmOLDQdqs9yLPJ01K/rhCGDkO7nciXgo+KOJLWUbOwlS/p0E+IMYuS1lFxURb/mARwBvYUvvLlRRmCy9l56LrqEBCpcoC+8Gh+1rrwh/ccrxDYi6cpTmGcPhSJrfHQiQFcjEIPVcwsane3LBwnytJhFCOf25KIp3GGHsikkSpyOugXxqwl37d1nSRDUA8wVas1oTdqts+ipdWkDxAvkCSRW/VdufnipJSmXNgO5CYqQ+PBW1WBtYoXjGaWCt1g+5o5SHdmogu4zr//UQUZ/by03LDitfNNkONWQ4CnrBDxHb8sS8PZI3yMIEfayAhFeGbmka9w0PcwojlWXDwqK3KdfN+heIDT5xh40uNmE/vPmHs1eAxSxrtbfVpag51gZ32cnJKSizEy8HyV6m8D7SLRCJrM2hcOooQG/74ZukB/BflTyASfcTJZ1bJ4DL8Sv5bMYWQHtrTVvQhtfO7UKcOrc6L3Tp082npngyNRDPBMhDxFdfzxa3VXICxfwBp/CL7XMMNuFlFkhbx7xCrx9SiuUyfemOSLeVlKf+zVZ+ASD6A+TUNVHa6YaTj05WDmkrSArrfvmZQ2l3rd4EZ4uaN44g9zrxW/67ThtlhS4A0HH9cK28vMxaFouBzXz6K2y3dTb2
template:
metadata:
name: cloudflare-token-cert-manager
namespace: traefik-system
type: Opaque
+3 -3
View File
@@ -1,8 +1,8 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TLSStore
metadata:
name: cloudflare-tls
namespace: kube-system
name: cloudflare
namespace: traefik-system
spec:
defaultCertificate:
secretName: cloudflare-tls
+4 -7
View File
@@ -34,10 +34,7 @@ persistence:
storageClass: cert-storage
path: /data
certResolvers:
letsencrypt:
email: [email protected]
tlsChallenge: true
storage: /data/acme.json
# Remove staging server when it's working
#caServer: https://acme-staging-v02.api.letsencrypt.org/directory
tlsStore:
default:
defaultCertificate:
secretName: wildcard-stonegarden-dev-tls