infra/home/cluster-380/system/traefik-config.yaml
2025-09-18 16:08:26 -05:00

95 lines
No EOL
1.8 KiB
YAML

---
# Traefik configuration for automatic SSL
apiVersion: v1
kind: ConfigMap
metadata:
name: traefik-config
namespace: kube-system
data:
traefik.yaml: |
global:
checkNewVersion: false
sendAnonymousUsage: false
api:
dashboard: true
debug: false
entryPoints:
web:
address: ":80"
http:
redirections:
entrypoint:
to: websecure
scheme: https
websecure:
address: ":443"
ssh-forgejo:
address: ":2222/tcp"
providers:
kubernetesIngress:
allowCrossNamespace: true
publishedService:
enabled: true
name: "kube-system/traefik"
kubernetesCRD:
allowCrossNamespace: true
certificatesResolvers:
letsencrypt:
acme:
email: postmaster@w5isp.com
storage: /data/acme.json
httpChallenge:
entryPoint: web
log:
level: INFO
---
# HelmChartConfig to apply Traefik configuration
apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
name: traefik
namespace: kube-system
spec:
valuesContent: |-
deployment:
kind: DaemonSet
service:
type: LoadBalancer
spec:
loadBalancerIP: 204.110.191.200
ports:
web:
port: 80
expose: true
exposedPort: 80
protocol: TCP
websecure:
port: 443
expose: true
exposedPort: 443
protocol: TCP
ssh-forgejo:
port: 2222
expose: true
exposedPort: 2222
protocol: TCP
persistence:
enabled: true
storageClass: longhorn
size: 1Gi
additionalArguments:
- "--configfile=/config/traefik.yaml"
volumes:
- name: traefik-config
mountPath: /config
type: configMap