Argo/apps/templates/traefik.yaml

129 lines
3.3 KiB
YAML
Raw Normal View History

2022-11-15 09:02:23 +01:00
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: traefik
namespace: argo-cd
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
destination:
server: https://kubernetes.default.svc
namespace: traefik
project: default
source:
chart: traefik
helm:
2022-11-15 12:48:55 +01:00
values: |
2022-11-18 09:55:47 +01:00
2022-11-15 12:48:55 +01:00
image:
repository: &traefikImage library/traefik
name: *traefikImage
tag: v2.9.4
pullPolicy: IfNotPresent
experimental:
http3:
enabled: true
plugins:
enabled: false
kubernetesGateway:
enabled: false
dnsPolicy: ClusterFirstWithHostNet
hostNetwork: true
nodeSelector:
hasDns: "true"
securityContext:
capabilities:
drop: [ALL]
add: [NET_BIND_SERVICE]
readOnlyRootFilesystem: true
runAsGroup: 0
runAsNonRoot: false
runAsUser: 0
globalArguments: []
additionalArguments:
# - "--entryPoints.web.forwardedHeaders.trustedIPs=127.0.0.1/32"
- "--api.insecure=true"
2022-11-17 13:14:54 +01:00
- "--ping"
2022-11-17 13:30:48 +01:00
- "--ping.entrypoint=traefik"
2022-11-15 12:48:55 +01:00
envFrom:
- secretRef:
name: traefik-secrets
2022-11-15 13:23:41 +01:00
persistence:
enabled: true
name: data
accessMode: ReadWriteOnce
size: 128Mi
storageClass: "longhorn"
path: /data
2022-11-15 12:48:55 +01:00
ports:
traefik:
port: 9000
expose: true
exposedPort: 9000
protocol: TCP
web:
port: 80
expose: false
protocol: TCP
2022-11-15 13:54:19 +01:00
redirectTo: websecure
2022-11-15 12:48:55 +01:00
websecure:
port: 443
expose: false
protocol: TCP
tls:
enabled: true
metrics:
port: 9100
expose: true
udp:
port: 6666
protocol: UDP
expose: true
tlsOptions:
default:
sniStrict: true
minVersion: VersionTLS12
service:
enabled: true
type: NodePort
2022-11-15 13:54:19 +01:00
deployment:
initContainers:
#The "volume-permissions" init container is required if you run into permission issues.
#Related issue: https://github.com/traefik/traefik/issues/6825
- name: volume-permissions
image: busybox:1.35
command: ["sh", "-c", "touch /data/acme.json && chmod -Rv 600 /data/* && chown 0:0 /data/acme.json"]
volumeMounts:
- name: data
mountPath: /data
2022-11-15 12:48:55 +01:00
certResolvers:
cloudflare:
email: me@roxedus.dev
2022-11-15 14:04:36 +01:00
#caServer: https://acme-staging-v02.api.letsencrypt.org/directory
2022-11-15 12:48:55 +01:00
dnsChallenge:
provider: cloudflare
2022-11-15 12:57:57 +01:00
resolvers:
- "1.1.1.1:53"
- "8.8.8.8:53"
2022-11-15 12:48:55 +01:00
storage: /data/acme.json
2022-11-15 09:02:23 +01:00
repoURL: https://helm.traefik.io/traefik
2022-11-15 14:00:22 +01:00
targetRevision: 20.2.0
2022-11-15 09:02:23 +01:00
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true