veda/applications/templates/traefik.yaml

93 lines
3.0 KiB
YAML

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: traefik
namespace: argocd
spec:
project: default
destination:
server: {{ .Values.spec.destination.server }}
namespace: traefik
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
source:
chart: traefik
repoURL: https://traefik.github.io/charts
targetRevision: 35.2.0
helm:
valueObject:
ingressRoute:
dashboard:
enabled: true
matchRule: PathPrefix(`/dashboard`) || PathPrefix(`/api`)
entryPoints: ["traefik"]
healthcheck:
enabled: false
matchRule: PathPrefix(`/ping`)
entryPoints: ["traefik"]
metrics:
prometheus:
entryPoint: metrics
ports:
traefik:
port: 8080
# Defines whether the port is exposed if service.type is LoadBalancer or
# NodePort.
#
# -- You SHOULD NOT expose the traefik port on production deployments.
# If you want to access it from outside your cluster,
# use `kubectl port-forward` or create a secure ingress
expose: true
# -- The exposed port for this service
exposedPort: 8080
# -- The port protocol (TCP/UDP)
protocol: TCP
web:
port: 8000
expose: true
exposedPort: 80
protocol: TCP
websecure:
# asDefault: true
port: 8443
expose: true
exposedPort: 443
protocol: TCP
tls:
enabled: true
# -- One can apply Middlewares on an entrypoint
# https://doc.traefik.io/traefik/middlewares/overview/
# https://doc.traefik.io/traefik/routing/entrypoints/#middlewares
# -- /!\ It introduces here a link between your static configuration and your dynamic configuration /!\
# It follows the provider naming convention: https://doc.traefik.io/traefik/providers/overview/#provider-namespace
# - namespace-name1@kubernetescrd
# - namespace-name2@kubernetescrd
middlewares: []
metrics:
# -- When using hostNetwork, use another port to avoid conflict with node exporter:
# https://github.com/prometheus/prometheus/wiki/Default-port-allocations
port: 9100
# -- You may not want to expose the metrics port on production deployments.
# If you want to access it from outside your cluster,
# use `kubectl port-forward` or create a secure ingress
expose: true
exposedPort: 9100
protocol: TCP
service:
enabled: true
single: true
type: LoadBalancer
annotations:
io.cilium/lb-ipam-ips: "192.168.0.1"
spec:
externalTrafficPolicy: Local