stack.basicstack.de/apps/pangolin/pangolin-controller-deployment.yaml

82 lines
2.3 KiB
YAML
Raw Normal View History

apiVersion: apps/v1
kind: Deployment
metadata:
name: pangolin-controller
namespace: pangolin
labels:
app: pangolin-controller
component: controller
spec:
# Scaled to 0 after Pangolin DB migration (SQLite -> PostgreSQL, DEV-451):
# the fresh Pangolin has no admin user or API key yet, so the controller's
# bearer token in pangolin-controller-api-key SealedSecret is invalid.
# Re-enable after running Pangolin initial setup and resealing a new key.
# Tracked in the follow-up child issue.
replicas: 0
strategy:
type: Recreate
selector:
matchLabels:
app: pangolin-controller
component: controller
template:
metadata:
labels:
app: pangolin-controller
component: controller
spec:
serviceAccountName: pangolin-controller
containers:
- name: controller
image: fosrl/pangolin-kube-controller:0.1.0-alpha.1
imagePullPolicy: IfNotPresent
envFrom:
- configMapRef:
name: pangolin-controller-config
env:
- name: CONFIG_AUTH_HEADER
valueFrom:
secretKeyRef:
name: pangolin-controller-api-key
key: auth-header
ports:
- name: metrics
containerPort: 9090
protocol: TCP
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512Mi
livenessProbe:
httpGet:
path: /healthz
port: 9090
initialDelaySeconds: 15
periodSeconds: 20
timeoutSeconds: 5
failureThreshold: 3
readinessProbe:
httpGet:
path: /readyz
port: 9090
initialDelaySeconds: 5
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 3
securityContext:
allowPrivilegeEscalation: false
runAsNonRoot: true
capabilities:
drop:
- ALL
securityContext:
runAsNonRoot: true
runAsUser: 65532
runAsGroup: 65532
fsGroup: 65532
seccompProfile:
type: RuntimeDefault