feat!: switch from ingress-nginx to traefik
This commit is contained in:
31 files changed
+382
-55
No files matched your search
@@ -1,41 +0,0 @@
|
||||
---
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2beta1
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: ingress-nginx
|
||||
namespace: networking
|
||||
spec:
|
||||
interval: 5m
|
||||
chart:
|
||||
spec:
|
||||
# renovate: registryUrl=https://kubernetes.github.io/ingress-nginx
|
||||
chart: ingress-nginx
|
||||
version: 4.0.1
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: ingress-nginx-charts
|
||||
namespace: flux-system
|
||||
values:
|
||||
controller:
|
||||
ingressClass: nginx
|
||||
replicaCount: 1
|
||||
service:
|
||||
type: LoadBalancer
|
||||
loadBalancerIP: "${INGRESS_NGINX_LB}"
|
||||
externalTrafficPolicy: Local
|
||||
config:
|
||||
ssl-protocols: "TLSv1.3 TLSv1.2"
|
||||
proxy-body-size: "100m"
|
||||
use-forwarded-headers: "true"
|
||||
metrics:
|
||||
enabled: false
|
||||
serviceMonitor:
|
||||
enabled: false
|
||||
extraArgs:
|
||||
default-ssl-certificate: "networking/${SECRET_DOMAIN/./-}-tls"
|
||||
resources:
|
||||
requests:
|
||||
memory: 100Mi
|
||||
cpu: 100m
|
||||
limits:
|
||||
memory: 500Mi
|
||||
@@ -1,5 +1,5 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- ingress-nginx
|
||||
- traefik
|
||||
- wildcard-certificate
|
||||
@@ -0,0 +1,28 @@
|
||||
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: traefik-dashboard
|
||||
namespace: networking
|
||||
annotations:
|
||||
traefik.ingress.kubernetes.io/router.entrypoints: "websecure"
|
||||
hajimari.io/enable: "true"
|
||||
hajimari.io/icon: "web"
|
||||
hajimari.io/appName: "traefik"
|
||||
spec:
|
||||
tls:
|
||||
- hosts:
|
||||
- "traefik.${SECRET_DOMAIN}"
|
||||
secretName: "${SECRET_DOMAIN/./-}-tls"
|
||||
rules:
|
||||
- host: "traefik.${SECRET_DOMAIN}"
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: traefik
|
||||
port:
|
||||
number: 9000
|
||||
@@ -0,0 +1,4 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- ingress.yaml
|
||||
@@ -0,0 +1,85 @@
|
||||
---
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2beta1
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: traefik
|
||||
namespace: networking
|
||||
spec:
|
||||
interval: 5m
|
||||
chart:
|
||||
spec:
|
||||
# renovate: registryUrl=https://helm.traefik.io/traefik
|
||||
chart: traefik
|
||||
version: 10.3.2
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: traefik-charts
|
||||
namespace: flux-system
|
||||
interval: 5m
|
||||
dependsOn:
|
||||
- name: cert-manager
|
||||
namespace: cert-manager
|
||||
values:
|
||||
image:
|
||||
name: ghcr.io/k8s-at-home/traefik
|
||||
deployment:
|
||||
kind: Deployment
|
||||
replicas: 1
|
||||
service:
|
||||
enabled: true
|
||||
type: LoadBalancer
|
||||
spec:
|
||||
loadBalancerIP: "${SVC_TRAEFIK_ADDR}"
|
||||
externalTrafficPolicy: Local
|
||||
logs:
|
||||
general:
|
||||
format: json
|
||||
level: DEBUG
|
||||
access:
|
||||
enabled: true
|
||||
format: json
|
||||
ingressClass:
|
||||
enabled: true
|
||||
isDefaultClass: true
|
||||
fallbackApiVersion: v1
|
||||
ingressRoute:
|
||||
dashboard:
|
||||
enabled: false
|
||||
globalArguments:
|
||||
- "--api.insecure=true"
|
||||
- "--serverstransport.insecureskipverify=true"
|
||||
- "--providers.kubernetesingress.ingressclass=traefik"
|
||||
- "--metrics.prometheus=true"
|
||||
- "--metrics.prometheus.entryPoint=metrics"
|
||||
additionalArguments:
|
||||
- "--providers.kubernetesingress.ingressendpoint.ip=${SVC_TRAEFIK_ADDR}"
|
||||
- "--providers.kubernetescrd.allowexternalnameservices=true"
|
||||
ports:
|
||||
traefik:
|
||||
expose: true
|
||||
web:
|
||||
redirectTo: websecure
|
||||
websecure:
|
||||
tls:
|
||||
enabled: true
|
||||
options: "default"
|
||||
metrics:
|
||||
port: 8082
|
||||
expose: true
|
||||
exposedPort: 8082
|
||||
tlsOptions:
|
||||
default:
|
||||
minVersion: VersionTLS12
|
||||
maxVersion: VersionTLS13
|
||||
sniStrict: true
|
||||
pilot:
|
||||
enabled: false
|
||||
experimental:
|
||||
plugins:
|
||||
enabled: false
|
||||
resources:
|
||||
requests:
|
||||
memory: 100Mi
|
||||
cpu: 500m
|
||||
limits:
|
||||
memory: 500Mi
|
||||
+2
@@ -2,3 +2,5 @@ apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- helm-release.yaml
|
||||
- tls-store
|
||||
- dashboard
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: TLSStore
|
||||
metadata:
|
||||
name: default
|
||||
namespace: networking
|
||||
spec:
|
||||
defaultCertificate:
|
||||
secretName: "${SECRET_DOMAIN/./-}-tls"
|
||||
@@ -0,0 +1,4 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- default.yaml
|
||||
Reference in new issue
Block a user