- Use specific image version 0.1.0-alpha.1 instead of :latest - Fix API endpoint port from 3001 to 3000 (correct Pangolin service port) - Add CONFIG_ALLOW_INSECURE_HTTP for internal cluster HTTP communication - Fix security context with numeric UIDs (65532) to avoid runAsNonRoot error - Add required RBAC permissions for CRD and IngressClass discovery Controller now successfully starts and acquires leader lease. Next step: Configure API authentication (CONFIG_AUTH_HEADER) for controller to access Pangolin API endpoint. Co-Authored-By: Paperclip <noreply@paperclip.ing>
73 lines
1.3 KiB
YAML
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
|