feat: Yall have spoken, wildcard certs are now a thing
Signed-off-by: Devin Buhl <devin@buhl.casa>
This commit is contained in:
17 files changed
+121
-33
No files matched your search
@@ -14,13 +14,17 @@ spec:
|
||||
kind: HelmRepository
|
||||
name: bjw-s
|
||||
namespace: flux-system
|
||||
maxHistory: 3
|
||||
install:
|
||||
createNamespace: true
|
||||
remediation:
|
||||
retries: 3
|
||||
upgrade:
|
||||
cleanupOnFail: true
|
||||
remediation:
|
||||
retries: 3
|
||||
uninstall:
|
||||
keepHistory: false
|
||||
values:
|
||||
controller:
|
||||
type: cronjob
|
||||
|
||||
@@ -14,13 +14,17 @@ spec:
|
||||
kind: HelmRepository
|
||||
name: external-dns
|
||||
namespace: flux-system
|
||||
maxHistory: 3
|
||||
install:
|
||||
createNamespace: true
|
||||
remediation:
|
||||
retries: 3
|
||||
upgrade:
|
||||
cleanupOnFail: true
|
||||
remediation:
|
||||
retries: 3
|
||||
uninstall:
|
||||
keepHistory: false
|
||||
values:
|
||||
interval: 2m
|
||||
# logLevel: debug
|
||||
@@ -43,8 +47,7 @@ spec:
|
||||
sources: ["ingress"]
|
||||
txtPrefix: k8s.
|
||||
txtOwnerId: default
|
||||
domainFilters:
|
||||
- "${SECRET_DOMAIN}"
|
||||
domainFilters: ["${SECRET_DOMAIN}"]
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
podAnnotations:
|
||||
|
||||
@@ -14,17 +14,17 @@ spec:
|
||||
kind: HelmRepository
|
||||
name: ingress-nginx
|
||||
namespace: flux-system
|
||||
interval: 15m
|
||||
maxHistory: 3
|
||||
install:
|
||||
createNamespace: true
|
||||
remediation:
|
||||
retries: 3
|
||||
upgrade:
|
||||
cleanupOnFail: true
|
||||
remediation:
|
||||
retries: 3
|
||||
dependsOn:
|
||||
- name: cert-manager
|
||||
namespace: cert-manager
|
||||
uninstall:
|
||||
keepHistory: false
|
||||
values:
|
||||
controller:
|
||||
extraEnvs:
|
||||
@@ -32,8 +32,7 @@ spec:
|
||||
value: "${TIMEZONE}"
|
||||
service:
|
||||
annotations:
|
||||
metallb.universe.tf/loadBalancerIPs: |-
|
||||
${METALLB_INGRESS_ADDR}
|
||||
metallb.universe.tf/loadBalancerIPs: "${METALLB_INGRESS_ADDR}"
|
||||
externalTrafficPolicy: Local
|
||||
publishService:
|
||||
enabled: true
|
||||
@@ -43,8 +42,7 @@ spec:
|
||||
client-header-timeout: 120
|
||||
client-body-buffer-size: "100M"
|
||||
client-body-timeout: 120
|
||||
custom-http-errors: |-
|
||||
401,403,404,500,501,502,503
|
||||
custom-http-errors: 400,401,403,404,500,502,503,504
|
||||
enable-brotli: "true"
|
||||
forwarded-for-header: "CF-Connecting-IP"
|
||||
hsts-max-age: "31449600"
|
||||
@@ -53,10 +51,21 @@ spec:
|
||||
proxy-body-size: "100M"
|
||||
ssl-protocols: "TLSv1.3 TLSv1.2"
|
||||
use-forwarded-headers: "true"
|
||||
log-format-escape-json: "true"
|
||||
log-format-upstream: >-
|
||||
{"time": "$time_iso8601", "remote_addr": "$proxy_protocol_addr",
|
||||
"x_forwarded_for": "$proxy_add_x_forwarded_for", "request_id": "$req_id",
|
||||
"remote_user": "$remote_user", "bytes_sent": $bytes_sent, "request_time": $request_time,
|
||||
"status": $status, "vhost": "$host", "request_proto": "$server_protocol",
|
||||
"path": "$uri", "request_query": "$args", "request_length": $request_length,
|
||||
"duration": $request_time,"method": "$request_method", "http_referrer": "$http_referer",
|
||||
"http_user_agent": "$http_user_agent"}
|
||||
metrics:
|
||||
enabled: false
|
||||
extraArgs:
|
||||
default-ssl-certificate: "networking/${SECRET_DOMAIN/./-}-production-tls"
|
||||
podAnnotations:
|
||||
configmap.reloader.stakater.com/reload: "cloudflare-networks"
|
||||
configmap.reloader.stakater.com/reload: cloudflare-networks
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: "${SECRET_DOMAIN/./-}-production"
|
||||
namespace: networking
|
||||
spec:
|
||||
secretName: "${SECRET_DOMAIN/./-}-production-tls"
|
||||
issuerRef:
|
||||
name: letsencrypt-production
|
||||
kind: ClusterIssuer
|
||||
commonName: "${SECRET_DOMAIN}"
|
||||
dnsNames:
|
||||
- "${SECRET_DOMAIN}"
|
||||
- "*.${SECRET_DOMAIN}"
|
||||
---
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: "${SECRET_DOMAIN/./-}-staging"
|
||||
namespace: networking
|
||||
spec:
|
||||
secretName: "${SECRET_DOMAIN/./-}-staging-tls"
|
||||
issuerRef:
|
||||
name: letsencrypt-staging
|
||||
kind: ClusterIssuer
|
||||
commonName: "${SECRET_DOMAIN}"
|
||||
dnsNames:
|
||||
- "${SECRET_DOMAIN}"
|
||||
- "*.${SECRET_DOMAIN}"
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- ./certificates.yaml
|
||||
@@ -1,6 +1,26 @@
|
||||
---
|
||||
apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
|
||||
kind: Kustomization
|
||||
metadata:
|
||||
name: cluster-apps-ingress-nginx-certificates
|
||||
namespace: flux-system
|
||||
labels:
|
||||
substitution.flux.home.arpa/enabled: "true"
|
||||
spec:
|
||||
dependsOn:
|
||||
- name: cluster-apps-cert-manager-issuers
|
||||
path: ./kubernetes/apps/networking/ingress-nginx/certificates
|
||||
prune: true
|
||||
sourceRef:
|
||||
kind: GitRepository
|
||||
name: home-kubernetes
|
||||
wait: true
|
||||
interval: 30m
|
||||
retryInterval: 1m
|
||||
timeout: 3m
|
||||
---
|
||||
apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
|
||||
kind: Kustomization
|
||||
metadata:
|
||||
name: cluster-apps-ingress-nginx
|
||||
namespace: flux-system
|
||||
@@ -8,9 +28,7 @@ metadata:
|
||||
substitution.flux.home.arpa/enabled: "true"
|
||||
spec:
|
||||
dependsOn:
|
||||
- name: cluster-apps-cert-manager
|
||||
- name: cluster-apps-cert-manager-issuers
|
||||
- name: cluster-apps-metallb
|
||||
- name: cluster-apps-ingress-nginx-certificates
|
||||
- name: cluster-apps-metallb-config
|
||||
path: ./kubernetes/apps/networking/ingress-nginx/app
|
||||
prune: true
|
||||
|
||||
@@ -14,16 +14,17 @@ spec:
|
||||
kind: HelmRepository
|
||||
name: k8s-gateway
|
||||
namespace: flux-system
|
||||
interval: 15m
|
||||
maxHistory: 3
|
||||
install:
|
||||
createNamespace: true
|
||||
remediation:
|
||||
retries: 5
|
||||
retries: 3
|
||||
upgrade:
|
||||
cleanupOnFail: true
|
||||
remediation:
|
||||
retries: 5
|
||||
dependsOn:
|
||||
- name: metallb
|
||||
retries: 3
|
||||
uninstall:
|
||||
keepHistory: false
|
||||
values:
|
||||
fullnameOverride: k8s-gateway
|
||||
domain: "${SECRET_DOMAIN}"
|
||||
|
||||
@@ -14,13 +14,17 @@ spec:
|
||||
kind: HelmRepository
|
||||
name: metallb
|
||||
namespace: flux-system
|
||||
maxHistory: 3
|
||||
install:
|
||||
createNamespace: true
|
||||
remediation:
|
||||
retries: 3
|
||||
upgrade:
|
||||
cleanupOnFail: true
|
||||
remediation:
|
||||
retries: 3
|
||||
uninstall:
|
||||
keepHistory: false
|
||||
values:
|
||||
crds:
|
||||
enabled: true
|
||||
|
||||
Reference in new issue
Block a user