From d41171955b5c9664c1291c0f6f9714d6e948b0cd Mon Sep 17 00:00:00 2001 From: Ultradesu Date: Wed, 5 Aug 2026 13:44:30 +0100 Subject: [PATCH] Moved traefik-ai to kube-system-custom, fixed lan-play ingress --- k8s/apps/firefly-iii/kustomization.yaml | 1 - k8s/apps/lan-play/ingress.yaml | 5 +- .../kube-system-custom/kustomization.yaml | 1 + .../kube-system-custom}/traefik-ai.yaml | 68 +++++++++++++++++-- 4 files changed, 68 insertions(+), 7 deletions(-) rename k8s/{apps/firefly-iii => core/kube-system-custom}/traefik-ai.yaml (77%) diff --git a/k8s/apps/firefly-iii/kustomization.yaml b/k8s/apps/firefly-iii/kustomization.yaml index 6e5b89a..126a135 100644 --- a/k8s/apps/firefly-iii/kustomization.yaml +++ b/k8s/apps/firefly-iii/kustomization.yaml @@ -10,7 +10,6 @@ resources: - postgres.yaml - storage.yaml - storage-prep.yaml - - traefik-ai.yaml - network-policy.yaml helmCharts: diff --git a/k8s/apps/lan-play/ingress.yaml b/k8s/apps/lan-play/ingress.yaml index b163bb9..c126c41 100644 --- a/k8s/apps/lan-play/ingress.yaml +++ b/k8s/apps/lan-play/ingress.yaml @@ -45,8 +45,11 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: lan-play-local + labels: + firefly.hexor.cy/private-ai: "true" + annotations: + kubernetes.io/ingress.class: traefik-ai spec: - ingressClassName: traefik rules: - host: video.lan http: diff --git a/k8s/core/kube-system-custom/kustomization.yaml b/k8s/core/kube-system-custom/kustomization.yaml index 700acb6..a386d1b 100644 --- a/k8s/core/kube-system-custom/kustomization.yaml +++ b/k8s/core/kube-system-custom/kustomization.yaml @@ -7,6 +7,7 @@ resources: - coredns-internal-resolve.yaml - https-middleware.yaml - node-external-ip-labeler.yaml + - traefik-ai.yaml helmCharts: - name: csi-driver-nfs diff --git a/k8s/apps/firefly-iii/traefik-ai.yaml b/k8s/core/kube-system-custom/traefik-ai.yaml similarity index 77% rename from k8s/apps/firefly-iii/traefik-ai.yaml rename to k8s/core/kube-system-custom/traefik-ai.yaml index d5746fc..5f6a43e 100644 --- a/k8s/apps/firefly-iii/traefik-ai.yaml +++ b/k8s/core/kube-system-custom/traefik-ai.yaml @@ -9,11 +9,13 @@ apiVersion: v1 kind: ServiceAccount metadata: name: traefik-ai + namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: traefik-ai + namespace: firefly-iii rules: - apiGroups: - "" @@ -52,6 +54,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: traefik-ai + namespace: firefly-iii roleRef: apiGroup: rbac.authorization.k8s.io kind: Role @@ -59,11 +62,65 @@ roleRef: subjects: - kind: ServiceAccount name: traefik-ai + namespace: kube-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: traefik-ai + namespace: lan-play +rules: + - apiGroups: + - "" + resources: + - services + - secrets + - endpoints + verbs: + - get + - list + - watch + - apiGroups: + - discovery.k8s.io + resources: + - endpointslices + verbs: + - get + - list + - watch + - apiGroups: + - networking.k8s.io + resources: + - ingresses + verbs: + - get + - list + - watch + - apiGroups: + - networking.k8s.io + resources: + - ingresses/status + verbs: + - update +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: traefik-ai + namespace: lan-play +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: traefik-ai +subjects: + - kind: ServiceAccount + name: traefik-ai + namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: - name: firefly-traefik-ai + name: traefik-ai rules: - apiGroups: - "" @@ -85,20 +142,21 @@ rules: apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: - name: firefly-traefik-ai + name: traefik-ai roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole - name: firefly-traefik-ai + name: traefik-ai subjects: - kind: ServiceAccount name: traefik-ai - namespace: firefly-iii + namespace: kube-system --- apiVersion: apps/v1 kind: Deployment metadata: name: traefik-ai + namespace: kube-system labels: app.kubernetes.io/name: traefik-ai spec: @@ -130,7 +188,7 @@ spec: args: - --entrypoints.web.address=192.168.1.117:80 - --providers.kubernetesingress=true - - --providers.kubernetesingress.namespaces=firefly-iii + - --providers.kubernetesingress.namespaces=firefly-iii,lan-play - --providers.kubernetesingress.ingressclass=traefik-ai - --providers.kubernetesingress.labelselector=firefly.hexor.cy/private-ai=true - --providers.kubernetescrd=false