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: valuesObject: ingressRoute: dashboard: enabled: true matchRule: "PathPrefix('/dashboard') || PathPrefix('/api')" entryPoints: ["traefik"] healthcheck: enabled: false matchRule: "PathPrefix('/ping')" entryPoints: ["traefik"] 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: default: true # -- The exposed port for this service exposedPort: 8080 # -- The port protocol (TCP/UDP) protocol: TCP web: port: 8000 expose: default: true exposedPort: 80 protocol: TCP websecure: # asDefault: true port: 8443 expose: default: 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: [] service: enabled: true single: true type: LoadBalancer annotations: io.cilium/lb-ipam-ips: "192.168.0.1"