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: 303a839ae518697948df5a9482fcfd2e0ab1a30d annotations: hwlab.pikastech.local/rendered-by: scripts/gitops-render.mjs hwlab.pikastech.local/opencode-provider-profile: dsflash-go hwlab.pikastech.local/opencode-provider-id: dsflash-go hwlab.pikastech.local/opencode-model: deepseek-v4-flash hwlab.pikastech.local/opencode-provider-base-url: http://127.0.0.1:4097/v1 hwlab.pikastech.local/opencode-provider-upstream-base-url: https://opencode.ai/zen/go/v1 hwlab.pikastech.local/opencode-image: 127.0.0.1:5000/hwlab/opencode:1.17.7-git hwlab.pikastech.local/opencode-config-sha256: 40a92e2d93f344d7c9dbcb98bd67760078f90a0af085f83b4b5385513bb26234 hwlab.pikastech.local/opencode-api-key-secret-ref: hwlab-v03-code-agent-provider/opencode-api-key hwlab.pikastech.local/agentrun-provider-secret-ref: agentrun-v02/agentrun-v01-provider-dsflash-go hwlab.pikastech.local/agentrun-provider-secret-keys: auth.json,config.toml,model-catalog.json hwlab.pikastech.local/values-printed: "false" hwlab.pikastech.local/opencode-provider-proxy-runtime-mode: env-reuse-git-mirror-checkout hwlab.pikastech.local/opencode-provider-proxy-boot-repo: git@github.com:pikasTech/HWLAB.git hwlab.pikastech.local/opencode-provider-proxy-boot-commit: 303a839ae518697948df5a9482fcfd2e0ab1a30d hwlab.pikastech.local/opencode-provider-proxy-boot-sh: deploy/runtime/boot/opencode-provider-proxy.sh hwlab.pikastech.local/opencode-provider-proxy-environment-digest: sha256:1f3b67b29346b70a0af97e399ae7e6cd038bef8626f0f3c221d848394074b94a - 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: 303a839ae518697948df5a9482fcfd2e0ab1a30d annotations: hwlab.pikastech.local/rendered-by: scripts/gitops-render.mjs hwlab.pikastech.local/opencode-provider-profile: dsflash-go hwlab.pikastech.local/opencode-provider-id: dsflash-go hwlab.pikastech.local/opencode-model: deepseek-v4-flash hwlab.pikastech.local/opencode-provider-base-url: http://127.0.0.1:4097/v1 hwlab.pikastech.local/opencode-provider-upstream-base-url: https://opencode.ai/zen/go/v1 hwlab.pikastech.local/opencode-image: 127.0.0.1:5000/hwlab/opencode:1.17.7-git hwlab.pikastech.local/opencode-config-sha256: 40a92e2d93f344d7c9dbcb98bd67760078f90a0af085f83b4b5385513bb26234 hwlab.pikastech.local/opencode-api-key-secret-ref: hwlab-v03-code-agent-provider/opencode-api-key hwlab.pikastech.local/agentrun-provider-secret-ref: agentrun-v02/agentrun-v01-provider-dsflash-go hwlab.pikastech.local/agentrun-provider-secret-keys: auth.json,config.toml,model-catalog.json hwlab.pikastech.local/values-printed: "false" hwlab.pikastech.local/opencode-provider-proxy-runtime-mode: env-reuse-git-mirror-checkout hwlab.pikastech.local/opencode-provider-proxy-boot-repo: git@github.com:pikasTech/HWLAB.git hwlab.pikastech.local/opencode-provider-proxy-boot-commit: 303a839ae518697948df5a9482fcfd2e0ab1a30d hwlab.pikastech.local/opencode-provider-proxy-boot-sh: deploy/runtime/boot/opencode-provider-proxy.sh hwlab.pikastech.local/opencode-provider-proxy-environment-digest: sha256:1f3b67b29346b70a0af97e399ae7e6cd038bef8626f0f3c221d848394074b94a 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: 303a839ae518697948df5a9482fcfd2e0ab1a30d annotations: hwlab.pikastech.local/rendered-by: scripts/gitops-render.mjs hwlab.pikastech.local/opencode-provider-profile: dsflash-go hwlab.pikastech.local/opencode-provider-id: dsflash-go hwlab.pikastech.local/opencode-model: deepseek-v4-flash hwlab.pikastech.local/opencode-provider-base-url: http://127.0.0.1:4097/v1 hwlab.pikastech.local/opencode-provider-upstream-base-url: https://opencode.ai/zen/go/v1 hwlab.pikastech.local/opencode-image: 127.0.0.1:5000/hwlab/opencode:1.17.7-git hwlab.pikastech.local/opencode-config-sha256: 40a92e2d93f344d7c9dbcb98bd67760078f90a0af085f83b4b5385513bb26234 hwlab.pikastech.local/opencode-api-key-secret-ref: hwlab-v03-code-agent-provider/opencode-api-key hwlab.pikastech.local/agentrun-provider-secret-ref: agentrun-v02/agentrun-v01-provider-dsflash-go hwlab.pikastech.local/agentrun-provider-secret-keys: auth.json,config.toml,model-catalog.json hwlab.pikastech.local/values-printed: "false" hwlab.pikastech.local/opencode-provider-proxy-runtime-mode: env-reuse-git-mirror-checkout hwlab.pikastech.local/opencode-provider-proxy-boot-repo: git@github.com:pikasTech/HWLAB.git hwlab.pikastech.local/opencode-provider-proxy-boot-commit: 303a839ae518697948df5a9482fcfd2e0ab1a30d hwlab.pikastech.local/opencode-provider-proxy-boot-sh: deploy/runtime/boot/opencode-provider-proxy.sh hwlab.pikastech.local/opencode-provider-proxy-environment-digest: sha256:1f3b67b29346b70a0af97e399ae7e6cd038bef8626f0f3c221d848394074b94a 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: 303a839ae518697948df5a9482fcfd2e0ab1a30d annotations: hwlab.pikastech.local/rendered-by: scripts/gitops-render.mjs hwlab.pikastech.local/opencode-provider-profile: dsflash-go hwlab.pikastech.local/opencode-provider-id: dsflash-go hwlab.pikastech.local/opencode-model: deepseek-v4-flash hwlab.pikastech.local/opencode-provider-base-url: http://127.0.0.1:4097/v1 hwlab.pikastech.local/opencode-provider-upstream-base-url: https://opencode.ai/zen/go/v1 hwlab.pikastech.local/opencode-image: 127.0.0.1:5000/hwlab/opencode:1.17.7-git hwlab.pikastech.local/opencode-config-sha256: 40a92e2d93f344d7c9dbcb98bd67760078f90a0af085f83b4b5385513bb26234 hwlab.pikastech.local/opencode-api-key-secret-ref: hwlab-v03-code-agent-provider/opencode-api-key hwlab.pikastech.local/agentrun-provider-secret-ref: agentrun-v02/agentrun-v01-provider-dsflash-go hwlab.pikastech.local/agentrun-provider-secret-keys: auth.json,config.toml,model-catalog.json hwlab.pikastech.local/values-printed: "false" hwlab.pikastech.local/opencode-provider-proxy-runtime-mode: env-reuse-git-mirror-checkout hwlab.pikastech.local/opencode-provider-proxy-boot-repo: git@github.com:pikasTech/HWLAB.git hwlab.pikastech.local/opencode-provider-proxy-boot-commit: 303a839ae518697948df5a9482fcfd2e0ab1a30d hwlab.pikastech.local/opencode-provider-proxy-boot-sh: deploy/runtime/boot/opencode-provider-proxy.sh hwlab.pikastech.local/opencode-provider-proxy-environment-digest: sha256:1f3b67b29346b70a0af97e399ae7e6cd038bef8626f0f3c221d848394074b94a 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: 303a839ae518697948df5a9482fcfd2e0ab1a30d annotations: hwlab.pikastech.local/rendered-by: scripts/gitops-render.mjs hwlab.pikastech.local/opencode-provider-profile: dsflash-go hwlab.pikastech.local/opencode-provider-id: dsflash-go hwlab.pikastech.local/opencode-model: deepseek-v4-flash hwlab.pikastech.local/opencode-provider-base-url: http://127.0.0.1:4097/v1 hwlab.pikastech.local/opencode-provider-upstream-base-url: https://opencode.ai/zen/go/v1 hwlab.pikastech.local/opencode-image: 127.0.0.1:5000/hwlab/opencode:1.17.7-git hwlab.pikastech.local/opencode-config-sha256: 40a92e2d93f344d7c9dbcb98bd67760078f90a0af085f83b4b5385513bb26234 hwlab.pikastech.local/opencode-api-key-secret-ref: hwlab-v03-code-agent-provider/opencode-api-key hwlab.pikastech.local/agentrun-provider-secret-ref: agentrun-v02/agentrun-v01-provider-dsflash-go hwlab.pikastech.local/agentrun-provider-secret-keys: auth.json,config.toml,model-catalog.json hwlab.pikastech.local/values-printed: "false" hwlab.pikastech.local/opencode-provider-proxy-runtime-mode: env-reuse-git-mirror-checkout hwlab.pikastech.local/opencode-provider-proxy-boot-repo: git@github.com:pikasTech/HWLAB.git hwlab.pikastech.local/opencode-provider-proxy-boot-commit: 303a839ae518697948df5a9482fcfd2e0ab1a30d hwlab.pikastech.local/opencode-provider-proxy-boot-sh: deploy/runtime/boot/opencode-provider-proxy.sh hwlab.pikastech.local/opencode-provider-proxy-environment-digest: sha256:1f3b67b29346b70a0af97e399ae7e6cd038bef8626f0f3c221d848394074b94a spec: serviceAccountName: opencode-server securityContext: fsGroup: 1000 fsGroupChangePolicy: OnRootMismatch initContainers: - name: opencode-workspace-git-init image: 127.0.0.1:5000/hwlab/hwlab-cloud-web-env@sha256:1f3b67b29346b70a0af97e399ae7e6cd038bef8626f0f3c221d848394074b94a imagePullPolicy: IfNotPresent command: - /bin/sh - -ec args: - >- set -eu mkdir -p /workspace if [ ! -d /workspace/.git ]; then git -C /workspace init fi git -C /workspace config user.name 'HWLAB OpenCode' || true git -C /workspace config user.email 'opencode@hwlab.local' || true chgrp -R 1000 /workspace/.git 2>/dev/null || true chmod -R g+rwX /workspace/.git 2>/dev/null || true resources: requests: cpu: 25m memory: 64Mi limits: cpu: 250m memory: 256Mi volumeMounts: - name: workspace mountPath: /workspace containers: - name: opencode-server image: 127.0.0.1:5000/hwlab/opencode:1.17.7-git imagePullPolicy: IfNotPresent command: - /bin/sh - -ec args: - exec opencode 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: HTTP_PROXY value: http://10.42.0.1:10808 - name: HTTPS_PROXY value: http://10.42.0.1:10808 - name: http_proxy value: http://10.42.0.1:10808 - name: https_proxy value: http://10.42.0.1:10808 - name: NO_PROXY value: localhost,127.0.0.1,::1,127.0.0.1:5000,localhost:5000,.svc,.svc.cluster.local,.cluster.local,kubernetes,kubernetes.default,kubernetes.default.svc,argocd-repo-server,argocd-repo-server.argocd,argocd-redis,argocd-redis.argocd,git-mirror-http,git-mirror-http.devops-infra,git-mirror-write,git-mirror-write.devops-infra,10.0.0.0/8,10.42.0.0/16,10.43.0.0/16,172.16.0.0/12,192.168.0.0/16,82.156.23.220,74.48.78.17,hyueapi.com,.hyueapi.com - name: no_proxy value: localhost,127.0.0.1,::1,127.0.0.1:5000,localhost:5000,.svc,.svc.cluster.local,.cluster.local,kubernetes,kubernetes.default,kubernetes.default.svc,argocd-repo-server,argocd-repo-server.argocd,argocd-redis,argocd-redis.argocd,git-mirror-http,git-mirror-http.devops-infra,git-mirror-write,git-mirror-write.devops-infra,10.0.0.0/8,10.42.0.0/16,10.43.0.0/16,172.16.0.0/12,192.168.0.0/16,82.156.23.220,74.48.78.17,hyueapi.com,.hyueapi.com - name: OPENCODE_CONFIG_CONTENT value: '{"$schema":"https://opencode.ai/config.json","autoupdate":false,"share":"disabled","model":"dsflash-go/deepseek-v4-flash","small_model":"dsflash-go/deepseek-v4-flash","provider":{"dsflash-go":{"npm":"@ai-sdk/openai-compatible","name":"AgentRun dsflash-go","options":{"baseURL":"http://127.0.0.1:4097/v1","apiKey":"{env:OPENCODE_DSFLASH_GO_API_KEY}","timeout":600000,"headerTimeout":600000,"chunkTimeout":300000},"models":{"deepseek-v4-flash":{"name":"deepseek-v4-flash","reasoning":false,"tool_call":true,"limit":{"context":1000000,"output":384000}}}}}}' - name: OPENCODE_DSFLASH_GO_API_KEY valueFrom: secretKeyRef: name: hwlab-v03-code-agent-provider key: opencode-api-key optional: true - 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 - name: opencode-provider-proxy image: 127.0.0.1:5000/hwlab/hwlab-cloud-web-env@sha256:1f3b67b29346b70a0af97e399ae7e6cd038bef8626f0f3c221d848394074b94a imagePullPolicy: IfNotPresent env: - name: HWLAB_SERVICE_ID value: opencode-provider-proxy - name: HWLAB_ENVIRONMENT value: v03 - name: HWLAB_COMMIT_ID value: 303a839ae518697948df5a9482fcfd2e0ab1a30d - name: HWLAB_IMAGE value: 127.0.0.1:5000/hwlab/hwlab-cloud-web-env@sha256:1f3b67b29346b70a0af97e399ae7e6cd038bef8626f0f3c221d848394074b94a - name: HWLAB_IMAGE_TAG value: env-5ff41b539190 - name: PORT value: "4097" - name: HWLAB_OPENCODE_PROVIDER_PROXY_UPSTREAM_BASE_URL value: https://opencode.ai/zen/go/v1 - name: HWLAB_OPENCODE_PROVIDER_PROXY_PUBLIC_BASE_PATH value: /v1 - name: HWLAB_OPENCODE_PROVIDER_PROXY_TIMEOUT_MS value: "600000" - name: OTEL_EXPORTER_OTLP_TRACES_ENDPOINT value: http://otel-collector.platform-infra.svc.cluster.local:4318/v1/traces - name: OTEL_SERVICE_NAME value: opencode-provider-proxy - name: HWLAB_RUNTIME_MODE value: env-reuse-git-mirror-checkout - name: HWLAB_BOOT_REPO value: git@github.com:pikasTech/HWLAB.git - name: HWLAB_BOOT_COMMIT value: 303a839ae518697948df5a9482fcfd2e0ab1a30d - name: HWLAB_BOOT_REF value: v0.3 - name: HWLAB_BOOT_SH value: deploy/runtime/boot/opencode-provider-proxy.sh - name: HWLAB_BOOT_READ_URL value: http://git-mirror-http.devops-infra.svc.cluster.local:8080/pikasTech/HWLAB.git - name: HWLAB_ENVIRONMENT_IMAGE value: 127.0.0.1:5000/hwlab/hwlab-cloud-web-env:env-5ff41b539190 - name: HWLAB_ENVIRONMENT_DIGEST value: sha256:1f3b67b29346b70a0af97e399ae7e6cd038bef8626f0f3c221d848394074b94a - name: HWLAB_ENVIRONMENT_INPUT_HASH value: 5ff41b539190849e76511ed722a4539f5921622e98eea1444b606475f8ef55aa - name: HWLAB_CODE_INPUT_HASH value: 59d34d258d5dc326cfe4f79442f455754e61ffb4581ccd99faf610bd95c07edf - name: HWLAB_IMAGE_DIGEST value: sha256:1f3b67b29346b70a0af97e399ae7e6cd038bef8626f0f3c221d848394074b94a ports: - name: provider containerPort: 4097 readinessProbe: httpGet: path: /health/readiness port: provider periodSeconds: 10 failureThreshold: 3 livenessProbe: httpGet: path: /health/live port: provider periodSeconds: 20 failureThreshold: 3 resources: requests: cpu: 25m memory: 64Mi limits: cpu: 250m memory: 256Mi startupProbe: httpGet: path: /health/readiness port: provider periodSeconds: 10 failureThreshold: 30 timeoutSeconds: 2 successThreshold: 1 volumes: - name: workspace persistentVolumeClaim: claimName: opencode-server-data