diff --git a/add-ons/cert-manager/cluster-issuer-prod.yaml b/add-ons/cert-manager/cluster-issuer-prod.yaml deleted file mode 100644 index c9ae7fb..0000000 --- a/add-ons/cert-manager/cluster-issuer-prod.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: cert-manager.io/v1 -kind: ClusterIssuer -metadata: - name: letsencrypt-production -spec: - acme: - server: https://acme-v02.api.letsencrypt.org/directory - email: whyredfire@gmail.com - privateKeySecretRef: - name: letsencrypt-production - solvers: - - http01: - gatewayHTTPRoute: - parentRefs: - - name: traefik-gateway - namespace: traefik - kind: Gateway diff --git a/add-ons/cert-manager/cluster-issuer-staging.yaml b/add-ons/cert-manager/cluster-issuer-staging.yaml deleted file mode 100644 index bb96abb..0000000 --- a/add-ons/cert-manager/cluster-issuer-staging.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: cert-manager.io/v1 -kind: ClusterIssuer -metadata: - name: letsencrypt-staging -spec: - acme: - server: https://acme-staging-v02.api.letsencrypt.org/directory - email: whyredfire@gmail.com - privateKeySecretRef: - name: letsencrypt-staging - solvers: - - http01: - gatewayHTTPRoute: - parentRefs: - - name: traefik-gateway - namespace: traefik - kind: Gateway diff --git a/add-ons/cert-manager/cluster-issuer.yaml b/add-ons/cert-manager/cluster-issuer.yaml new file mode 100644 index 0000000..6cbe5ed --- /dev/null +++ b/add-ons/cert-manager/cluster-issuer.yaml @@ -0,0 +1,16 @@ +apiVersion: cert-manager.io/v1 +kind: ClusterIssuer +metadata: + name: letsencrypt-prod +spec: + acme: + server: https://acme-v02.api.letsencrypt.org/directory + email: whyredfire@gmail.com + privateKeySecretRef: + name: letsencrypt-prod + solvers: + - dns01: + cloudflare: + apiTokenSecretRef: + name: cloudflare-api-token + key: api-token diff --git a/add-ons/cert-manager/wildcard-whyredfire-dev.yaml b/add-ons/cert-manager/wildcard-whyredfire-dev.yaml new file mode 100644 index 0000000..a82da08 --- /dev/null +++ b/add-ons/cert-manager/wildcard-whyredfire-dev.yaml @@ -0,0 +1,14 @@ +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: wildcard-whyredfire-dev + namespace: traefik +spec: + secretName: wildcard-whyredfire-dev + privateKey: + rotationPolicy: Always + issuerRef: + name: letsencrypt-prod + kind: ClusterIssuer + dnsNames: + - "*.whyredfire.dev" diff --git a/add-ons/cert-manager/wildcard-whyredfire-tech.yaml b/add-ons/cert-manager/wildcard-whyredfire-tech.yaml new file mode 100644 index 0000000..699be04 --- /dev/null +++ b/add-ons/cert-manager/wildcard-whyredfire-tech.yaml @@ -0,0 +1,14 @@ +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: wildcard-whyredfire-tech + namespace: traefik +spec: + secretName: wildcard-whyredfire-tech + privateKey: + rotationPolicy: Always + issuerRef: + name: letsencrypt-prod + kind: ClusterIssuer + dnsNames: + - "*.whyredfire.tech" diff --git a/applications/add-ons/cert-manager.yaml b/applications/add-ons/cert-manager.yaml index 631442c..1c9d436 100644 --- a/applications/add-ons/cert-manager.yaml +++ b/applications/add-ons/cert-manager.yaml @@ -13,6 +13,11 @@ spec: values: | crds: enabled: true + config: + apiVersion: controller.config.cert-manager.io/v1alpha1 + kind: ControllerConfiguration + featureGates: + ExperimentalGatewayAPISupport: true - repoURL: https://gitea.whyredfire.tech/whyredfire/gitops.git targetRevision: main path: add-ons/cert-manager diff --git a/applications/add-ons/traefik.yaml b/applications/add-ons/traefik.yaml index dda42a2..15b2c8e 100644 --- a/applications/add-ons/traefik.yaml +++ b/applications/add-ons/traefik.yaml @@ -25,6 +25,22 @@ spec: web: namespacePolicy: from: All + websecure-dev: + port: 8443 + protocol: HTTPS + namespacePolicy: + from: All + certificateRefs: + - name: wildcard-whyredfire-dev + namespace: traefik + websecure-tech: + port: 8443 + protocol: HTTPS + namespacePolicy: + from: All + certificateRefs: + - name: wildcard-whyredfire-tech + namespace: traefik destination: server: https://kubernetes.default.svc namespace: traefik