{ "apiVersion": "v1", "kind": "List", "items": [ { "apiVersion": "v1", "kind": "ServiceAccount", "metadata": { "name": "opencode-server", "namespace": "hwlab-v03", "labels": { "app.kubernetes.io/name": "opencode-server", "app.kubernetes.io/part-of": "hwlab", "hwlab.pikastech.local/environment": "v03", "hwlab.pikastech.local/profile": "v03", "hwlab.pikastech.local/component": "opencode", "hwlab.pikastech.local/gitops-target": "v03", "hwlab.pikastech.local/service-id": "opencode-server", "hwlab.pikastech.local/source-commit": "b2d2642b5bf10854165662f57cb57f56b978cf05" }, "annotations": { "hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs" } } }, { "apiVersion": "v1", "kind": "PersistentVolumeClaim", "metadata": { "name": "opencode-server-data", "namespace": "hwlab-v03", "labels": { "app.kubernetes.io/name": "opencode-server", "app.kubernetes.io/part-of": "hwlab", "hwlab.pikastech.local/environment": "v03", "hwlab.pikastech.local/profile": "v03", "hwlab.pikastech.local/component": "opencode", "hwlab.pikastech.local/gitops-target": "v03", "hwlab.pikastech.local/service-id": "opencode-server", "hwlab.pikastech.local/source-commit": "b2d2642b5bf10854165662f57cb57f56b978cf05" }, "annotations": { "hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs" } }, "spec": { "accessModes": [ "ReadWriteOnce" ], "resources": { "requests": { "storage": "8Gi" } } } }, { "apiVersion": "v1", "kind": "Service", "metadata": { "name": "opencode-server", "namespace": "hwlab-v03", "labels": { "app.kubernetes.io/name": "opencode-server", "app.kubernetes.io/part-of": "hwlab", "hwlab.pikastech.local/environment": "v03", "hwlab.pikastech.local/profile": "v03", "hwlab.pikastech.local/component": "opencode", "hwlab.pikastech.local/gitops-target": "v03", "hwlab.pikastech.local/service-id": "opencode-server", "hwlab.pikastech.local/source-commit": "b2d2642b5bf10854165662f57cb57f56b978cf05" }, "annotations": { "hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs" } }, "spec": { "type": "ClusterIP", "selector": { "app.kubernetes.io/name": "opencode-server", "app.kubernetes.io/part-of": "hwlab", "hwlab.pikastech.local/environment": "v03", "hwlab.pikastech.local/profile": "v03" }, "ports": [ { "name": "http", "port": 4096, "targetPort": "http" } ] } }, { "apiVersion": "apps/v1", "kind": "Deployment", "metadata": { "name": "opencode-server", "namespace": "hwlab-v03", "labels": { "app.kubernetes.io/name": "opencode-server", "app.kubernetes.io/part-of": "hwlab", "hwlab.pikastech.local/environment": "v03", "hwlab.pikastech.local/profile": "v03", "hwlab.pikastech.local/component": "opencode", "hwlab.pikastech.local/gitops-target": "v03", "hwlab.pikastech.local/service-id": "opencode-server", "hwlab.pikastech.local/source-commit": "b2d2642b5bf10854165662f57cb57f56b978cf05" }, "annotations": { "hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs" } }, "spec": { "replicas": 1, "strategy": { "type": "Recreate" }, "selector": { "matchLabels": { "app.kubernetes.io/name": "opencode-server", "app.kubernetes.io/part-of": "hwlab", "hwlab.pikastech.local/environment": "v03", "hwlab.pikastech.local/profile": "v03" } }, "template": { "metadata": { "labels": { "app.kubernetes.io/name": "opencode-server", "app.kubernetes.io/part-of": "hwlab", "hwlab.pikastech.local/environment": "v03", "hwlab.pikastech.local/profile": "v03", "hwlab.pikastech.local/component": "opencode", "hwlab.pikastech.local/gitops-target": "v03", "hwlab.pikastech.local/service-id": "opencode-server", "hwlab.pikastech.local/source-commit": "b2d2642b5bf10854165662f57cb57f56b978cf05" }, "annotations": { "hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs" } }, "spec": { "serviceAccountName": "opencode-server", "securityContext": { "fsGroup": 1000, "fsGroupChangePolicy": "OnRootMismatch" }, "containers": [ { "name": "opencode-server", "image": "ghcr.io/anomalyco/opencode:1.17.7", "imagePullPolicy": "IfNotPresent", "command": [ "opencode" ], "args": [ "serve", "--hostname", "0.0.0.0", "--port", "4096" ], "workingDir": "/workspace", "env": [ { "name": "HOME", "value": "/workspace" }, { "name": "XDG_CONFIG_HOME", "value": "/workspace/.config" }, { "name": "XDG_DATA_HOME", "value": "/workspace/.local/share" }, { "name": "OPENCODE_CONFIG_CONTENT", "value": "{\"autoupdate\":false,\"share\":\"disabled\"}" }, { "name": "OPENCODE_SERVER_USERNAME", "valueFrom": { "secretKeyRef": { "name": "hwlab-v03-opencode-server-auth", "key": "username" } } }, { "name": "OPENCODE_SERVER_PASSWORD", "valueFrom": { "secretKeyRef": { "name": "hwlab-v03-opencode-server-auth", "key": "password" } } } ], "ports": [ { "name": "http", "containerPort": 4096 } ], "startupProbe": { "tcpSocket": { "port": "http" }, "periodSeconds": 5, "failureThreshold": 60 }, "readinessProbe": { "tcpSocket": { "port": "http" }, "periodSeconds": 10, "failureThreshold": 3 }, "livenessProbe": { "tcpSocket": { "port": "http" }, "periodSeconds": 20, "failureThreshold": 3 }, "resources": { "requests": { "cpu": "100m", "memory": "256Mi" }, "limits": { "cpu": "1", "memory": "1Gi" } }, "volumeMounts": [ { "name": "workspace", "mountPath": "/workspace" } ] } ], "volumes": [ { "name": "workspace", "persistentVolumeClaim": { "claimName": "opencode-server-data" } } ] } } } } ] }