diff --git a/dev/traefik/templates/config.yaml b/dev/traefik/templates/config.yaml deleted file mode 100644 index 06a9d11..0000000 --- a/dev/traefik/templates/config.yaml +++ /dev/null @@ -1,16 +0,0 @@ -#apiVersion: v1 -#kind: ConfigMap -#metadata: -# name: traefik-configmap -#data: -# config.yml: | -# http: -# routers: -# router0: -# service: service0 -# rule: Host(`testing.durp.info`) -# services: -# service0: -# loadBalancer: -# servers: -# - url: https://192.168.20.130 diff --git a/dev/traefik/templates/middleware.yaml b/dev/traefik/templates/middleware.yaml deleted file mode 100644 index 7e95660..0000000 --- a/dev/traefik/templates/middleware.yaml +++ /dev/null @@ -1,35 +0,0 @@ -apiVersion: traefik.io/v1alpha1 -kind: Middleware -metadata: - name: authentik-proxy-provider - namespace: traefik -spec: - forwardAuth: - address: http://ak-outpost-dmz-embedded-outpost.authentik.svc.cluster.local:9000/outpost.goauthentik.io/auth/traefik?rd=$scheme://$http_host$request_uri - trustForwardHeader: true - authResponseHeaders: - - X-authentik-username - - X-authentik-groups - - X-authentik-email - - X-authentik-name - - X-authentik-uid - - X-authentik-jwt - - X-authentik-meta-jwks - - X-authentik-meta-outpost - - X-authentik-meta-provider - - X-authentik-meta-app - - X-authentik-meta-version - ---- - -apiVersion: traefik.io/v1alpha1 -kind: Middleware -metadata: - name: whitelist - namespace: traefik -spec: - ipWhiteList: - sourceRange: - - 192.168.0.0/16 - - 172.16.0.0/12 - - 10.0.0.0/8 diff --git a/dev/traefik/templates/traefik-dashboard.yaml b/dev/traefik/templates/traefik-dashboard.yaml deleted file mode 100644 index 0c6afaa..0000000 --- a/dev/traefik/templates/traefik-dashboard.yaml +++ /dev/null @@ -1,34 +0,0 @@ -#apiVersion: traefik.io/v1alpha1 -#kind: IngressRoute -#metadata: -# name: traefik-ingress -#spec: -# entryPoints: -# - websecure -# routes: -# - match: Host(`traefik.durp.info`) -# kind: Rule -# services: -# - name: api@internal -# kind: TraefikService -# tls: -# secretName: traefik-tls -# -#--- -# -#apiVersion: cert-manager.io/v1 -#kind: Certificate -#metadata: -# name: traefik-tls -# namespace: traefik -#spec: -# secretName: traefik-tls -# issuerRef: -# name: letsencrypt-production -# kind: ClusterIssuer -# commonName: "traefik.durp.info" -# dnsNames: -# - "traefik.durp.info" -# -#--- -# diff --git a/dev/traefik/values.yaml b/dev/traefik/values.yaml index f0d0404..3d1d660 100644 --- a/dev/traefik/values.yaml +++ b/dev/traefik/values.yaml @@ -1,10 +1,10 @@ traefik: - image: + image: # registry: registry.durp.info # repository: traefik pullPolicy: Always - - providers: + + providers: kubernetesCRD: allowCrossNamespace: true allowExternalNameServices: true @@ -18,40 +18,39 @@ traefik: # - name: traefik-configmap # mountPath: "/config" # type: configMap - + ingressRoute: dashboard: enabled: true - - additionalArguments: + + additionalArguments: # - "--providers.file.filename=/config/config.yml" - "--serversTransport.insecureSkipVerify=true" - "--log.level=DEBUG" - --experimental.plugins.jwt.moduleName=github.com/traefik-plugins/traefik-jwt-plugin - --experimental.plugins.jwt.version=v0.7.0 - + autoscaling: enabled: true minReplicas: 3 maxReplicas: 10 metrics: - - type: Resource - resource: - name: cpu - target: - type: Utilization - averageUtilization: 80 + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 behavior: scaleDown: stabilizationWindowSeconds: 300 policies: - - type: Pods - value: 1 - periodSeconds: 60 - - + - type: Pods + value: 1 + periodSeconds: 60 + # -- [Resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for `traefik` container. - resources: + resources: requests: cpu: "100m" memory: "512Mi" diff --git a/infra/argocd/templates/traefik.yaml b/infra/argocd/templates/traefik.yaml index a2e901e..0136c94 100644 --- a/infra/argocd/templates/traefik.yaml +++ b/infra/argocd/templates/traefik.yaml @@ -48,3 +48,29 @@ spec: syncOptions: - CreateNamespace=true +--- + +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: traefik-dev + namespace: argocd +spec: + project: default + source: + repoURL: https://gitlab.com/developerdurp/homelab.git + targetRevision: main + path: dev/traefik + destination: + namespace: traefik + name: dev + syncPolicy: + # managedNamespaceMetadata: + # labels: + # istio-injection: enabled + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true +