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