Files
devcontainer/flux/deployment.yaml
T

76 lines
2.0 KiB
YAML

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: devcontainer-${NAME}
spec:
template:
metadata:
labels:
app: devcontainer
instance: ${NAME}
spec:
securityContext:
fsGroup: 1000
fsGroupChangePolicy: "OnRootMismatch"
containers:
- name: devcontainer
image: ghcr.io/cpfarhood/devcontainer:latest
imagePullPolicy: Always
ports:
- containerPort: 5800
name: vnc-web
protocol: TCP
volumeMounts:
- name: userhome
mountPath: /home
- name: workspace
mountPath: /workspace
env:
# User/Group IDs for the claude user
- name: USER_ID
value: "1000"
- name: GROUP_ID
value: "1000"
# VNC display settings
- name: DISPLAY_WIDTH
value: "1920"
- name: DISPLAY_HEIGHT
value: "1080"
- name: SECURE_CONNECTION
value: "0"
- name: HAPPY_HOME_DIR
value: "/home/user/.happy"
- name: HAPPY_EXPERIMENTAL
value: "true"
envFrom:
- configMapRef:
name: ${ENV_CONFIGMAP}
- secretRef:
name: ${ENV_SECRETS}
resources:
requests:
memory: "2Gi"
cpu: "1000m"
limits:
memory: "8Gi"
cpu: "4000m"
livenessProbe:
httpGet:
path: /
port: 5800
initialDelaySeconds: 30
periodSeconds: 10
readinessProbe:
httpGet:
path: /
port: 5800
initialDelaySeconds: 10
periodSeconds: 5
volumes:
- name: workspace
emptyDir: {}
- name: userhome
persistentVolumeClaim:
claimName: userhome-${NAME}