--- apiVersion: v1 kind: Service metadata: name: antigravity labels: app: antigravity spec: ports: - port: 5800 name: vnc-web protocol: TCP clusterIP: None selector: app: antigravity --- apiVersion: apps/v1 kind: StatefulSet metadata: name: antigravity spec: serviceName: "antigravity" replicas: 1 selector: matchLabels: app: antigravity template: metadata: labels: app: antigravity spec: securityContext: fsGroup: 1000 fsGroupChangePolicy: "OnRootMismatch" containers: - name: antigravity image: ghcr.io/cpfarhood/antigravity:latest imagePullPolicy: IfNotPresent 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: "1" - name: VNC_PASSWORD valueFrom: secretKeyRef: name: antigravity key: vnc-password optional: true # GitHub configuration - name: GITHUB_REPO valueFrom: configMapKeyRef: name: antigravity key: github-repo optional: true - name: GITHUB_TOKEN valueFrom: secretKeyRef: name: antigravity key: github-token optional: true # Happy Coder configuration - name: HAPPY_CODER_API_KEY valueFrom: secretKeyRef: name: antigravity key: happy-coder-api-key optional: true 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: {} volumeClaimTemplates: - metadata: name: userhome spec: accessModes: [ "ReadWriteMany" ] storageClassName: "ceph-filesystem" resources: requests: storage: 10Gi