This commit is contained in:
2025-04-01 05:34:22 -05:00
parent a794c4660b
commit ee9c701c7c
5 changed files with 44 additions and 104 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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"
#
#---
#

View File

@@ -1,10 +1,10 @@
traefik: traefik:
image: image:
# registry: registry.durp.info # registry: registry.durp.info
# repository: traefik # repository: traefik
pullPolicy: Always pullPolicy: Always
providers: providers:
kubernetesCRD: kubernetesCRD:
allowCrossNamespace: true allowCrossNamespace: true
allowExternalNameServices: true allowExternalNameServices: true
@@ -18,40 +18,39 @@ traefik:
# - name: traefik-configmap # - name: traefik-configmap
# mountPath: "/config" # mountPath: "/config"
# type: configMap # type: configMap
ingressRoute: ingressRoute:
dashboard: dashboard:
enabled: true enabled: true
additionalArguments: additionalArguments:
# - "--providers.file.filename=/config/config.yml" # - "--providers.file.filename=/config/config.yml"
- "--serversTransport.insecureSkipVerify=true" - "--serversTransport.insecureSkipVerify=true"
- "--log.level=DEBUG" - "--log.level=DEBUG"
- --experimental.plugins.jwt.moduleName=github.com/traefik-plugins/traefik-jwt-plugin - --experimental.plugins.jwt.moduleName=github.com/traefik-plugins/traefik-jwt-plugin
- --experimental.plugins.jwt.version=v0.7.0 - --experimental.plugins.jwt.version=v0.7.0
autoscaling: autoscaling:
enabled: true enabled: true
minReplicas: 3 minReplicas: 3
maxReplicas: 10 maxReplicas: 10
metrics: metrics:
- type: Resource - type: Resource
resource: resource:
name: cpu name: cpu
target: target:
type: Utilization type: Utilization
averageUtilization: 80 averageUtilization: 80
behavior: behavior:
scaleDown: scaleDown:
stabilizationWindowSeconds: 300 stabilizationWindowSeconds: 300
policies: policies:
- type: Pods - type: Pods
value: 1 value: 1
periodSeconds: 60 periodSeconds: 60
# -- [Resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for `traefik` container. # -- [Resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for `traefik` container.
resources: resources:
requests: requests:
cpu: "100m" cpu: "100m"
memory: "512Mi" memory: "512Mi"

View File

@@ -48,3 +48,29 @@ spec:
syncOptions: syncOptions:
- CreateNamespace=true - 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