# services/veles/frontend-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: veles-frontend namespace: veles labels: app: veles-frontend spec: replicas: 0 revisionHistoryLimit: 2 selector: matchLabels: app: veles-frontend template: metadata: labels: app: veles-frontend spec: serviceAccountName: veles-frontend priorityClassName: veles-core affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: node-role.kubernetes.io/worker operator: Exists - key: hardware operator: In values: ["rpi5", "rpi4", "amd64"] preferredDuringSchedulingIgnoredDuringExecution: - weight: 100 preference: matchExpressions: - key: atlas.bstein.dev/spillover operator: DoesNotExist - weight: 90 preference: matchExpressions: - key: hardware operator: In values: ["rpi5"] securityContext: fsGroup: 1000 seccompProfile: type: RuntimeDefault containers: - name: frontend image: registry.bstein.dev/veles/veles-frontend:0.1.0-0 # {"$imagepolicy": "veles:veles-frontend"} imagePullPolicy: IfNotPresent ports: - name: http containerPort: 8080 protocol: TCP envFrom: - configMapRef: name: veles-app-config resources: requests: cpu: 100m memory: 256Mi limits: cpu: 500m memory: 512Mi securityContext: runAsNonRoot: true runAsUser: 1000 runAsGroup: 1000 allowPrivilegeEscalation: false capabilities: drop: ["ALL"]