Files
pikasTech-HWLAB/deploy/gitops/node/nc01/runtime-v03/opencode.yaml
T
2026-07-10 08:44:31 +00:00

538 lines
25 KiB
YAML

{
"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": "3a87d3513a2f5ec629e394de3376165cb41ee913"
},
"annotations": {
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
"hwlab.pikastech.local/opencode-provider-profile": "gpt.pika",
"hwlab.pikastech.local/opencode-provider-id": "gpt.pika",
"hwlab.pikastech.local/opencode-model": "gpt-5.4-mini",
"hwlab.pikastech.local/opencode-provider-base-url": "http://127.0.0.1:4097/v1",
"hwlab.pikastech.local/opencode-provider-upstream-base-url": "https://api.pikapython.com/",
"hwlab.pikastech.local/opencode-image": "127.0.0.1:5000/hwlab/opencode:1.17.7-git",
"hwlab.pikastech.local/opencode-config-sha256": "e5320440e18d83aaea578998170887d7ad36bfc4691f5e2b4d29522e5b973e69",
"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-gpt-pika",
"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": "3a87d3513a2f5ec629e394de3376165cb41ee913",
"hwlab.pikastech.local/opencode-provider-proxy-boot-sh": "deploy/runtime/boot/opencode-provider-proxy.sh",
"hwlab.pikastech.local/opencode-provider-proxy-environment-digest": "sha256:212f1da818f32500f25c495a6a4708a4113f44f4f2718387398dd5d7cfeb2967"
}
}
},
{
"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": "3a87d3513a2f5ec629e394de3376165cb41ee913"
},
"annotations": {
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
"hwlab.pikastech.local/opencode-provider-profile": "gpt.pika",
"hwlab.pikastech.local/opencode-provider-id": "gpt.pika",
"hwlab.pikastech.local/opencode-model": "gpt-5.4-mini",
"hwlab.pikastech.local/opencode-provider-base-url": "http://127.0.0.1:4097/v1",
"hwlab.pikastech.local/opencode-provider-upstream-base-url": "https://api.pikapython.com/",
"hwlab.pikastech.local/opencode-image": "127.0.0.1:5000/hwlab/opencode:1.17.7-git",
"hwlab.pikastech.local/opencode-config-sha256": "e5320440e18d83aaea578998170887d7ad36bfc4691f5e2b4d29522e5b973e69",
"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-gpt-pika",
"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": "3a87d3513a2f5ec629e394de3376165cb41ee913",
"hwlab.pikastech.local/opencode-provider-proxy-boot-sh": "deploy/runtime/boot/opencode-provider-proxy.sh",
"hwlab.pikastech.local/opencode-provider-proxy-environment-digest": "sha256:212f1da818f32500f25c495a6a4708a4113f44f4f2718387398dd5d7cfeb2967"
}
},
"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": "3a87d3513a2f5ec629e394de3376165cb41ee913"
},
"annotations": {
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
"hwlab.pikastech.local/opencode-provider-profile": "gpt.pika",
"hwlab.pikastech.local/opencode-provider-id": "gpt.pika",
"hwlab.pikastech.local/opencode-model": "gpt-5.4-mini",
"hwlab.pikastech.local/opencode-provider-base-url": "http://127.0.0.1:4097/v1",
"hwlab.pikastech.local/opencode-provider-upstream-base-url": "https://api.pikapython.com/",
"hwlab.pikastech.local/opencode-image": "127.0.0.1:5000/hwlab/opencode:1.17.7-git",
"hwlab.pikastech.local/opencode-config-sha256": "e5320440e18d83aaea578998170887d7ad36bfc4691f5e2b4d29522e5b973e69",
"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-gpt-pika",
"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": "3a87d3513a2f5ec629e394de3376165cb41ee913",
"hwlab.pikastech.local/opencode-provider-proxy-boot-sh": "deploy/runtime/boot/opencode-provider-proxy.sh",
"hwlab.pikastech.local/opencode-provider-proxy-environment-digest": "sha256:212f1da818f32500f25c495a6a4708a4113f44f4f2718387398dd5d7cfeb2967"
}
},
"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": "3a87d3513a2f5ec629e394de3376165cb41ee913"
},
"annotations": {
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
"hwlab.pikastech.local/opencode-provider-profile": "gpt.pika",
"hwlab.pikastech.local/opencode-provider-id": "gpt.pika",
"hwlab.pikastech.local/opencode-model": "gpt-5.4-mini",
"hwlab.pikastech.local/opencode-provider-base-url": "http://127.0.0.1:4097/v1",
"hwlab.pikastech.local/opencode-provider-upstream-base-url": "https://api.pikapython.com/",
"hwlab.pikastech.local/opencode-image": "127.0.0.1:5000/hwlab/opencode:1.17.7-git",
"hwlab.pikastech.local/opencode-config-sha256": "e5320440e18d83aaea578998170887d7ad36bfc4691f5e2b4d29522e5b973e69",
"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-gpt-pika",
"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": "3a87d3513a2f5ec629e394de3376165cb41ee913",
"hwlab.pikastech.local/opencode-provider-proxy-boot-sh": "deploy/runtime/boot/opencode-provider-proxy.sh",
"hwlab.pikastech.local/opencode-provider-proxy-environment-digest": "sha256:212f1da818f32500f25c495a6a4708a4113f44f4f2718387398dd5d7cfeb2967"
}
},
"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": "3a87d3513a2f5ec629e394de3376165cb41ee913"
},
"annotations": {
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
"hwlab.pikastech.local/opencode-provider-profile": "gpt.pika",
"hwlab.pikastech.local/opencode-provider-id": "gpt.pika",
"hwlab.pikastech.local/opencode-model": "gpt-5.4-mini",
"hwlab.pikastech.local/opencode-provider-base-url": "http://127.0.0.1:4097/v1",
"hwlab.pikastech.local/opencode-provider-upstream-base-url": "https://api.pikapython.com/",
"hwlab.pikastech.local/opencode-image": "127.0.0.1:5000/hwlab/opencode:1.17.7-git",
"hwlab.pikastech.local/opencode-config-sha256": "e5320440e18d83aaea578998170887d7ad36bfc4691f5e2b4d29522e5b973e69",
"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-gpt-pika",
"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": "3a87d3513a2f5ec629e394de3376165cb41ee913",
"hwlab.pikastech.local/opencode-provider-proxy-boot-sh": "deploy/runtime/boot/opencode-provider-proxy.sh",
"hwlab.pikastech.local/opencode-provider-proxy-environment-digest": "sha256:212f1da818f32500f25c495a6a4708a4113f44f4f2718387398dd5d7cfeb2967"
}
},
"spec": {
"serviceAccountName": "opencode-server",
"securityContext": {
"fsGroup": 1000,
"fsGroupChangePolicy": "OnRootMismatch"
},
"initContainers": [
{
"name": "opencode-workspace-git-init",
"image": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:212f1da818f32500f25c495a6a4708a4113f44f4f2718387398dd5d7cfeb2967",
"imagePullPolicy": "IfNotPresent",
"command": [
"/bin/sh",
"-ec"
],
"args": [
"set -eu\nmkdir -p /workspace\nif [ ! -d /workspace/.git ]; then\n git -C /workspace init\nfi\ngit -C /workspace config user.name 'HWLAB OpenCode' || true\ngit -C /workspace config user.email 'opencode@hwlab.local' || true\nchgrp -R 1000 /workspace/.git 2>/dev/null || true\nchmod -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,152.53.229.148,152.53.229.148,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,152.53.229.148,152.53.229.148,hyueapi.com,.hyueapi.com"
},
{
"name": "OPENCODE_CONFIG_CONTENT",
"value": "{\"$schema\":\"https://opencode.ai/config.json\",\"autoupdate\":false,\"share\":\"disabled\",\"model\":\"gpt.pika/gpt-5.4-mini\",\"small_model\":\"gpt.pika/gpt-5.4-mini\",\"provider\":{\"gpt.pika\":{\"npm\":\"@ai-sdk/openai-compatible\",\"name\":\"AgentRun gpt.pika\",\"options\":{\"baseURL\":\"http://127.0.0.1:4097/v1\",\"apiKey\":\"{env:OPENCODE_GPT_PIKA_API_KEY}\",\"timeout\":600000,\"headerTimeout\":600000,\"chunkTimeout\":300000},\"models\":{\"gpt-5.4-mini\":{\"name\":\"gpt-5.4-mini\",\"reasoning\":false,\"tool_call\":true,\"limit\":{\"context\":1000000,\"output\":384000}}}}}}"
},
{
"name": "OPENCODE_GPT_PIKA_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-ts-runtime-env@sha256:212f1da818f32500f25c495a6a4708a4113f44f4f2718387398dd5d7cfeb2967",
"imagePullPolicy": "IfNotPresent",
"env": [
{
"name": "HWLAB_SERVICE_ID",
"value": "opencode-provider-proxy"
},
{
"name": "HWLAB_ENVIRONMENT",
"value": "v03"
},
{
"name": "HWLAB_COMMIT_ID",
"value": "3a87d3513a2f5ec629e394de3376165cb41ee913"
},
{
"name": "HWLAB_IMAGE",
"value": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:212f1da818f32500f25c495a6a4708a4113f44f4f2718387398dd5d7cfeb2967"
},
{
"name": "HWLAB_IMAGE_TAG",
"value": "env-6ef8ca3abf22"
},
{
"name": "PORT",
"value": "4097"
},
{
"name": "HWLAB_OPENCODE_PROVIDER_PROXY_UPSTREAM_BASE_URL",
"value": "https://api.pikapython.com/"
},
{
"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": "3a87d3513a2f5ec629e394de3376165cb41ee913"
},
{
"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://gitea-http.devops-infra.svc.cluster.local:3000/mirrors/pikasTech-HWLAB.git"
},
{
"name": "HWLAB_ENVIRONMENT_IMAGE",
"value": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env:env-6ef8ca3abf22"
},
{
"name": "HWLAB_ENVIRONMENT_DIGEST",
"value": "sha256:212f1da818f32500f25c495a6a4708a4113f44f4f2718387398dd5d7cfeb2967"
},
{
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
"value": "6ef8ca3abf22d871599b06333d285bd64f105a7a799b2937bb9c8f037fc0fd93"
},
{
"name": "HWLAB_CODE_INPUT_HASH",
"value": "d6142983ba6f3786afc3dbff243e1215bdf7bb5e4c44fb6064a8caf467a7f396"
},
{
"name": "HWLAB_IMAGE_DIGEST",
"value": "sha256:212f1da818f32500f25c495a6a4708a4113f44f4f2718387398dd5d7cfeb2967"
}
],
"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"
}
}
]
}
}
}
}
]
}