stack.basicstack.de/apps/pangolin/pangolin-controller-rbac.yaml
CTO Agent 954853cf37 refactor(pangolin): Move controller manifests to app root for Argo CD
Move Kubernetes controller manifests from kube-controller/ subdirectory
to the apps/pangolin/ root directory so Argo CD will sync them.

Files renamed with pangolin-controller- prefix:
- configmap.yaml -> pangolin-controller-config.yaml
- deployment.yaml -> pangolin-controller-deployment.yaml
- rbac.yaml -> pangolin-controller-rbac.yaml
- service.yaml -> pangolin-controller-service.yaml

Argo CD was not recursing into the subdirectory, so controller resources
were not being synced. Moving to root directory resolves this.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-01 15:52:49 +00:00

73 lines
1.3 KiB
YAML

apiVersion: v1
kind: ServiceAccount
metadata:
name: pangolin-controller
namespace: pangolin
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: pangolin-controller
rules:
# CRD discovery
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- get
- list
# IngressClass discovery
- apiGroups:
- networking.k8s.io
resources:
- ingressclasses
verbs:
- get
- list
# Traefik CRDs - full CRUD
- apiGroups:
- traefik.containo.us
- traefik.io
resources:
- ingressroutes
- middlewares
- traefikservices
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
# Leases for leader election
- apiGroups:
- coordination.k8s.io
resources:
- leases
verbs:
- get
- create
- update
# Events for logging
- apiGroups:
- ""
resources:
- events
verbs:
- create
- patch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: pangolin-controller
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: pangolin-controller
subjects:
- kind: ServiceAccount
name: pangolin-controller
namespace: pangolin