Extend ClusterRole to include all Traefik CRDs that the controller manages: - serverstransports, serverstransporttcps (for transport configuration) - ingressroutetcps, ingressrouteudps (for TCP/UDP routing) - middlewaretcps (for TCP middleware) - tlsoptions, tlsstores (for TLS configuration) This fixes the RBAC permission error preventing the controller from reconciling Traefik configuration: "serverstransports.traefik.io is forbidden: User \"system:serviceaccount:pangolin:pangolin-controller\" cannot list resource \"serverstransports\"" Related: DEV-437 Co-Authored-By: Paperclip <noreply@paperclip.ing>
80 lines
1.5 KiB
YAML
80 lines
1.5 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
|
|
- ingressroutetcps
|
|
- ingressrouteudps
|
|
- middlewares
|
|
- middlewaretcps
|
|
- traefikservices
|
|
- serverstransports
|
|
- serverstransporttcps
|
|
- tlsoptions
|
|
- tlsstores
|
|
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
|