apiVersion: apps/v1 kind: Deployment metadata: name: openclaw namespace: openclaw labels: app.kubernetes.io/name: openclaw spec: replicas: 1 selector: matchLabels: app.kubernetes.io/name: openclaw template: metadata: labels: app.kubernetes.io/name: openclaw spec: serviceAccountName: openclaw containers: - name: openclaw image: default-route-openshift-image-registry.apps.lab.apilab.us/openclaw/openclaw:latest imagePullPolicy: Always ports: - name: http containerPort: 18789 env: # Keep caches out of $HOME under restricted SCC - name: NPM_CONFIG_CACHE value: /tmp/npm-cache - name: XDG_CACHE_HOME value: /tmp # If OpenClaw uses HOME for state, keep it in the PVC-backed /home/clawd - name: HOME value: /home/clawd volumeMounts: - name: config mountPath: /home/clawd/.openclaw - name: tmp mountPath: /tmp - name: config-secret mountPath: /clawd-init readOnly: true volumes: - name: config persistentVolumeClaim: claimName: openclaw-config - name: tmp emptyDir: {} - name: config-secret secret: secretName: openclaw-config