Files
pikasTech-HWLAB/deploy/gitops/node/nc01/runtime-v03/workloads.yaml
T
2026-07-21 20:43:45 +00:00

6686 lines
267 KiB
YAML

{
"apiVersion": "v1",
"kind": "List",
"items": [
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"name": "hwlab-hwpod-api",
"namespace": "hwlab-v03",
"labels": {
"app.kubernetes.io/name": "hwlab-hwpod-api",
"hwlab.pikastech.local/service-id": "hwlab-hwpod-api",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"unidesk.ai/node-staging": "false",
"hwlab.pikastech.local/monitoring": "enabled"
},
"annotations": {
"hwlab.pikastech.local/gitops-note": "node DEV GitOps target.",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
}
},
"spec": {
"replicas": 1,
"selector": {
"matchLabels": {
"app.kubernetes.io/name": "hwlab-hwpod-api",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03"
}
},
"template": {
"metadata": {
"labels": {
"app.kubernetes.io/name": "hwlab-hwpod-api",
"hwlab.pikastech.local/service-id": "hwlab-hwpod-api",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/monitoring": "enabled",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
"annotations": {
"hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-hwpod-api.sh",
"hwlab.pikastech.local/environment-digest": "sha256:70d4420bd5c17a8448d13b02bef54dfe7cdb2037e8b393884719edf1f073e761",
"hwlab.pikastech.local/environment-input-hash": "1342b35c683d1388cd20618daef82ba05fe0a3ab327033f8039f27cae7d92d9c",
"hwlab.pikastech.local/code-input-hash": "5793ea5cd471c95b507c549fba90b13aa687c22990c83df91568fe7d9aaaad88"
}
},
"spec": {
"containers": [
{
"name": "hwlab-hwpod-api",
"image": "127.0.0.1:5000/hwlab/hwlab-hwpod-api-env@sha256:70d4420bd5c17a8448d13b02bef54dfe7cdb2037e8b393884719edf1f073e761",
"ports": [
{
"name": "http",
"containerPort": 6681
}
],
"env": [
{
"name": "HWPOD_API_PORT",
"value": "6681"
},
{
"name": "TZ",
"value": "Asia/Shanghai"
},
{
"name": "HWPOD_API_HOST",
"value": "0.0.0.0"
},
{
"name": "HWPOD_TEMPORAL_ADDRESS",
"value": "temporal-frontend.temporal.svc.cluster.local:7233"
},
{
"name": "HWPOD_TEMPORAL_NAMESPACE",
"value": "unidesk"
},
{
"name": "HWPOD_TEMPORAL_TASK_QUEUE",
"value": "hwlab-v03-hwpod"
},
{
"name": "HWPOD_RUNTIME_API_URL",
"value": "http://hwlab-cloud-api.hwlab-v03.svc.cluster.local:6667"
},
{
"name": "HWPOD_RUNTIME_API_AUTHORIZATION",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-v03-master-server-admin-api-key",
"key": "api-key",
"optional": true
}
}
},
{
"name": "HWPOD_RUNTIME_API_AUTHORIZATION_PREFIX",
"value": "Bearer"
},
{
"name": "HWPOD_SPEC_DATABASE_URL",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-cloud-api-v03-db",
"key": "database-url",
"optional": true
}
}
},
{
"name": "HWPOD_SPEC_DATABASE_SCHEMA",
"value": "hwpod"
},
{
"name": "HWPOD_SPEC_DATABASE_TABLE",
"value": "runtime_specs"
},
{
"name": "HWPOD_SPEC_DATABASE_CONNECTION_TIMEOUT_MS",
"value": "5000"
},
{
"name": "HWPOD_BUILTIN_SPEC_CONFIG_DIRECTORY",
"value": "/etc/hwlab/hwpod-specs"
},
{
"name": "OTEL_SERVICE_NAME",
"value": "hwlab-hwpod-api"
},
{
"name": "HWLAB_ENVIRONMENT",
"value": "v03"
},
{
"name": "HWLAB_COMMIT_ID",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_IMAGE",
"value": "127.0.0.1:5000/hwlab/hwlab-hwpod-api-env@sha256:70d4420bd5c17a8448d13b02bef54dfe7cdb2037e8b393884719edf1f073e761"
},
{
"name": "HWLAB_IMAGE_TAG",
"value": "env-1342b35c683d"
},
{
"name": "HWLAB_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_PROFILE",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_SOURCE_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_RUNTIME_MODE",
"value": "env-reuse-gitea-checkout"
},
{
"name": "HWLAB_BOOT_REPO",
"value": "git@github.com:pikasTech/HWLAB.git"
},
{
"name": "HWLAB_BOOT_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_BOOT_REF",
"value": "v0.3"
},
{
"name": "HWLAB_BOOT_SH",
"value": "deploy/runtime/boot/hwlab-hwpod-api.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-hwpod-api-env:env-1342b35c683d"
},
{
"name": "HWLAB_ENVIRONMENT_DIGEST",
"value": "sha256:70d4420bd5c17a8448d13b02bef54dfe7cdb2037e8b393884719edf1f073e761"
},
{
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
"value": "1342b35c683d1388cd20618daef82ba05fe0a3ab327033f8039f27cae7d92d9c"
},
{
"name": "HWLAB_CODE_INPUT_HASH",
"value": "5793ea5cd471c95b507c549fba90b13aa687c22990c83df91568fe7d9aaaad88"
},
{
"name": "HWLAB_IMAGE_DIGEST",
"value": "sha256:70d4420bd5c17a8448d13b02bef54dfe7cdb2037e8b393884719edf1f073e761"
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/ready",
"port": "http"
}
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "http"
}
},
"imagePullPolicy": "IfNotPresent",
"volumeMounts": [
{
"name": "hwpod-preinstalled-specs",
"mountPath": "/etc/hwlab/hwpod-specs",
"readOnly": true
}
],
"startupProbe": {
"httpGet": {
"path": "/health/ready",
"port": "http"
},
"periodSeconds": 10,
"timeoutSeconds": 2,
"failureThreshold": 30,
"successThreshold": 1
}
},
{
"name": "hwlab-metrics",
"image": "127.0.0.1:5000/hwlab/hwlab-ci-node-tools:node22-alpine-bun-v1",
"imagePullPolicy": "IfNotPresent",
"command": [
"node",
"/metrics/metrics-sidecar.mjs"
],
"env": [
{
"name": "HWLAB_METRICS_SERVICE_ID",
"value": "hwlab-hwpod-api"
},
{
"name": "HWLAB_METRICS_NAMESPACE",
"value": "hwlab-v03"
},
{
"name": "HWLAB_METRICS_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_METRICS_PORT",
"value": "9100"
},
{
"name": "HWLAB_METRICS_TARGET_URL",
"value": "http://127.0.0.1:6681/health/live"
},
{
"name": "HWLAB_METRICS_TARGET_TIMEOUT_MS",
"value": "2000"
}
],
"ports": [
{
"name": "metrics",
"containerPort": 9100
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 3,
"periodSeconds": 10
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 10,
"periodSeconds": 20
},
"volumeMounts": [
{
"name": "hwlab-metrics-sidecar",
"mountPath": "/metrics",
"readOnly": true
}
]
}
],
"volumes": [
{
"name": "hwlab-metrics-sidecar",
"configMap": {
"name": "hwlab-v03-metrics-sidecar"
}
},
{
"name": "hwpod-preinstalled-specs",
"configMap": {
"name": "hwlab-v03-hwpod-preinstalled-specs"
}
}
]
}
}
}
},
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"name": "hwlab-hwpod-worker",
"namespace": "hwlab-v03",
"labels": {
"app.kubernetes.io/name": "hwlab-hwpod-worker",
"hwlab.pikastech.local/service-id": "hwlab-hwpod-worker",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"unidesk.ai/node-staging": "false",
"hwlab.pikastech.local/monitoring": "enabled"
},
"annotations": {
"hwlab.pikastech.local/gitops-note": "node DEV GitOps target.",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
}
},
"spec": {
"replicas": 1,
"selector": {
"matchLabels": {
"app.kubernetes.io/name": "hwlab-hwpod-worker",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03"
}
},
"template": {
"metadata": {
"labels": {
"app.kubernetes.io/name": "hwlab-hwpod-worker",
"hwlab.pikastech.local/service-id": "hwlab-hwpod-worker",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/monitoring": "enabled",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
"annotations": {
"hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-hwpod-worker.sh",
"hwlab.pikastech.local/environment-digest": "sha256:bdb5fe5c2cb467f3eb81141e2617af8188b7e1a4221de1afcb1141b2fbd527f3",
"hwlab.pikastech.local/environment-input-hash": "1342b35c683d1388cd20618daef82ba05fe0a3ab327033f8039f27cae7d92d9c",
"hwlab.pikastech.local/code-input-hash": "c4baf75f15c8e46b7a40774e9c6a7c5f1853cc1766c6f6ca710824ac2398b71b"
}
},
"spec": {
"containers": [
{
"name": "hwlab-hwpod-worker",
"image": "127.0.0.1:5000/hwlab/hwlab-hwpod-worker-env@sha256:bdb5fe5c2cb467f3eb81141e2617af8188b7e1a4221de1afcb1141b2fbd527f3",
"ports": [
{
"name": "health",
"containerPort": 6682
}
],
"env": [
{
"name": "HWPOD_WORKER_HEALTH_PORT",
"value": "6682"
},
{
"name": "TZ",
"value": "Asia/Shanghai"
},
{
"name": "HWPOD_WORKER_HEALTH_HOST",
"value": "0.0.0.0"
},
{
"name": "HWPOD_TEMPORAL_ADDRESS",
"value": "temporal-frontend.temporal.svc.cluster.local:7233"
},
{
"name": "HWPOD_TEMPORAL_NAMESPACE",
"value": "unidesk"
},
{
"name": "HWPOD_TEMPORAL_TASK_QUEUE",
"value": "hwlab-v03-hwpod"
},
{
"name": "HWPOD_RUNTIME_API_URL",
"value": "http://hwlab-cloud-api.hwlab-v03.svc.cluster.local:6667"
},
{
"name": "HWPOD_RUNTIME_API_AUTHORIZATION",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-v03-master-server-admin-api-key",
"key": "api-key",
"optional": true
}
}
},
{
"name": "HWPOD_RUNTIME_API_AUTHORIZATION_PREFIX",
"value": "Bearer"
},
{
"name": "HWPOD_SPEC_DATABASE_URL",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-cloud-api-v03-db",
"key": "database-url",
"optional": true
}
}
},
{
"name": "HWPOD_SPEC_DATABASE_SCHEMA",
"value": "hwpod"
},
{
"name": "HWPOD_SPEC_DATABASE_TABLE",
"value": "runtime_specs"
},
{
"name": "HWPOD_SPEC_DATABASE_CONNECTION_TIMEOUT_MS",
"value": "5000"
},
{
"name": "HWPOD_BUILTIN_SPEC_CONFIG_DIRECTORY",
"value": "/etc/hwlab/hwpod-specs"
},
{
"name": "OTEL_SERVICE_NAME",
"value": "hwlab-hwpod-worker"
},
{
"name": "HWLAB_ENVIRONMENT",
"value": "v03"
},
{
"name": "HWLAB_COMMIT_ID",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_IMAGE",
"value": "127.0.0.1:5000/hwlab/hwlab-hwpod-worker-env@sha256:bdb5fe5c2cb467f3eb81141e2617af8188b7e1a4221de1afcb1141b2fbd527f3"
},
{
"name": "HWLAB_IMAGE_TAG",
"value": "env-1342b35c683d"
},
{
"name": "HWLAB_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_PROFILE",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_SOURCE_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_RUNTIME_MODE",
"value": "env-reuse-gitea-checkout"
},
{
"name": "HWLAB_BOOT_REPO",
"value": "git@github.com:pikasTech/HWLAB.git"
},
{
"name": "HWLAB_BOOT_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_BOOT_REF",
"value": "v0.3"
},
{
"name": "HWLAB_BOOT_SH",
"value": "deploy/runtime/boot/hwlab-hwpod-worker.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-hwpod-worker-env:env-1342b35c683d"
},
{
"name": "HWLAB_ENVIRONMENT_DIGEST",
"value": "sha256:bdb5fe5c2cb467f3eb81141e2617af8188b7e1a4221de1afcb1141b2fbd527f3"
},
{
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
"value": "1342b35c683d1388cd20618daef82ba05fe0a3ab327033f8039f27cae7d92d9c"
},
{
"name": "HWLAB_CODE_INPUT_HASH",
"value": "c4baf75f15c8e46b7a40774e9c6a7c5f1853cc1766c6f6ca710824ac2398b71b"
},
{
"name": "HWLAB_IMAGE_DIGEST",
"value": "sha256:bdb5fe5c2cb467f3eb81141e2617af8188b7e1a4221de1afcb1141b2fbd527f3"
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/ready",
"port": "health"
}
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "health"
}
},
"imagePullPolicy": "IfNotPresent",
"volumeMounts": [
{
"name": "hwpod-preinstalled-specs",
"mountPath": "/etc/hwlab/hwpod-specs",
"readOnly": true
}
],
"startupProbe": {
"httpGet": {
"path": "/health/ready",
"port": "health"
},
"periodSeconds": 10,
"timeoutSeconds": 2,
"failureThreshold": 30,
"successThreshold": 1
}
},
{
"name": "hwlab-metrics",
"image": "127.0.0.1:5000/hwlab/hwlab-ci-node-tools:node22-alpine-bun-v1",
"imagePullPolicy": "IfNotPresent",
"command": [
"node",
"/metrics/metrics-sidecar.mjs"
],
"env": [
{
"name": "HWLAB_METRICS_SERVICE_ID",
"value": "hwlab-hwpod-worker"
},
{
"name": "HWLAB_METRICS_NAMESPACE",
"value": "hwlab-v03"
},
{
"name": "HWLAB_METRICS_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_METRICS_PORT",
"value": "9100"
},
{
"name": "HWLAB_METRICS_TARGET_URL",
"value": "http://127.0.0.1:6682/health/live"
},
{
"name": "HWLAB_METRICS_TARGET_TIMEOUT_MS",
"value": "2000"
}
],
"ports": [
{
"name": "metrics",
"containerPort": 9100
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 3,
"periodSeconds": 10
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 10,
"periodSeconds": 20
},
"volumeMounts": [
{
"name": "hwlab-metrics-sidecar",
"mountPath": "/metrics",
"readOnly": true
}
]
}
],
"volumes": [
{
"name": "hwlab-metrics-sidecar",
"configMap": {
"name": "hwlab-v03-metrics-sidecar"
}
},
{
"name": "hwpod-preinstalled-specs",
"configMap": {
"name": "hwlab-v03-hwpod-preinstalled-specs"
}
}
]
}
}
}
},
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"name": "hwlab-hwpod-web",
"namespace": "hwlab-v03",
"labels": {
"app.kubernetes.io/name": "hwlab-hwpod-web",
"hwlab.pikastech.local/service-id": "hwlab-hwpod-web",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"unidesk.ai/node-staging": "false",
"hwlab.pikastech.local/monitoring": "enabled"
},
"annotations": {
"hwlab.pikastech.local/gitops-note": "node DEV GitOps target.",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
}
},
"spec": {
"replicas": 1,
"selector": {
"matchLabels": {
"app.kubernetes.io/name": "hwlab-hwpod-web",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03"
}
},
"template": {
"metadata": {
"labels": {
"app.kubernetes.io/name": "hwlab-hwpod-web",
"hwlab.pikastech.local/service-id": "hwlab-hwpod-web",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/monitoring": "enabled",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
"annotations": {
"hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-hwpod-web.sh",
"hwlab.pikastech.local/environment-digest": "sha256:d5a43274fdef3802351e013c91e027f6bbb4a2bd72da1258bd56a052b87cf48f",
"hwlab.pikastech.local/environment-input-hash": "1342b35c683d1388cd20618daef82ba05fe0a3ab327033f8039f27cae7d92d9c",
"hwlab.pikastech.local/code-input-hash": "5530dc0c9147bd193332c8ca08e0bef0f4e3eb01c48284c4642f5dbe2abf2443"
}
},
"spec": {
"containers": [
{
"name": "hwlab-hwpod-web",
"image": "127.0.0.1:5000/hwlab/hwlab-hwpod-web-env@sha256:d5a43274fdef3802351e013c91e027f6bbb4a2bd72da1258bd56a052b87cf48f",
"ports": [
{
"name": "http",
"containerPort": 8080
}
],
"env": [
{
"name": "HWPOD_WEB_PORT",
"value": "8080"
},
{
"name": "BUN_CONFIG_REGISTRY",
"value": "https://registry.npmjs.org/"
},
{
"name": "npm_config_registry",
"value": "https://registry.npmjs.org/"
},
{
"name": "HWPOD_WEB_HOST",
"value": "0.0.0.0"
},
{
"name": "HWPOD_API_URL",
"value": "http://hwlab-hwpod-api.hwlab-v03.svc.cluster.local:6681"
},
{
"name": "HWPOD_WEB_ROOT",
"value": "web/hwlab-cloud-web/hwpod/dist"
},
{
"name": "OTEL_SERVICE_NAME",
"value": "hwlab-hwpod-web"
},
{
"name": "HWLAB_ENVIRONMENT",
"value": "v03"
},
{
"name": "HWLAB_COMMIT_ID",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_IMAGE",
"value": "127.0.0.1:5000/hwlab/hwlab-hwpod-web-env@sha256:d5a43274fdef3802351e013c91e027f6bbb4a2bd72da1258bd56a052b87cf48f"
},
{
"name": "HWLAB_IMAGE_TAG",
"value": "env-1342b35c683d"
},
{
"name": "HWLAB_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_PROFILE",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_SOURCE_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_RUNTIME_MODE",
"value": "env-reuse-gitea-checkout"
},
{
"name": "HWLAB_BOOT_REPO",
"value": "git@github.com:pikasTech/HWLAB.git"
},
{
"name": "HWLAB_BOOT_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_BOOT_REF",
"value": "v0.3"
},
{
"name": "HWLAB_BOOT_SH",
"value": "deploy/runtime/boot/hwlab-hwpod-web.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-hwpod-web-env:env-1342b35c683d"
},
{
"name": "HWLAB_ENVIRONMENT_DIGEST",
"value": "sha256:d5a43274fdef3802351e013c91e027f6bbb4a2bd72da1258bd56a052b87cf48f"
},
{
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
"value": "1342b35c683d1388cd20618daef82ba05fe0a3ab327033f8039f27cae7d92d9c"
},
{
"name": "HWLAB_CODE_INPUT_HASH",
"value": "5530dc0c9147bd193332c8ca08e0bef0f4e3eb01c48284c4642f5dbe2abf2443"
},
{
"name": "HWLAB_IMAGE_DIGEST",
"value": "sha256:d5a43274fdef3802351e013c91e027f6bbb4a2bd72da1258bd56a052b87cf48f"
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/live",
"port": "http"
}
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "http"
}
},
"imagePullPolicy": "IfNotPresent",
"startupProbe": {
"httpGet": {
"path": "/health/live",
"port": "http"
},
"periodSeconds": 5,
"timeoutSeconds": 3,
"failureThreshold": 60,
"successThreshold": 1
}
},
{
"name": "hwlab-metrics",
"image": "127.0.0.1:5000/hwlab/hwlab-ci-node-tools:node22-alpine-bun-v1",
"imagePullPolicy": "IfNotPresent",
"command": [
"node",
"/metrics/metrics-sidecar.mjs"
],
"env": [
{
"name": "HWLAB_METRICS_SERVICE_ID",
"value": "hwlab-hwpod-web"
},
{
"name": "HWLAB_METRICS_NAMESPACE",
"value": "hwlab-v03"
},
{
"name": "HWLAB_METRICS_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_METRICS_PORT",
"value": "9100"
},
{
"name": "HWLAB_METRICS_TARGET_URL",
"value": "http://127.0.0.1:8080/health/live"
},
{
"name": "HWLAB_METRICS_TARGET_TIMEOUT_MS",
"value": "2000"
}
],
"ports": [
{
"name": "metrics",
"containerPort": 9100
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 3,
"periodSeconds": 10
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 10,
"periodSeconds": 20
},
"volumeMounts": [
{
"name": "hwlab-metrics-sidecar",
"mountPath": "/metrics",
"readOnly": true
}
]
}
],
"volumes": [
{
"name": "hwlab-metrics-sidecar",
"configMap": {
"name": "hwlab-v03-metrics-sidecar"
}
}
]
}
}
}
},
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"name": "hwlab-tasktree-api",
"namespace": "hwlab-v03",
"labels": {
"app.kubernetes.io/name": "hwlab-tasktree-api",
"hwlab.pikastech.local/service-id": "hwlab-tasktree-api",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"unidesk.ai/node-staging": "false",
"hwlab.pikastech.local/monitoring": "enabled"
},
"annotations": {
"hwlab.pikastech.local/gitops-note": "node DEV GitOps target.",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
}
},
"spec": {
"replicas": 1,
"selector": {
"matchLabels": {
"app.kubernetes.io/name": "hwlab-tasktree-api",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03"
}
},
"template": {
"metadata": {
"labels": {
"app.kubernetes.io/name": "hwlab-tasktree-api",
"hwlab.pikastech.local/service-id": "hwlab-tasktree-api",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/monitoring": "enabled",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
"annotations": {
"hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-tasktree-api.sh",
"hwlab.pikastech.local/environment-digest": "sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2",
"hwlab.pikastech.local/environment-input-hash": "5531c27ecbd8a37dde527aecc6c53d1c626da0776ee56daefb67f921bb478eba",
"hwlab.pikastech.local/code-input-hash": "16e35cab0d3ba2f60ac09266a2830155477dd2dd9a3c0a0c5be3482b57cd16e1"
}
},
"spec": {
"containers": [
{
"name": "hwlab-tasktree-api",
"image": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2",
"ports": [
{
"name": "http",
"containerPort": 6673
}
],
"env": [
{
"name": "TASKTREE_API_PORT",
"value": "6673"
},
{
"name": "TZ",
"value": "Asia/Shanghai"
},
{
"name": "TASKTREE_DATABASE_URL",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-tasktree-db",
"key": "database-url",
"optional": true
}
}
},
{
"name": "TASKTREE_TEMPORAL_ADDRESS",
"value": "temporal-frontend.temporal.svc.cluster.local:7233"
},
{
"name": "TASKTREE_TEMPORAL_NAMESPACE",
"value": "unidesk"
},
{
"name": "TASKTREE_TEMPORAL_TASK_QUEUE",
"value": "hwlab-v03-tasktree"
},
{
"name": "OTEL_SERVICE_NAME",
"value": "hwlab-tasktree-api"
},
{
"name": "HWLAB_ENVIRONMENT",
"value": "v03"
},
{
"name": "HWLAB_COMMIT_ID",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_IMAGE",
"value": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
},
{
"name": "HWLAB_IMAGE_TAG",
"value": "env-1342b35c683d"
},
{
"name": "HWLAB_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_PROFILE",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_SOURCE_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_RUNTIME_MODE",
"value": "env-reuse-gitea-checkout"
},
{
"name": "HWLAB_BOOT_REPO",
"value": "git@github.com:pikasTech/HWLAB.git"
},
{
"name": "HWLAB_BOOT_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_BOOT_REF",
"value": "v0.3"
},
{
"name": "HWLAB_BOOT_SH",
"value": "deploy/runtime/boot/hwlab-tasktree-api.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-1342b35c683d"
},
{
"name": "HWLAB_ENVIRONMENT_DIGEST",
"value": "sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
},
{
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
"value": "5531c27ecbd8a37dde527aecc6c53d1c626da0776ee56daefb67f921bb478eba"
},
{
"name": "HWLAB_CODE_INPUT_HASH",
"value": "16e35cab0d3ba2f60ac09266a2830155477dd2dd9a3c0a0c5be3482b57cd16e1"
},
{
"name": "HWLAB_IMAGE_DIGEST",
"value": "sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/ready",
"port": "http"
}
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "http"
}
},
"imagePullPolicy": "IfNotPresent",
"startupProbe": {
"httpGet": {
"path": "/health/ready",
"port": "http"
},
"periodSeconds": 10,
"timeoutSeconds": 2,
"failureThreshold": 30,
"successThreshold": 1
}
},
{
"name": "hwlab-metrics",
"image": "127.0.0.1:5000/hwlab/hwlab-ci-node-tools:node22-alpine-bun-v1",
"imagePullPolicy": "IfNotPresent",
"command": [
"node",
"/metrics/metrics-sidecar.mjs"
],
"env": [
{
"name": "HWLAB_METRICS_SERVICE_ID",
"value": "hwlab-tasktree-api"
},
{
"name": "HWLAB_METRICS_NAMESPACE",
"value": "hwlab-v03"
},
{
"name": "HWLAB_METRICS_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_METRICS_PORT",
"value": "9100"
},
{
"name": "HWLAB_METRICS_TARGET_URL",
"value": "http://127.0.0.1:6673/health/live"
},
{
"name": "HWLAB_METRICS_TARGET_TIMEOUT_MS",
"value": "2000"
}
],
"ports": [
{
"name": "metrics",
"containerPort": 9100
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 3,
"periodSeconds": 10
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 10,
"periodSeconds": 20
},
"volumeMounts": [
{
"name": "hwlab-metrics-sidecar",
"mountPath": "/metrics",
"readOnly": true
}
]
}
],
"volumes": [
{
"name": "hwlab-metrics-sidecar",
"configMap": {
"name": "hwlab-v03-metrics-sidecar"
}
}
]
}
}
}
},
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"name": "hwlab-tasktree-worker",
"namespace": "hwlab-v03",
"labels": {
"app.kubernetes.io/name": "hwlab-tasktree-worker",
"hwlab.pikastech.local/service-id": "hwlab-tasktree-worker",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"unidesk.ai/node-staging": "false",
"hwlab.pikastech.local/monitoring": "enabled"
},
"annotations": {
"hwlab.pikastech.local/gitops-note": "node DEV GitOps target.",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
}
},
"spec": {
"replicas": 1,
"selector": {
"matchLabels": {
"app.kubernetes.io/name": "hwlab-tasktree-worker",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03"
}
},
"template": {
"metadata": {
"labels": {
"app.kubernetes.io/name": "hwlab-tasktree-worker",
"hwlab.pikastech.local/service-id": "hwlab-tasktree-worker",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/monitoring": "enabled",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
"annotations": {
"hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-tasktree-worker.sh",
"hwlab.pikastech.local/environment-digest": "sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2",
"hwlab.pikastech.local/environment-input-hash": "5531c27ecbd8a37dde527aecc6c53d1c626da0776ee56daefb67f921bb478eba",
"hwlab.pikastech.local/code-input-hash": "aa2d956ed3fa16752b8d1679a8ebcdcfa2f496982af1f8d75200a14ee7c191ff"
}
},
"spec": {
"containers": [
{
"name": "hwlab-tasktree-worker",
"image": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2",
"ports": [
{
"name": "http",
"containerPort": 6674
}
],
"env": [
{
"name": "TASKTREE_WORKER_HEALTH_PORT",
"value": "6674"
},
{
"name": "TZ",
"value": "Asia/Shanghai"
},
{
"name": "TASKTREE_DATABASE_URL",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-tasktree-db",
"key": "database-url",
"optional": true
}
}
},
{
"name": "TASKTREE_TEMPORAL_ADDRESS",
"value": "temporal-frontend.temporal.svc.cluster.local:7233"
},
{
"name": "TASKTREE_TEMPORAL_NAMESPACE",
"value": "unidesk"
},
{
"name": "TASKTREE_TEMPORAL_TASK_QUEUE",
"value": "hwlab-v03-tasktree"
},
{
"name": "OTEL_SERVICE_NAME",
"value": "hwlab-tasktree-worker"
},
{
"name": "HWLAB_ENVIRONMENT",
"value": "v03"
},
{
"name": "HWLAB_COMMIT_ID",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_IMAGE",
"value": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
},
{
"name": "HWLAB_IMAGE_TAG",
"value": "env-1342b35c683d"
},
{
"name": "HWLAB_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_PROFILE",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_SOURCE_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_RUNTIME_MODE",
"value": "env-reuse-gitea-checkout"
},
{
"name": "HWLAB_BOOT_REPO",
"value": "git@github.com:pikasTech/HWLAB.git"
},
{
"name": "HWLAB_BOOT_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_BOOT_REF",
"value": "v0.3"
},
{
"name": "HWLAB_BOOT_SH",
"value": "deploy/runtime/boot/hwlab-tasktree-worker.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-1342b35c683d"
},
{
"name": "HWLAB_ENVIRONMENT_DIGEST",
"value": "sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
},
{
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
"value": "5531c27ecbd8a37dde527aecc6c53d1c626da0776ee56daefb67f921bb478eba"
},
{
"name": "HWLAB_CODE_INPUT_HASH",
"value": "aa2d956ed3fa16752b8d1679a8ebcdcfa2f496982af1f8d75200a14ee7c191ff"
},
{
"name": "HWLAB_IMAGE_DIGEST",
"value": "sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/ready",
"port": "http"
}
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "http"
}
},
"imagePullPolicy": "IfNotPresent",
"startupProbe": {
"httpGet": {
"path": "/health/ready",
"port": "http"
},
"periodSeconds": 10,
"timeoutSeconds": 2,
"failureThreshold": 30,
"successThreshold": 1
}
},
{
"name": "hwlab-metrics",
"image": "127.0.0.1:5000/hwlab/hwlab-ci-node-tools:node22-alpine-bun-v1",
"imagePullPolicy": "IfNotPresent",
"command": [
"node",
"/metrics/metrics-sidecar.mjs"
],
"env": [
{
"name": "HWLAB_METRICS_SERVICE_ID",
"value": "hwlab-tasktree-worker"
},
{
"name": "HWLAB_METRICS_NAMESPACE",
"value": "hwlab-v03"
},
{
"name": "HWLAB_METRICS_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_METRICS_PORT",
"value": "9100"
},
{
"name": "HWLAB_METRICS_TARGET_URL",
"value": "http://127.0.0.1:6674/health/live"
},
{
"name": "HWLAB_METRICS_TARGET_TIMEOUT_MS",
"value": "2000"
}
],
"ports": [
{
"name": "metrics",
"containerPort": 9100
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 3,
"periodSeconds": 10
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 10,
"periodSeconds": 20
},
"volumeMounts": [
{
"name": "hwlab-metrics-sidecar",
"mountPath": "/metrics",
"readOnly": true
}
]
}
],
"volumes": [
{
"name": "hwlab-metrics-sidecar",
"configMap": {
"name": "hwlab-v03-metrics-sidecar"
}
}
]
}
}
}
},
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"name": "hwlab-harnessrl-api",
"namespace": "hwlab-v03",
"labels": {
"app.kubernetes.io/name": "hwlab-harnessrl-api",
"hwlab.pikastech.local/service-id": "hwlab-harnessrl-api",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"unidesk.ai/node-staging": "false",
"hwlab.pikastech.local/monitoring": "enabled"
},
"annotations": {
"hwlab.pikastech.local/gitops-note": "node DEV GitOps target.",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
}
},
"spec": {
"replicas": 1,
"selector": {
"matchLabels": {
"app.kubernetes.io/name": "hwlab-harnessrl-api",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03"
}
},
"template": {
"metadata": {
"labels": {
"app.kubernetes.io/name": "hwlab-harnessrl-api",
"hwlab.pikastech.local/service-id": "hwlab-harnessrl-api",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/monitoring": "enabled",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
"annotations": {
"hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-harnessrl-api.sh",
"hwlab.pikastech.local/environment-digest": "sha256:be9e19679ceb9957d254a219b6896e145fdde9716b331fa796fdfd22ec61550f",
"hwlab.pikastech.local/environment-input-hash": "1342b35c683d1388cd20618daef82ba05fe0a3ab327033f8039f27cae7d92d9c",
"hwlab.pikastech.local/code-input-hash": "a48f28e72d6e952f36114052f395408bb062f076e2c0c7f864f028f0b6783412"
}
},
"spec": {
"containers": [
{
"name": "hwlab-harnessrl-api",
"image": "127.0.0.1:5000/hwlab/hwlab-harnessrl-api-env@sha256:be9e19679ceb9957d254a219b6896e145fdde9716b331fa796fdfd22ec61550f",
"ports": [
{
"name": "http",
"containerPort": 6675
}
],
"env": [
{
"name": "HARNESSRL_API_PORT",
"value": "6675"
},
{
"name": "TZ",
"value": "Asia/Shanghai"
},
{
"name": "HARNESSRL_DATABASE_URL",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-cloud-api-v03-db",
"key": "database-url",
"optional": true
}
}
},
{
"name": "HARNESSRL_TEMPORAL_ADDRESS",
"value": "temporal-frontend.temporal.svc.cluster.local:7233"
},
{
"name": "HARNESSRL_TEMPORAL_NAMESPACE",
"value": "unidesk"
},
{
"name": "HARNESSRL_TEMPORAL_TASK_QUEUE",
"value": "hwlab-v03-harnessrl"
},
{
"name": "HARNESSRL_ACTIVITY_START_TO_CLOSE_TIMEOUT_MS",
"value": "1800000"
},
{
"name": "HARNESSRL_ACTIVITY_HEARTBEAT_TIMEOUT_MS",
"value": "30000"
},
{
"name": "HARNESSRL_ACTIVITY_RETRY_INITIAL_INTERVAL_MS",
"value": "1000"
},
{
"name": "HARNESSRL_ACTIVITY_RETRY_MAXIMUM_INTERVAL_MS",
"value": "30000"
},
{
"name": "HARNESSRL_ACTIVITY_RETRY_MAXIMUM_ATTEMPTS",
"value": "5"
},
{
"name": "OTEL_SERVICE_NAME",
"value": "hwlab-harnessrl-api"
},
{
"name": "HWLAB_ENVIRONMENT",
"value": "v03"
},
{
"name": "HWLAB_COMMIT_ID",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_IMAGE",
"value": "127.0.0.1:5000/hwlab/hwlab-harnessrl-api-env@sha256:be9e19679ceb9957d254a219b6896e145fdde9716b331fa796fdfd22ec61550f"
},
{
"name": "HWLAB_IMAGE_TAG",
"value": "env-1342b35c683d"
},
{
"name": "HWLAB_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_PROFILE",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_SOURCE_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_RUNTIME_MODE",
"value": "env-reuse-gitea-checkout"
},
{
"name": "HWLAB_BOOT_REPO",
"value": "git@github.com:pikasTech/HWLAB.git"
},
{
"name": "HWLAB_BOOT_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_BOOT_REF",
"value": "v0.3"
},
{
"name": "HWLAB_BOOT_SH",
"value": "deploy/runtime/boot/hwlab-harnessrl-api.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-harnessrl-api-env:env-1342b35c683d"
},
{
"name": "HWLAB_ENVIRONMENT_DIGEST",
"value": "sha256:be9e19679ceb9957d254a219b6896e145fdde9716b331fa796fdfd22ec61550f"
},
{
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
"value": "1342b35c683d1388cd20618daef82ba05fe0a3ab327033f8039f27cae7d92d9c"
},
{
"name": "HWLAB_CODE_INPUT_HASH",
"value": "a48f28e72d6e952f36114052f395408bb062f076e2c0c7f864f028f0b6783412"
},
{
"name": "HWLAB_IMAGE_DIGEST",
"value": "sha256:be9e19679ceb9957d254a219b6896e145fdde9716b331fa796fdfd22ec61550f"
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/ready",
"port": "http"
}
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "http"
}
},
"imagePullPolicy": "IfNotPresent",
"startupProbe": {
"httpGet": {
"path": "/health/ready",
"port": "http"
},
"periodSeconds": 10,
"timeoutSeconds": 2,
"failureThreshold": 30,
"successThreshold": 1
}
},
{
"name": "hwlab-metrics",
"image": "127.0.0.1:5000/hwlab/hwlab-ci-node-tools:node22-alpine-bun-v1",
"imagePullPolicy": "IfNotPresent",
"command": [
"node",
"/metrics/metrics-sidecar.mjs"
],
"env": [
{
"name": "HWLAB_METRICS_SERVICE_ID",
"value": "hwlab-harnessrl-api"
},
{
"name": "HWLAB_METRICS_NAMESPACE",
"value": "hwlab-v03"
},
{
"name": "HWLAB_METRICS_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_METRICS_PORT",
"value": "9100"
},
{
"name": "HWLAB_METRICS_TARGET_URL",
"value": "http://127.0.0.1:6675/health/live"
},
{
"name": "HWLAB_METRICS_TARGET_TIMEOUT_MS",
"value": "2000"
}
],
"ports": [
{
"name": "metrics",
"containerPort": 9100
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 3,
"periodSeconds": 10
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 10,
"periodSeconds": 20
},
"volumeMounts": [
{
"name": "hwlab-metrics-sidecar",
"mountPath": "/metrics",
"readOnly": true
}
]
}
],
"volumes": [
{
"name": "hwlab-metrics-sidecar",
"configMap": {
"name": "hwlab-v03-metrics-sidecar"
}
}
]
}
}
}
},
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"name": "hwlab-harnessrl-worker",
"namespace": "hwlab-v03",
"labels": {
"app.kubernetes.io/name": "hwlab-harnessrl-worker",
"hwlab.pikastech.local/service-id": "hwlab-harnessrl-worker",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"unidesk.ai/node-staging": "false",
"hwlab.pikastech.local/monitoring": "enabled"
},
"annotations": {
"hwlab.pikastech.local/gitops-note": "node DEV GitOps target.",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
}
},
"spec": {
"replicas": 1,
"selector": {
"matchLabels": {
"app.kubernetes.io/name": "hwlab-harnessrl-worker",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03"
}
},
"template": {
"metadata": {
"labels": {
"app.kubernetes.io/name": "hwlab-harnessrl-worker",
"hwlab.pikastech.local/service-id": "hwlab-harnessrl-worker",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/monitoring": "enabled",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
"annotations": {
"hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-harnessrl-worker.sh",
"hwlab.pikastech.local/environment-digest": "sha256:ed738e7f3e4fe9ffb835f9df49f4ea9454ea250f7e79072497711960ad3935e3",
"hwlab.pikastech.local/environment-input-hash": "1342b35c683d1388cd20618daef82ba05fe0a3ab327033f8039f27cae7d92d9c",
"hwlab.pikastech.local/code-input-hash": "e5cfa8df59198459e82bbf99b19508a420f6f030c41c81c1b3df808a81d8c89a"
}
},
"spec": {
"containers": [
{
"name": "hwlab-harnessrl-worker",
"image": "127.0.0.1:5000/hwlab/hwlab-harnessrl-worker-env@sha256:ed738e7f3e4fe9ffb835f9df49f4ea9454ea250f7e79072497711960ad3935e3",
"ports": [
{
"name": "health",
"containerPort": 6676
}
],
"env": [
{
"name": "HARNESSRL_WORKER_HEALTH_PORT",
"value": "6676"
},
{
"name": "TZ",
"value": "Asia/Shanghai"
},
{
"name": "HWLAB_CASERUN_INTERNAL_API_URL",
"value": "http://hwlab-cloud-api.hwlab-v03.svc.cluster.local:6667"
},
{
"name": "HARNESSRL_DATABASE_URL",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-cloud-api-v03-db",
"key": "database-url",
"optional": true
}
}
},
{
"name": "HARNESSRL_TEMPORAL_ADDRESS",
"value": "temporal-frontend.temporal.svc.cluster.local:7233"
},
{
"name": "HARNESSRL_TEMPORAL_NAMESPACE",
"value": "unidesk"
},
{
"name": "HARNESSRL_TEMPORAL_TASK_QUEUE",
"value": "hwlab-v03-harnessrl"
},
{
"name": "HARNESSRL_ACTIVITY_START_TO_CLOSE_TIMEOUT_MS",
"value": "1800000"
},
{
"name": "HARNESSRL_ACTIVITY_HEARTBEAT_TIMEOUT_MS",
"value": "30000"
},
{
"name": "HARNESSRL_ACTIVITY_RETRY_INITIAL_INTERVAL_MS",
"value": "1000"
},
{
"name": "HARNESSRL_ACTIVITY_RETRY_MAXIMUM_INTERVAL_MS",
"value": "30000"
},
{
"name": "HARNESSRL_ACTIVITY_RETRY_MAXIMUM_ATTEMPTS",
"value": "5"
},
{
"name": "HWLAB_RUNTIME_INTERNAL_API_URL",
"value": "http://hwlab-cloud-api.hwlab-v03.svc.cluster.local:6667"
},
{
"name": "OTEL_SERVICE_NAME",
"value": "hwlab-harnessrl-worker"
},
{
"name": "HWLAB_ENVIRONMENT",
"value": "v03"
},
{
"name": "HWLAB_COMMIT_ID",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_IMAGE",
"value": "127.0.0.1:5000/hwlab/hwlab-harnessrl-worker-env@sha256:ed738e7f3e4fe9ffb835f9df49f4ea9454ea250f7e79072497711960ad3935e3"
},
{
"name": "HWLAB_IMAGE_TAG",
"value": "env-1342b35c683d"
},
{
"name": "HWLAB_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_PROFILE",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_SOURCE_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_RUNTIME_MODE",
"value": "env-reuse-gitea-checkout"
},
{
"name": "HWLAB_BOOT_REPO",
"value": "git@github.com:pikasTech/HWLAB.git"
},
{
"name": "HWLAB_BOOT_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_BOOT_REF",
"value": "v0.3"
},
{
"name": "HWLAB_BOOT_SH",
"value": "deploy/runtime/boot/hwlab-harnessrl-worker.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-harnessrl-worker-env:env-1342b35c683d"
},
{
"name": "HWLAB_ENVIRONMENT_DIGEST",
"value": "sha256:ed738e7f3e4fe9ffb835f9df49f4ea9454ea250f7e79072497711960ad3935e3"
},
{
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
"value": "1342b35c683d1388cd20618daef82ba05fe0a3ab327033f8039f27cae7d92d9c"
},
{
"name": "HWLAB_CODE_INPUT_HASH",
"value": "e5cfa8df59198459e82bbf99b19508a420f6f030c41c81c1b3df808a81d8c89a"
},
{
"name": "HWLAB_IMAGE_DIGEST",
"value": "sha256:ed738e7f3e4fe9ffb835f9df49f4ea9454ea250f7e79072497711960ad3935e3"
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/ready",
"port": "health"
}
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "health"
}
},
"imagePullPolicy": "IfNotPresent",
"startupProbe": {
"httpGet": {
"path": "/health/ready",
"port": "health"
},
"periodSeconds": 10,
"timeoutSeconds": 2,
"failureThreshold": 30,
"successThreshold": 1
}
},
{
"name": "hwlab-metrics",
"image": "127.0.0.1:5000/hwlab/hwlab-ci-node-tools:node22-alpine-bun-v1",
"imagePullPolicy": "IfNotPresent",
"command": [
"node",
"/metrics/metrics-sidecar.mjs"
],
"env": [
{
"name": "HWLAB_METRICS_SERVICE_ID",
"value": "hwlab-harnessrl-worker"
},
{
"name": "HWLAB_METRICS_NAMESPACE",
"value": "hwlab-v03"
},
{
"name": "HWLAB_METRICS_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_METRICS_PORT",
"value": "9100"
},
{
"name": "HWLAB_METRICS_TARGET_URL",
"value": "http://127.0.0.1:6676/health/live"
},
{
"name": "HWLAB_METRICS_TARGET_TIMEOUT_MS",
"value": "2000"
}
],
"ports": [
{
"name": "metrics",
"containerPort": 9100
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 3,
"periodSeconds": 10
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 10,
"periodSeconds": 20
},
"volumeMounts": [
{
"name": "hwlab-metrics-sidecar",
"mountPath": "/metrics",
"readOnly": true
}
]
}
],
"volumes": [
{
"name": "hwlab-metrics-sidecar",
"configMap": {
"name": "hwlab-v03-metrics-sidecar"
}
}
]
}
}
}
},
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"name": "hwlab-workbench-api",
"namespace": "hwlab-v03",
"labels": {
"app.kubernetes.io/name": "hwlab-workbench-api",
"hwlab.pikastech.local/service-id": "hwlab-workbench-api",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"unidesk.ai/node-staging": "false",
"hwlab.pikastech.local/monitoring": "enabled"
},
"annotations": {
"hwlab.pikastech.local/gitops-note": "node DEV GitOps target.",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
}
},
"spec": {
"replicas": 1,
"selector": {
"matchLabels": {
"app.kubernetes.io/name": "hwlab-workbench-api",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03"
}
},
"template": {
"metadata": {
"labels": {
"app.kubernetes.io/name": "hwlab-workbench-api",
"hwlab.pikastech.local/service-id": "hwlab-workbench-api",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/monitoring": "enabled",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
"annotations": {
"hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-workbench-api.sh",
"hwlab.pikastech.local/environment-digest": "sha256:65cbd71dc7eb8557d0999bc42e25ad88b9988b121288f8adddd9ff1b7efb395b",
"hwlab.pikastech.local/environment-input-hash": "1342b35c683d1388cd20618daef82ba05fe0a3ab327033f8039f27cae7d92d9c",
"hwlab.pikastech.local/code-input-hash": "b7f8a357499f67e6914a20be4d8782fe8a6adf941e0c6e1981dfd085c52df8d4"
}
},
"spec": {
"containers": [
{
"name": "hwlab-workbench-api",
"image": "127.0.0.1:5000/hwlab/hwlab-workbench-api-env@sha256:65cbd71dc7eb8557d0999bc42e25ad88b9988b121288f8adddd9ff1b7efb395b",
"ports": [
{
"name": "http",
"containerPort": 6677
}
],
"env": [
{
"name": "WORKBENCH_API_PORT",
"value": "6677"
},
{
"name": "TZ",
"value": "Asia/Shanghai"
},
{
"name": "WORKBENCH_MODE",
"value": "temporal"
},
{
"name": "WORKBENCH_API_IDLE_TIMEOUT_SECONDS",
"value": "60"
},
{
"name": "WORKBENCH_CLOUD_API_URL",
"value": "http://hwlab-cloud-api.hwlab-v03.svc.cluster.local:6667"
},
{
"name": "WORKBENCH_CLOUD_API_AUTHORIZATION",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-v03-master-server-admin-api-key",
"key": "api-key",
"optional": true
}
}
},
{
"name": "WORKBENCH_API_AUTHORIZATION",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-v03-master-server-admin-api-key",
"key": "api-key",
"optional": true
}
}
},
{
"name": "WORKBENCH_TEMPORAL_ADDRESS",
"value": "temporal-frontend.temporal.svc.cluster.local:7233"
},
{
"name": "WORKBENCH_TEMPORAL_NAMESPACE",
"value": "unidesk"
},
{
"name": "WORKBENCH_TEMPORAL_TASK_QUEUE",
"value": "hwlab-v03-workbench"
},
{
"name": "WORKBENCH_ACTIVITY_START_TO_CLOSE_TIMEOUT_MS",
"value": "30000"
},
{
"name": "WORKBENCH_ACTIVITY_RETRY_INITIAL_INTERVAL_MS",
"value": "1000"
},
{
"name": "WORKBENCH_ACTIVITY_RETRY_MAXIMUM_INTERVAL_MS",
"value": "30000"
},
{
"name": "WORKBENCH_ACTIVITY_RETRY_MAXIMUM_ATTEMPTS",
"value": "5"
},
{
"name": "OTEL_SERVICE_NAME",
"value": "hwlab-workbench-api"
},
{
"name": "HWLAB_ENVIRONMENT",
"value": "v03"
},
{
"name": "HWLAB_COMMIT_ID",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_IMAGE",
"value": "127.0.0.1:5000/hwlab/hwlab-workbench-api-env@sha256:65cbd71dc7eb8557d0999bc42e25ad88b9988b121288f8adddd9ff1b7efb395b"
},
{
"name": "HWLAB_IMAGE_TAG",
"value": "env-1342b35c683d"
},
{
"name": "HWLAB_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_PROFILE",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_SOURCE_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_RUNTIME_MODE",
"value": "env-reuse-gitea-checkout"
},
{
"name": "HWLAB_BOOT_REPO",
"value": "git@github.com:pikasTech/HWLAB.git"
},
{
"name": "HWLAB_BOOT_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_BOOT_REF",
"value": "v0.3"
},
{
"name": "HWLAB_BOOT_SH",
"value": "deploy/runtime/boot/hwlab-workbench-api.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-workbench-api-env:env-1342b35c683d"
},
{
"name": "HWLAB_ENVIRONMENT_DIGEST",
"value": "sha256:65cbd71dc7eb8557d0999bc42e25ad88b9988b121288f8adddd9ff1b7efb395b"
},
{
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
"value": "1342b35c683d1388cd20618daef82ba05fe0a3ab327033f8039f27cae7d92d9c"
},
{
"name": "HWLAB_CODE_INPUT_HASH",
"value": "b7f8a357499f67e6914a20be4d8782fe8a6adf941e0c6e1981dfd085c52df8d4"
},
{
"name": "HWLAB_IMAGE_DIGEST",
"value": "sha256:65cbd71dc7eb8557d0999bc42e25ad88b9988b121288f8adddd9ff1b7efb395b"
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/ready",
"port": "http"
}
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "http"
}
},
"imagePullPolicy": "IfNotPresent",
"startupProbe": {
"httpGet": {
"path": "/health/ready",
"port": "http"
},
"periodSeconds": 10,
"timeoutSeconds": 2,
"failureThreshold": 30,
"successThreshold": 1
}
},
{
"name": "hwlab-metrics",
"image": "127.0.0.1:5000/hwlab/hwlab-ci-node-tools:node22-alpine-bun-v1",
"imagePullPolicy": "IfNotPresent",
"command": [
"node",
"/metrics/metrics-sidecar.mjs"
],
"env": [
{
"name": "HWLAB_METRICS_SERVICE_ID",
"value": "hwlab-workbench-api"
},
{
"name": "HWLAB_METRICS_NAMESPACE",
"value": "hwlab-v03"
},
{
"name": "HWLAB_METRICS_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_METRICS_PORT",
"value": "9100"
},
{
"name": "HWLAB_METRICS_TARGET_URL",
"value": "http://127.0.0.1:6677/health/live"
},
{
"name": "HWLAB_METRICS_TARGET_TIMEOUT_MS",
"value": "2000"
}
],
"ports": [
{
"name": "metrics",
"containerPort": 9100
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 3,
"periodSeconds": 10
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 10,
"periodSeconds": 20
},
"volumeMounts": [
{
"name": "hwlab-metrics-sidecar",
"mountPath": "/metrics",
"readOnly": true
}
]
}
],
"volumes": [
{
"name": "hwlab-metrics-sidecar",
"configMap": {
"name": "hwlab-v03-metrics-sidecar"
}
}
]
}
}
}
},
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"name": "hwlab-workbench-worker",
"namespace": "hwlab-v03",
"labels": {
"app.kubernetes.io/name": "hwlab-workbench-worker",
"hwlab.pikastech.local/service-id": "hwlab-workbench-worker",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"unidesk.ai/node-staging": "false",
"hwlab.pikastech.local/monitoring": "enabled"
},
"annotations": {
"hwlab.pikastech.local/gitops-note": "node DEV GitOps target.",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
}
},
"spec": {
"replicas": 1,
"selector": {
"matchLabels": {
"app.kubernetes.io/name": "hwlab-workbench-worker",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03"
}
},
"template": {
"metadata": {
"labels": {
"app.kubernetes.io/name": "hwlab-workbench-worker",
"hwlab.pikastech.local/service-id": "hwlab-workbench-worker",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/monitoring": "enabled",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
"annotations": {
"hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-workbench-worker.sh",
"hwlab.pikastech.local/environment-digest": "sha256:cc5e6934b1283b2ef7bb9ae74c28b279430983cbaf8e0258d8bd25ab9c60fd0d",
"hwlab.pikastech.local/environment-input-hash": "1342b35c683d1388cd20618daef82ba05fe0a3ab327033f8039f27cae7d92d9c",
"hwlab.pikastech.local/code-input-hash": "371b6fc7c79a82060b5363e2811cffd89ece991fb448c064f465bfc022c66bc5"
}
},
"spec": {
"containers": [
{
"name": "hwlab-workbench-worker",
"image": "127.0.0.1:5000/hwlab/hwlab-workbench-worker-env@sha256:cc5e6934b1283b2ef7bb9ae74c28b279430983cbaf8e0258d8bd25ab9c60fd0d",
"ports": [
{
"name": "health",
"containerPort": 6678
}
],
"env": [
{
"name": "WORKBENCH_WORKER_HEALTH_PORT",
"value": "6678"
},
{
"name": "TZ",
"value": "Asia/Shanghai"
},
{
"name": "WORKBENCH_MODE",
"value": "temporal"
},
{
"name": "WORKBENCH_CLOUD_API_URL",
"value": "http://hwlab-cloud-api.hwlab-v03.svc.cluster.local:6667"
},
{
"name": "WORKBENCH_CLOUD_API_AUTHORIZATION",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-v03-master-server-admin-api-key",
"key": "api-key",
"optional": true
}
}
},
{
"name": "WORKBENCH_TEMPORAL_ADDRESS",
"value": "temporal-frontend.temporal.svc.cluster.local:7233"
},
{
"name": "WORKBENCH_TEMPORAL_NAMESPACE",
"value": "unidesk"
},
{
"name": "WORKBENCH_TEMPORAL_TASK_QUEUE",
"value": "hwlab-v03-workbench"
},
{
"name": "WORKBENCH_ACTIVITY_START_TO_CLOSE_TIMEOUT_MS",
"value": "30000"
},
{
"name": "WORKBENCH_ACTIVITY_RETRY_INITIAL_INTERVAL_MS",
"value": "1000"
},
{
"name": "WORKBENCH_ACTIVITY_RETRY_MAXIMUM_INTERVAL_MS",
"value": "30000"
},
{
"name": "WORKBENCH_ACTIVITY_RETRY_MAXIMUM_ATTEMPTS",
"value": "5"
},
{
"name": "HWLAB_KAFKA_BOOTSTRAP_SERVERS",
"value": "platform-infra-kafka-kafka-bootstrap.platform-infra.svc.cluster.local:9092"
},
{
"name": "HWLAB_KAFKA_EVENT_TOPIC",
"value": "hwlab.event.v1"
},
{
"name": "HWLAB_KAFKA_CLIENT_ID",
"value": "hwlab-v03-workbench-worker"
},
{
"name": "OTEL_SERVICE_NAME",
"value": "hwlab-workbench-worker"
},
{
"name": "HWLAB_ENVIRONMENT",
"value": "v03"
},
{
"name": "HWLAB_COMMIT_ID",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_IMAGE",
"value": "127.0.0.1:5000/hwlab/hwlab-workbench-worker-env@sha256:cc5e6934b1283b2ef7bb9ae74c28b279430983cbaf8e0258d8bd25ab9c60fd0d"
},
{
"name": "HWLAB_IMAGE_TAG",
"value": "env-1342b35c683d"
},
{
"name": "HWLAB_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_PROFILE",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_SOURCE_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_RUNTIME_MODE",
"value": "env-reuse-gitea-checkout"
},
{
"name": "HWLAB_BOOT_REPO",
"value": "git@github.com:pikasTech/HWLAB.git"
},
{
"name": "HWLAB_BOOT_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_BOOT_REF",
"value": "v0.3"
},
{
"name": "HWLAB_BOOT_SH",
"value": "deploy/runtime/boot/hwlab-workbench-worker.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-workbench-worker-env:env-1342b35c683d"
},
{
"name": "HWLAB_ENVIRONMENT_DIGEST",
"value": "sha256:cc5e6934b1283b2ef7bb9ae74c28b279430983cbaf8e0258d8bd25ab9c60fd0d"
},
{
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
"value": "1342b35c683d1388cd20618daef82ba05fe0a3ab327033f8039f27cae7d92d9c"
},
{
"name": "HWLAB_CODE_INPUT_HASH",
"value": "371b6fc7c79a82060b5363e2811cffd89ece991fb448c064f465bfc022c66bc5"
},
{
"name": "HWLAB_IMAGE_DIGEST",
"value": "sha256:cc5e6934b1283b2ef7bb9ae74c28b279430983cbaf8e0258d8bd25ab9c60fd0d"
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/ready",
"port": "health"
}
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "health"
}
},
"imagePullPolicy": "IfNotPresent",
"startupProbe": {
"httpGet": {
"path": "/health/ready",
"port": "health"
},
"periodSeconds": 10,
"timeoutSeconds": 2,
"failureThreshold": 30,
"successThreshold": 1
}
},
{
"name": "hwlab-metrics",
"image": "127.0.0.1:5000/hwlab/hwlab-ci-node-tools:node22-alpine-bun-v1",
"imagePullPolicy": "IfNotPresent",
"command": [
"node",
"/metrics/metrics-sidecar.mjs"
],
"env": [
{
"name": "HWLAB_METRICS_SERVICE_ID",
"value": "hwlab-workbench-worker"
},
{
"name": "HWLAB_METRICS_NAMESPACE",
"value": "hwlab-v03"
},
{
"name": "HWLAB_METRICS_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_METRICS_PORT",
"value": "9100"
},
{
"name": "HWLAB_METRICS_TARGET_URL",
"value": "http://127.0.0.1:6678/health/live"
},
{
"name": "HWLAB_METRICS_TARGET_TIMEOUT_MS",
"value": "2000"
}
],
"ports": [
{
"name": "metrics",
"containerPort": 9100
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 3,
"periodSeconds": 10
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 10,
"periodSeconds": 20
},
"volumeMounts": [
{
"name": "hwlab-metrics-sidecar",
"mountPath": "/metrics",
"readOnly": true
}
]
}
],
"volumes": [
{
"name": "hwlab-metrics-sidecar",
"configMap": {
"name": "hwlab-v03-metrics-sidecar"
}
}
]
}
}
}
},
{
"apiVersion": "v1",
"kind": "PersistentVolumeClaim",
"metadata": {
"labels": {
"app.kubernetes.io/name": "hwlab-user-skills",
"hwlab.pikastech.local/service-id": "hwlab-user-skills",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"unidesk.ai/node-staging": "false"
},
"name": "hwlab-user-skills",
"namespace": "hwlab-v03",
"annotations": {
"hwlab.pikastech.local/gitops-note": "node DEV GitOps target.",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
}
},
"spec": {
"accessModes": [
"ReadWriteOnce"
],
"resources": {
"requests": {
"storage": "2Gi"
}
}
}
},
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"name": "hwlab-project-management",
"namespace": "hwlab-v03",
"labels": {
"app.kubernetes.io/name": "hwlab-project-management",
"hwlab.pikastech.local/service-id": "hwlab-project-management",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"unidesk.ai/node-staging": "false",
"hwlab.pikastech.local/monitoring": "enabled"
},
"annotations": {
"hwlab.pikastech.local/gitops-note": "node DEV GitOps target.",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
}
},
"spec": {
"replicas": 1,
"selector": {
"matchLabels": {
"app.kubernetes.io/name": "hwlab-project-management",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03"
}
},
"template": {
"metadata": {
"labels": {
"app.kubernetes.io/name": "hwlab-project-management",
"hwlab.pikastech.local/service-id": "hwlab-project-management",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/monitoring": "enabled",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
"annotations": {
"hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-project-management.sh",
"hwlab.pikastech.local/environment-digest": "sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2",
"hwlab.pikastech.local/environment-input-hash": "5531c27ecbd8a37dde527aecc6c53d1c626da0776ee56daefb67f921bb478eba",
"hwlab.pikastech.local/code-input-hash": "ad7954f7bf2a2d97cb260e9ce2b0a6d11cc30952407a60c7d313a469d21614f7"
}
},
"spec": {
"containers": [
{
"name": "hwlab-project-management",
"image": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2",
"ports": [
{
"name": "http",
"containerPort": 6672
}
],
"env": [
{
"name": "HWLAB_PROJECT_MANAGEMENT_PORT",
"value": "6672"
},
{
"name": "TZ",
"value": "Asia/Shanghai"
},
{
"name": "HWLAB_PROJECT_MANAGEMENT_DB_URL",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-cloud-api-v03-db",
"key": "database-url",
"optional": true
}
}
},
{
"name": "HWLAB_PROJECT_MANAGEMENT_DB_CONNECT_TIMEOUT_MS",
"value": "5000"
},
{
"name": "HWLAB_PROJECT_MANAGEMENT_SOURCE_ROOT",
"value": "/workspace/hwlab-boot/repo"
},
{
"name": "HWLAB_PROJECT_MANAGEMENT_SOURCE_ID",
"value": "hwlab-v03-mdtodo"
},
{
"name": "HWLAB_PROJECT_MANAGEMENT_SOURCE_NAME",
"value": "HWLAB v0.3 MDTODO"
},
{
"name": "HWLAB_PROJECT_MANAGEMENT_PROJECT_ID",
"value": "project_hwlab_v03"
},
{
"name": "HWLAB_PROJECT_MANAGEMENT_MDTODO_TASK_DEFAULT_LIMIT",
"value": "200"
},
{
"name": "HWLAB_PROJECT_MANAGEMENT_MDTODO_TASK_MAX_LIMIT",
"value": "500"
},
{
"name": "HWLAB_PROJECT_MANAGEMENT_HWPOD_NODE_OPS_URL",
"value": "http://hwlab-cloud-api.hwlab-v03.svc.cluster.local:6667/v1/hwpod-node-ops"
},
{
"name": "HWLAB_PROJECT_MANAGEMENT_HWPOD_NODE_OPS_API_KEY",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-v03-master-server-admin-api-key",
"key": "api-key",
"optional": true
}
}
},
{
"name": "HWLAB_PROJECT_MANAGEMENT_BOOTSTRAP_SOURCES_PATH",
"value": "/etc/hwlab/project-management/sources.json"
},
{
"name": "OTEL_EXPORTER_OTLP_TRACES_ENDPOINT",
"value": "http://otel-collector.platform-infra.svc.cluster.local:4318/v1/traces"
},
{
"name": "OTEL_SERVICE_NAME",
"value": "hwlab-project-management"
},
{
"name": "HWLAB_ENVIRONMENT",
"value": "v03"
},
{
"name": "HWLAB_COMMIT_ID",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_IMAGE",
"value": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
},
{
"name": "HWLAB_IMAGE_TAG",
"value": "env-1342b35c683d"
},
{
"name": "HWLAB_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_PROFILE",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_SOURCE_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_RUNTIME_MODE",
"value": "env-reuse-gitea-checkout"
},
{
"name": "HWLAB_BOOT_REPO",
"value": "git@github.com:pikasTech/HWLAB.git"
},
{
"name": "HWLAB_BOOT_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_BOOT_REF",
"value": "v0.3"
},
{
"name": "HWLAB_BOOT_SH",
"value": "deploy/runtime/boot/hwlab-project-management.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-1342b35c683d"
},
{
"name": "HWLAB_ENVIRONMENT_DIGEST",
"value": "sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
},
{
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
"value": "5531c27ecbd8a37dde527aecc6c53d1c626da0776ee56daefb67f921bb478eba"
},
{
"name": "HWLAB_CODE_INPUT_HASH",
"value": "ad7954f7bf2a2d97cb260e9ce2b0a6d11cc30952407a60c7d313a469d21614f7"
},
{
"name": "HWLAB_IMAGE_DIGEST",
"value": "sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/ready",
"port": "http"
},
"timeoutSeconds": 10,
"failureThreshold": 5
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "http"
},
"timeoutSeconds": 5,
"failureThreshold": 6
},
"imagePullPolicy": "IfNotPresent",
"volumeMounts": [
{
"name": "project-management-bootstrap",
"mountPath": "/etc/hwlab/project-management",
"readOnly": true
}
],
"startupProbe": {
"httpGet": {
"path": "/health/ready",
"port": "http"
},
"periodSeconds": 10,
"timeoutSeconds": 10,
"failureThreshold": 30,
"successThreshold": 1
}
},
{
"name": "hwlab-metrics",
"image": "127.0.0.1:5000/hwlab/hwlab-ci-node-tools:node22-alpine-bun-v1",
"imagePullPolicy": "IfNotPresent",
"command": [
"node",
"/metrics/metrics-sidecar.mjs"
],
"env": [
{
"name": "HWLAB_METRICS_SERVICE_ID",
"value": "hwlab-project-management"
},
{
"name": "HWLAB_METRICS_NAMESPACE",
"value": "hwlab-v03"
},
{
"name": "HWLAB_METRICS_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_METRICS_PORT",
"value": "9100"
},
{
"name": "HWLAB_METRICS_TARGET_URL",
"value": "http://127.0.0.1:6672/health/live"
},
{
"name": "HWLAB_METRICS_TARGET_TIMEOUT_MS",
"value": "2000"
}
],
"ports": [
{
"name": "metrics",
"containerPort": 9100
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 3,
"periodSeconds": 10
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 10,
"periodSeconds": 20
},
"volumeMounts": [
{
"name": "hwlab-metrics-sidecar",
"mountPath": "/metrics",
"readOnly": true
}
]
}
],
"volumes": [
{
"name": "hwlab-metrics-sidecar",
"configMap": {
"name": "hwlab-v03-metrics-sidecar"
}
},
{
"name": "project-management-bootstrap",
"configMap": {
"name": "hwlab-v03-project-management-bootstrap"
}
}
]
}
}
}
},
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"name": "hwlab-workbench-runtime",
"namespace": "hwlab-v03",
"labels": {
"app.kubernetes.io/name": "hwlab-workbench-runtime",
"hwlab.pikastech.local/service-id": "hwlab-workbench-runtime",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"unidesk.ai/node-staging": "false",
"hwlab.pikastech.local/monitoring": "enabled"
},
"annotations": {
"hwlab.pikastech.local/gitops-note": "node DEV GitOps target.",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
}
},
"spec": {
"replicas": 1,
"selector": {
"matchLabels": {
"app.kubernetes.io/name": "hwlab-workbench-runtime",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03"
}
},
"template": {
"metadata": {
"labels": {
"app.kubernetes.io/name": "hwlab-workbench-runtime",
"hwlab.pikastech.local/service-id": "hwlab-workbench-runtime",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/monitoring": "enabled",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
"annotations": {
"hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-workbench-runtime.sh",
"hwlab.pikastech.local/environment-digest": "sha256:74624eb24c92c9a48a0c2d24a16da77832471a3ca0167ee4f888595f0267554f",
"hwlab.pikastech.local/environment-input-hash": "13bdc18b089e043c5eaaaa79e50f9858fba53506d35e5e2d73dca1ead8608d1b",
"hwlab.pikastech.local/code-input-hash": "396d8eb6ed0800ea9fad0b4c7340fe4b826e67efaeee108e1e042c58f002ac4b"
}
},
"spec": {
"containers": [
{
"name": "hwlab-workbench-runtime",
"image": "127.0.0.1:5000/hwlab/hwlab-go-runtime-env@sha256:74624eb24c92c9a48a0c2d24a16da77832471a3ca0167ee4f888595f0267554f",
"ports": [
{
"name": "http",
"containerPort": 6671
}
],
"env": [
{
"name": "HWLAB_WORKBENCH_RUNTIME_PORT",
"value": "6671"
},
{
"name": "TZ",
"value": "Asia/Shanghai"
},
{
"name": "HWLAB_WORKBENCH_SESSIONS_SUMMARY_QUERY_MAX_ATTEMPTS",
"value": "1"
},
{
"name": "HWLAB_WORKBENCH_SESSIONS_SUMMARY_QUERY_ATTEMPT_TIMEOUT_MS",
"value": "10000"
},
{
"name": "HWLAB_WORKBENCH_SESSIONS_SUMMARY_QUERY_BACKOFF_MS",
"value": "0"
},
{
"name": "HWLAB_WORKBENCH_RUNTIME_DB_POOL_MAX",
"value": "16"
},
{
"name": "HWLAB_WORKBENCH_RUNTIME_QUERY_TIMEOUT_MS",
"value": "10000"
},
{
"name": "HWLAB_WORKBENCH_RUNTIME_READY_TIMEOUT_MS",
"value": "10000"
},
{
"name": "HWLAB_WORKBENCH_CACHE_REDIS_ENABLED",
"value": "1"
},
{
"name": "HWLAB_WORKBENCH_CACHE_REDIS_NAMESPACE",
"value": "hwlab-v03"
},
{
"name": "HWLAB_WORKBENCH_CACHE_REDIS_SERVICE_NAME",
"value": "hwlab-workbench-redis"
},
{
"name": "HWLAB_WORKBENCH_CACHE_REDIS_PORT",
"value": "6379"
},
{
"name": "HWLAB_WORKBENCH_CACHE_REDIS_URL",
"value": "redis://hwlab-workbench-redis.hwlab-v03.svc.cluster.local:6379/0"
},
{
"name": "HWLAB_WORKBENCH_CACHE_REDIS_TTL_SESSIONS_SUMMARY_MS",
"value": "30000"
},
{
"name": "HWLAB_WORKBENCH_CACHE_REDIS_TTL_TERMINAL_TURN_MS",
"value": "300000"
},
{
"name": "HWLAB_WORKBENCH_CACHE_REDIS_TTL_TERMINAL_TRACE_PAGE_MS",
"value": "300000"
},
{
"name": "HWLAB_WORKBENCH_CACHE_REDIS_TTL_RUNNING_PAGE_MS",
"value": "5000"
},
{
"name": "HWLAB_WORKBENCH_CACHE_REDIS_MAX_KEY_BYTES",
"value": "512"
},
{
"name": "HWLAB_WORKBENCH_CACHE_REDIS_MAX_PAYLOAD_BYTES",
"value": "262144"
},
{
"name": "HWLAB_WORKBENCH_CACHE_REDIS_CONNECT_TIMEOUT_MS",
"value": "200"
},
{
"name": "HWLAB_WORKBENCH_CACHE_REDIS_OPERATION_TIMEOUT_MS",
"value": "100"
},
{
"name": "HWLAB_WORKBENCH_CACHE_REDIS_METRICS_LABELS",
"value": "{\"lane\":\"v03\",\"service\":\"hwlab-workbench-runtime\",\"cacheKeyClass\":\"workbench-derived-read\"}"
},
{
"name": "HWLAB_WORKBENCH_CACHE_REDIS_UNAVAILABLE_LIVENESS_FAILURE",
"value": "0"
},
{
"name": "HWLAB_WORKBENCH_CACHE_REDIS_UNAVAILABLE_READ_MODE",
"value": "db-or-degraded"
},
{
"name": "HWLAB_WORKBENCH_CACHE_REDIS_UNAVAILABLE_FALLBACK_STATE_SOURCE",
"value": "0"
},
{
"name": "HWLAB_WORKBENCH_RUNTIME_DB_URL",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-cloud-api-v03-db",
"key": "database-url",
"optional": true
}
}
},
{
"name": "OTEL_EXPORTER_OTLP_TRACES_ENDPOINT",
"value": "http://otel-collector.platform-infra.svc.cluster.local:4318/v1/traces"
},
{
"name": "OTEL_SERVICE_NAME",
"value": "hwlab-workbench-runtime"
},
{
"name": "HWLAB_ENVIRONMENT",
"value": "v03"
},
{
"name": "HWLAB_COMMIT_ID",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_IMAGE",
"value": "127.0.0.1:5000/hwlab/hwlab-go-runtime-env@sha256:74624eb24c92c9a48a0c2d24a16da77832471a3ca0167ee4f888595f0267554f"
},
{
"name": "HWLAB_IMAGE_TAG",
"value": "env-934129c3af54"
},
{
"name": "HWLAB_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_PROFILE",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_SOURCE_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_RUNTIME_MODE",
"value": "env-reuse-gitea-checkout"
},
{
"name": "HWLAB_BOOT_REPO",
"value": "git@github.com:pikasTech/HWLAB.git"
},
{
"name": "HWLAB_BOOT_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_BOOT_REF",
"value": "v0.3"
},
{
"name": "HWLAB_BOOT_SH",
"value": "deploy/runtime/boot/hwlab-workbench-runtime.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-go-runtime-env:env-934129c3af54"
},
{
"name": "HWLAB_ENVIRONMENT_DIGEST",
"value": "sha256:74624eb24c92c9a48a0c2d24a16da77832471a3ca0167ee4f888595f0267554f"
},
{
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
"value": "13bdc18b089e043c5eaaaa79e50f9858fba53506d35e5e2d73dca1ead8608d1b"
},
{
"name": "HWLAB_CODE_INPUT_HASH",
"value": "396d8eb6ed0800ea9fad0b4c7340fe4b826e67efaeee108e1e042c58f002ac4b"
},
{
"name": "HWLAB_IMAGE_DIGEST",
"value": "sha256:74624eb24c92c9a48a0c2d24a16da77832471a3ca0167ee4f888595f0267554f"
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/ready",
"port": "http"
},
"timeoutSeconds": 10,
"failureThreshold": 5
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "http"
},
"timeoutSeconds": 5,
"failureThreshold": 6
},
"imagePullPolicy": "IfNotPresent",
"startupProbe": {
"httpGet": {
"path": "/health/ready",
"port": "http"
},
"periodSeconds": 10,
"timeoutSeconds": 10,
"failureThreshold": 30,
"successThreshold": 1
}
},
{
"name": "hwlab-metrics",
"image": "127.0.0.1:5000/hwlab/hwlab-ci-node-tools:node22-alpine-bun-v1",
"imagePullPolicy": "IfNotPresent",
"command": [
"node",
"/metrics/metrics-sidecar.mjs"
],
"env": [
{
"name": "HWLAB_METRICS_SERVICE_ID",
"value": "hwlab-workbench-runtime"
},
{
"name": "HWLAB_METRICS_NAMESPACE",
"value": "hwlab-v03"
},
{
"name": "HWLAB_METRICS_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_METRICS_PORT",
"value": "9100"
},
{
"name": "HWLAB_METRICS_TARGET_URL",
"value": "http://127.0.0.1:6671/health/live"
},
{
"name": "HWLAB_METRICS_TARGET_TIMEOUT_MS",
"value": "2000"
}
],
"ports": [
{
"name": "metrics",
"containerPort": 9100
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 3,
"periodSeconds": 10
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 10,
"periodSeconds": 20
},
"volumeMounts": [
{
"name": "hwlab-metrics-sidecar",
"mountPath": "/metrics",
"readOnly": true
}
]
}
],
"volumes": [
{
"name": "hwlab-metrics-sidecar",
"configMap": {
"name": "hwlab-v03-metrics-sidecar"
}
}
]
}
}
}
},
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"name": "hwlab-cloud-api",
"namespace": "hwlab-v03",
"labels": {
"app.kubernetes.io/name": "hwlab-cloud-api",
"hwlab.pikastech.local/service-id": "hwlab-cloud-api",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"unidesk.ai/node-staging": "false",
"hwlab.pikastech.local/monitoring": "enabled"
},
"annotations": {
"hwlab.pikastech.local/gitops-note": "node DEV GitOps target.",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
}
},
"spec": {
"replicas": 1,
"selector": {
"matchLabels": {
"app.kubernetes.io/name": "hwlab-cloud-api",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03"
}
},
"template": {
"metadata": {
"labels": {
"app.kubernetes.io/name": "hwlab-cloud-api",
"hwlab.pikastech.local/service-id": "hwlab-cloud-api",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/monitoring": "enabled",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
"annotations": {
"hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-cloud-api.sh",
"hwlab.pikastech.local/environment-digest": "sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2",
"hwlab.pikastech.local/environment-input-hash": "1342b35c683d1388cd20618daef82ba05fe0a3ab327033f8039f27cae7d92d9c",
"hwlab.pikastech.local/code-input-hash": "022052df829862fde013af1c8c36e6c502d637e9efeacc78b1af9f867b4bf66d"
}
},
"spec": {
"initContainers": [],
"containers": [
{
"name": "hwlab-cloud-api",
"image": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2",
"ports": [
{
"name": "http",
"containerPort": 6667
}
],
"env": [
{
"name": "HWLAB_ENVIRONMENT",
"value": "v03"
},
{
"name": "HWLAB_PUBLIC_ENDPOINT",
"value": "https://lab-dev.hwpod.com"
},
{
"name": "HWLAB_CLOUD_API_PORT",
"value": "6667"
},
{
"name": "HWLAB_COMMIT_ID",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_IMAGE",
"value": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
},
{
"name": "HWLAB_IMAGE_TAG",
"value": "env-1342b35c683d"
},
{
"name": "HWLAB_RUNTIME_SUBSTITUTE_FORBIDDEN",
"value": "unidesk-backend,provider-gateway,microservice-proxy"
},
{
"name": "HWLAB_CLOUD_DB_URL",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-cloud-api-v03-db",
"key": "database-url",
"optional": true
}
}
},
{
"name": "HWLAB_CLOUD_DB_SSL_MODE",
"value": "disable"
},
{
"name": "HWLAB_CLOUD_DB_CONTRACT",
"value": "v03-redacted-presence-only"
},
{
"name": "HWLAB_CLOUD_RUNTIME_ADAPTER",
"value": "postgres"
},
{
"name": "HWLAB_CLOUD_RUNTIME_DURABLE",
"value": "true"
},
{
"name": "HWLAB_M3_IO_CONTROL_ENABLED",
"value": "false"
},
{
"name": "HWLAB_CODE_AGENT_TIMEOUT_MS",
"value": "1200000"
},
{
"name": "NO_PROXY",
"value": "hwlab-v03.svc.cluster.local,.svc,.cluster.local,hyueapi.com,.hyueapi.com,hyui.com,.hyui.com,127.0.0.1,localhost,::1,10.0.0.0/8,10.42.0.0/16,10.43.0.0/16,api.minimaxi.com,.minimaxi.com"
},
{
"name": "no_proxy",
"value": "hwlab-v03.svc.cluster.local,.svc,.cluster.local,hyueapi.com,.hyueapi.com,hyui.com,.hyui.com,127.0.0.1,localhost,::1,10.0.0.0/8,10.42.0.0/16,10.43.0.0/16,api.minimaxi.com,.minimaxi.com"
},
{
"name": "HWLAB_CODE_AGENT_SKILLS_DIRS",
"value": "/app/skills:/data/user-skills"
},
{
"name": "HWLAB_PREINSTALLED_SKILLS_DIR",
"value": "/app/skills"
},
{
"name": "HWLAB_USER_SKILLS_DIR",
"value": "/data/user-skills"
},
{
"name": "HWLAB_CODE_AGENT_DEFAULT_PROVIDER_PROFILE",
"value": "gpt.pika"
},
{
"name": "HWLAB_CODE_AGENT_DEEPSEEK_MODEL",
"value": "deepseek-chat"
},
{
"name": "HWLAB_CODE_AGENT_DEEPSEEK_BASE_URL",
"value": "http://hwlab-deepseek-proxy.hwlab-v03.svc.cluster.local:4000/v1/responses"
},
{
"name": "HWLAB_CODE_AGENT_CODEX_API_MODEL",
"value": "gpt-5.5"
},
{
"name": "HWLAB_CODE_AGENT_CODEX_API_BASE_URL",
"value": "http://127.0.0.1:49280/responses"
},
{
"name": "HWLAB_CODE_AGENT_CODEX_API_UPSTREAM_BASE_URL",
"value": "https://hyueapi.com"
},
{
"name": "HWLAB_CODE_AGENT_CODEX_API_FORWARDER_PORT",
"value": "49280"
},
{
"name": "TZ",
"value": "Asia/Shanghai"
},
{
"name": "HWLAB_METRICS_NAMESPACE",
"value": "hwlab-v03"
},
{
"name": "HWLAB_OBSERVABILITY_CONFIG_REVISION",
"value": "PJ2026-01060505-20260619-long-trace-timeout-mitigation"
},
{
"name": "HWLAB_CODE_AGENT_AGENTRUN_DISPATCH_RETRY_MAX",
"value": "5"
},
{
"name": "HWLAB_CODE_AGENT_AGENTRUN_DISPATCH_RETRY_BASE_MS",
"value": "1000"
},
{
"name": "HWLAB_CODE_AGENT_AGENTRUN_DISPATCH_RETRY_MAX_DELAY_MS",
"value": "30000"
},
{
"name": "HWLAB_BOOTSTRAP_ADMIN_PASSWORD_HASH",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-v03-bootstrap-admin",
"key": "password-hash",
"optional": true
}
}
},
{
"name": "HWLAB_PRESET_USER_HUIGGAO_PASSWORD_HASH",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-v03-preset-users",
"key": "huiggao-password-hash",
"optional": true
}
}
},
{
"name": "HWLAB_ACCESS_CONTROL_USERS_JSON",
"value": "[{\"id\":\"usr_v03_admin\",\"username\":\"admin\",\"displayName\":\"HWLAB v0.3 Admin\",\"email\":null,\"role\":\"admin\",\"status\":\"active\",\"navProfile\":\"admin-full\",\"passwordHashEnv\":\"HWLAB_BOOTSTRAP_ADMIN_PASSWORD_HASH\"},{\"id\":\"usr_v03_huiggao\",\"username\":\"huiggao@163.com\",\"displayName\":\"huiggao@163.com\",\"email\":\"huiggao@163.com\",\"role\":\"user\",\"status\":\"active\",\"navProfile\":\"code-mdtodo-only\",\"passwordHashEnv\":\"HWLAB_PRESET_USER_HUIGGAO_PASSWORD_HASH\"}]"
},
{
"name": "HWLAB_ACCESS_CONTROL_NAV_PROFILES_JSON",
"value": "[{\"id\":\"admin-full\",\"displayName\":\"Admin full access\",\"allowedIds\":[\"*\"]},{\"id\":\"code-mdtodo-only\",\"displayName\":\"Code and MDTODO only\",\"allowedIds\":[\"workbench.code\",\"project.mdtodo\",\"project.tasktree\"]}]"
},
{
"name": "HWLAB_CLOUD_DB_POOL_MAX",
"value": "16"
},
{
"name": "HWLAB_WORKBENCH_RUNTIME_TIMEOUT_MS",
"value": "3000"
},
{
"name": "HWLAB_WORKBENCH_FACTS_QUERY_MAX_ATTEMPTS",
"value": "1"
},
{
"name": "HWLAB_WORKBENCH_FACTS_QUERY_BACKOFF_BASE_MS",
"value": "0"
},
{
"name": "HWLAB_WORKBENCH_FACTS_QUERY_BACKOFF_MAX_MS",
"value": "1"
},
{
"name": "HWLAB_HWPOD_OPERATION_RETENTION_SECONDS",
"value": "604800"
},
{
"name": "HWLAB_ACCESS_CONTROL_REQUIRED",
"value": "1"
},
{
"name": "HWLAB_SESSION_COOKIE_SAMESITE",
"value": "None"
},
{
"name": "HWLAB_BOOTSTRAP_ADMIN_ID",
"value": "usr_v03_admin"
},
{
"name": "HWLAB_BOOTSTRAP_ADMIN_USERNAME",
"value": "admin"
},
{
"name": "HWLAB_BOOTSTRAP_ADMIN_DISPLAY_NAME",
"value": "HWLAB v0.3 Admin"
},
{
"name": "HWLAB_BOOTSTRAP_ADMIN_API_KEY_ID",
"value": "key_master_server_admin"
},
{
"name": "HWLAB_BOOTSTRAP_ADMIN_API_KEY",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-v03-master-server-admin-api-key",
"key": "api-key",
"optional": true
}
}
},
{
"name": "HWLAB_USER_BILLING_URL",
"value": "http://hwlab-user-billing.hwlab-v03.svc.cluster.local:6670"
},
{
"name": "HWLAB_WORKBENCH_RUNTIME_URL",
"value": "http://hwlab-workbench-runtime.hwlab-v03.svc.cluster.local:6671"
},
{
"name": "HWLAB_WORKBENCH_API_URL",
"value": "http://hwlab-workbench-api.hwlab-v03.svc.cluster.local:6677"
},
{
"name": "WORKBENCH_CLOUD_API_AUTHORIZATION",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-v03-master-server-admin-api-key",
"key": "api-key",
"optional": true
}
}
},
{
"name": "HWLAB_PROJECT_MANAGEMENT_URL",
"value": "http://hwlab-project-management.hwlab-v03.svc.cluster.local:6672"
},
{
"name": "HWLAB_TASKTREE_URL",
"value": "http://hwlab-tasktree-api.hwlab-v03.svc.cluster.local:6673"
},
{
"name": "HARNESSRL_API_URL",
"value": "http://hwlab-harnessrl-api.hwlab-v03.svc.cluster.local:6675"
},
{
"name": "HWLAB_HWPOD_SPEC_REGISTRY_DIRS",
"value": "/etc/hwlab/hwpod-specs"
},
{
"name": "HWLAB_HWPOD_NODE_WS_TOKEN",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-v03-hwpod-node-auth",
"key": "token",
"optional": true
}
}
},
{
"name": "HWLAB_USER_BILLING_LOGIN_RETRY_ATTEMPTS",
"value": "2"
},
{
"name": "HWLAB_USER_BILLING_LOGIN_RETRY_DELAY_MS",
"value": "250"
},
{
"name": "HWLAB_USER_BILLING_CODE_AGENT_ENABLED",
"value": "1"
},
{
"name": "HWLAB_USER_BILLING_CODE_AGENT_ESTIMATED_CREDITS",
"value": "1"
},
{
"name": "HWLAB_USER_BILLING_CODE_AGENT_USED_CREDITS",
"value": "1"
},
{
"name": "HWLAB_KEYCLOAK_ISSUER",
"value": "https://auth.74-48-78-17.nip.io/realms/hwlab"
},
{
"name": "HWLAB_KEYCLOAK_CLIENT_ID",
"value": "hwlab-cloud-web"
},
{
"name": "HWLAB_KEYCLOAK_CLIENT_SECRET",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-cloud-web-client",
"key": "client-secret",
"optional": true
}
}
},
{
"name": "HWLAB_CODE_AGENT_ADAPTER",
"value": "agentrun-v02"
},
{
"name": "OTEL_EXPORTER_OTLP_TRACES_ENDPOINT",
"value": "http://otel-collector.platform-infra.svc.cluster.local:4318/v1/traces"
},
{
"name": "OTEL_SERVICE_NAME",
"value": "hwlab-cloud-api"
},
{
"name": "AGENTRUN_MGR_URL",
"value": "http://agentrun-mgr.agentrun-v02.svc.cluster.local:8080"
},
{
"name": "AGENTRUN_API_KEY",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-v03-master-server-admin-api-key",
"key": "api-key",
"optional": true
}
}
},
{
"name": "HWLAB_CODE_AGENT_AGENTRUN_RUNNER_NAMESPACE",
"value": "agentrun-v02"
},
{
"name": "HWLAB_CODE_AGENT_AGENTRUN_SECRET_NAMESPACE",
"value": "agentrun-v02"
},
{
"name": "HWLAB_CODE_AGENT_AGENTRUN_REPO_URL",
"value": "http://gitea-http.devops-infra.svc.cluster.local:3000/mirrors/pikasTech-HWLAB.git"
},
{
"name": "HWLAB_KAFKA_ENABLED",
"value": "true"
},
{
"name": "HWLAB_KAFKA_AGENTRUN_EVENT_CONSUME_ENABLED",
"value": "true"
},
{
"name": "HWLAB_KAFKA_DIRECT_PUBLISH_ENABLED",
"value": "true"
},
{
"name": "HWLAB_WORKBENCH_LIVE_KAFKA_SSE_ENABLED",
"value": "true"
},
{
"name": "HWLAB_WORKBENCH_KAFKA_REFRESH_REPLAY_ENABLED",
"value": "true"
},
{
"name": "HWLAB_KAFKA_TRANSACTIONAL_PROJECTOR_ENABLED",
"value": "false"
},
{
"name": "HWLAB_KAFKA_PROJECTION_OUTBOX_RELAY_ENABLED",
"value": "false"
},
{
"name": "HWLAB_WORKBENCH_PROJECTION_REALTIME_ENABLED",
"value": "false"
},
{
"name": "HWLAB_WORKBENCH_KAFKA_DEBUG_REPLAY_ENABLED",
"value": "true"
},
{
"name": "HWLAB_KAFKA_BOOTSTRAP_SERVERS",
"value": "platform-infra-kafka-kafka-bootstrap.platform-infra.svc.cluster.local:9092"
},
{
"name": "HWLAB_KAFKA_STDIO_TOPIC",
"value": "codex-stdio.raw.v1"
},
{
"name": "HWLAB_KAFKA_AGENTRUN_EVENT_TOPIC",
"value": "agentrun.event.v1"
},
{
"name": "HWLAB_KAFKA_EVENT_TOPIC",
"value": "hwlab.event.v1"
},
{
"name": "HWLAB_KAFKA_CLIENT_ID",
"value": "hwlab-v03-cloud-api"
},
{
"name": "HWLAB_KAFKA_AGENTRUN_EVENT_GROUP_ID",
"value": "hwlab-agentrun-event-direct-publish"
},
{
"name": "HWLAB_KAFKA_PROJECTOR_GROUP_ID",
"value": "hwlab-v03-agentrun-event-projector"
},
{
"name": "HWLAB_KAFKA_HWLAB_EVENT_GROUP_ID",
"value": "hwlab-v03-workbench-live-sse"
},
{
"name": "HWLAB_KAFKA_HWLAB_DEBUG_EVENT_TOPIC",
"value": "hwlab.event.debug.v1"
},
{
"name": "HWLAB_KAFKA_HWLAB_DEBUG_GROUP_PREFIX",
"value": "hwlab-v03-workbench-isolated-debug"
},
{
"name": "HWLAB_WORKBENCH_KAFKA_DEBUG_REPLAY_LIMIT",
"value": "200"
},
{
"name": "HWLAB_WORKBENCH_KAFKA_DEBUG_REPLAY_TIMEOUT_MS",
"value": "15000"
},
{
"name": "HWLAB_WORKBENCH_EMPTY_SESSION_GC_ENABLED",
"value": "1"
},
{
"name": "HWLAB_WORKBENCH_EMPTY_SESSION_TTL_MS",
"value": "600000"
},
{
"name": "HWLAB_WORKBENCH_EMPTY_SESSION_GC_INTERVAL_MS",
"value": "60000"
},
{
"name": "HWLAB_WORKBENCH_EMPTY_SESSION_GC_INITIAL_DELAY_MS",
"value": "5000"
},
{
"name": "HWLAB_WORKBENCH_EMPTY_SESSION_GC_BATCH_SIZE",
"value": "100"
},
{
"name": "HWLAB_WORKBENCH_EMPTY_SESSION_GC_JITTER_MS",
"value": "15000"
},
{
"name": "HWLAB_WORKBENCH_EMPTY_SESSION_GC_FAILURE_BACKOFF_MS",
"value": "120000"
},
{
"name": "HWLAB_SECRET_PLANE_SMOKE",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-secret-plane-smoke",
"key": "password",
"optional": true
}
}
},
{
"name": "HWLAB_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_PROFILE",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_SOURCE_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_CODE_AGENT_AGENTRUN_SOURCE_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_RUNTIME_MODE",
"value": "env-reuse-gitea-checkout"
},
{
"name": "HWLAB_BOOT_REPO",
"value": "git@github.com:pikasTech/HWLAB.git"
},
{
"name": "HWLAB_BOOT_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_BOOT_REF",
"value": "v0.3"
},
{
"name": "HWLAB_BOOT_SH",
"value": "deploy/runtime/boot/hwlab-cloud-api.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-1342b35c683d"
},
{
"name": "HWLAB_ENVIRONMENT_DIGEST",
"value": "sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
},
{
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
"value": "1342b35c683d1388cd20618daef82ba05fe0a3ab327033f8039f27cae7d92d9c"
},
{
"name": "HWLAB_CODE_INPUT_HASH",
"value": "022052df829862fde013af1c8c36e6c502d637e9efeacc78b1af9f867b4bf66d"
},
{
"name": "HWLAB_IMAGE_DIGEST",
"value": "sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
},
{
"name": "HWLAB_AGENT_OBSERVER_RETENTION_EVENT_LIMIT",
"value": "10000"
},
{
"name": "HWLAB_AGENT_OBSERVER_RETENTION_SCAN_LIMIT",
"value": "1000000"
},
{
"name": "HWLAB_AGENT_OBSERVER_RETENTION_TIMEOUT_MS",
"value": "30000"
},
{
"name": "HWLAB_AGENT_OBSERVER_RETENTION_GROUP_PREFIX",
"value": "hwlab-v03-agent-observer-replay"
},
{
"name": "HWLAB_AGENT_OBSERVER_SSE_HEARTBEAT_MS",
"value": "15000"
},
{
"name": "HWLAB_AGENT_OBSERVER_RECONNECT_DELAY_MS",
"value": "1500"
},
{
"name": "HWLAB_AGENT_OBSERVER_BATCH_MAX_EVENTS",
"value": "100"
},
{
"name": "HWLAB_AGENT_OBSERVER_LIVE_BUFFER_LIMIT",
"value": "2000"
},
{
"name": "HWLAB_AGENT_OBSERVER_IDENTITY_WINDOW_LIMIT",
"value": "12000"
},
{
"name": "HWLAB_AGENT_OBSERVER_REDUCER_EVENT_LIMIT",
"value": "2000"
},
{
"name": "HWLAB_AGENT_OBSERVER_REDUCER_ENTITY_LIMIT",
"value": "500"
},
{
"name": "HWLAB_AGENT_OBSERVER_TREE_NODE_LIMIT",
"value": "500"
},
{
"name": "HWLAB_AGENT_OBSERVER_INSPECTOR_EVENT_TAIL_LIMIT",
"value": "100"
},
{
"name": "HWLAB_AGENT_OBSERVER_VIRTUAL_LIST_WINDOW_LIMIT",
"value": "160"
},
{
"name": "HWLAB_AGENT_OBSERVER_CHANGE_HIGHLIGHT_MS",
"value": "1200"
},
{
"name": "HWLAB_AGENT_OBSERVER_STALE_AFTER_MS",
"value": "30000"
},
{
"name": "HWLAB_AGENT_OBSERVER_REDUCED_MOTION",
"value": "respect-system"
},
{
"name": "HWLAB_WORKBENCH_KAFKA_REFRESH_REPLAY_GROUP_PREFIX",
"value": "hwlab-v03-cloud-api-sse"
},
{
"name": "HWLAB_WORKBENCH_KAFKA_REFRESH_REPLAY_TIMEOUT_MS",
"value": "30000"
},
{
"name": "HWLAB_WORKBENCH_KAFKA_REFRESH_REPLAY_SCAN_LIMIT",
"value": "1000000"
},
{
"name": "HWLAB_WORKBENCH_KAFKA_REFRESH_REPLAY_MATCHED_EVENT_LIMIT",
"value": "2000"
},
{
"name": "HWLAB_WORKBENCH_KAFKA_REFRESH_REPLAY_LIVE_BUFFER_LIMIT",
"value": "2000"
},
{
"name": "HWLAB_CODE_AGENT_AGENTRUN_PROVIDER_ID",
"value": "NC01"
},
{
"name": "HWLAB_OPENFGA_MODE",
"value": "enforce"
},
{
"name": "HWLAB_OPENFGA_API_URL",
"value": "http://hwlab-openfga.hwlab-v03.svc.cluster.local:8080"
},
{
"name": "HWLAB_OPENFGA_AUTHN_TOKEN",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-v03-openfga",
"key": "authn-preshared-key",
"optional": true
}
}
},
{
"name": "UNIDESK_MAIN_SERVER_IP",
"value": "http://74.48.78.17:18081"
},
{
"name": "HWLAB_CODE_AGENT_CODEX_STDIO_SUPERVISOR",
"value": "repo-owned"
},
{
"name": "HWLAB_CODE_AGENT_AGENTRUN_CODEX_SECRET_NAME",
"value": "agentrun-v01-provider-codex"
},
{
"name": "HWLAB_CODE_AGENT_AGENTRUN_DSFLASH_GO_SECRET_NAME",
"value": "agentrun-v01-provider-dsflash-go"
},
{
"name": "HWLAB_CODE_AGENT_AGENTRUN_GPT_PIKA_SECRET_NAME",
"value": "agentrun-v02-provider-gpt-pika"
},
{
"name": "HWLAB_CODE_AGENT_AGENTRUN_GROK_SECRET_NAME",
"value": "agentrun-v02-provider-grok"
},
{
"name": "HWLAB_CODE_AGENT_AGENTRUN_GITHUB_TOOL_SECRET_NAME",
"value": "agentrun-v01-tool-github-pr"
},
{
"name": "HWLAB_CODE_AGENT_AGENTRUN_UNIDESK_SSH_TOOL_SECRET_NAME",
"value": "agentrun-v01-tool-unidesk-ssh"
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/live",
"port": "http"
},
"timeoutSeconds": 3,
"failureThreshold": 5
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "http"
},
"periodSeconds": 20,
"timeoutSeconds": 5,
"failureThreshold": 6
},
"volumeMounts": [
{
"name": "hwlab-user-skills",
"mountPath": "/data/user-skills"
},
{
"name": "hwpod-preinstalled-specs",
"mountPath": "/etc/hwlab/hwpod-specs",
"readOnly": true
}
],
"imagePullPolicy": "IfNotPresent",
"startupProbe": {
"httpGet": {
"path": "/health/live",
"port": "http"
},
"periodSeconds": 10,
"timeoutSeconds": 3,
"failureThreshold": 30,
"successThreshold": 1
},
"lifecycle": {
"preStop": {
"exec": {
"command": [
"sh",
"-c",
"port=\"${PORT:-${HWLAB_PORT:-${HWLAB_CLOUD_API_PORT:-6667}}}\"; url=\"http://127.0.0.1:${port}/v1/internal/workbench/drain\"; /usr/local/bin/bun -e 'const [url, hostname] = process.argv.slice(2); await fetch(url, { method: \"POST\", headers: { \"x-hwlab-drain-hostname\": hostname || \"\" } }).catch(() => {});' \"$url\" \"${HOSTNAME:-}\" >/dev/null 2>&1 || true; sleep 3"
]
}
}
}
},
{
"name": "hwlab-codex-api-forwarder",
"image": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2",
"ports": [
{
"name": "codex-api",
"containerPort": 49280
}
],
"env": [
{
"name": "HWLAB_CODE_AGENT_CODEX_API_FORWARDER_HOST",
"value": "127.0.0.1"
},
{
"name": "HWLAB_CODE_AGENT_CODEX_API_FORWARDER_PORT",
"value": "49280"
},
{
"name": "HWLAB_CODE_AGENT_CODEX_API_UPSTREAM_BASE_URL",
"value": "https://hyueapi.com"
},
{
"name": "NO_PROXY",
"value": "hwlab-v03.svc.cluster.local,.svc,.cluster.local,hyueapi.com,.hyueapi.com,hyui.com,.hyui.com,127.0.0.1,localhost,::1,10.0.0.0/8,10.42.0.0/16,10.43.0.0/16,api.minimaxi.com,.minimaxi.com"
},
{
"name": "no_proxy",
"value": "hwlab-v03.svc.cluster.local,.svc,.cluster.local,hyueapi.com,.hyueapi.com,hyui.com,.hyui.com,127.0.0.1,localhost,::1,10.0.0.0/8,10.42.0.0/16,10.43.0.0/16,api.minimaxi.com,.minimaxi.com"
},
{
"name": "HWLAB_M3_IO_CONTROL_ENABLED",
"value": "false"
},
{
"name": "HWLAB_ENVIRONMENT",
"value": "v03"
},
{
"name": "HWLAB_PUBLIC_ENDPOINT",
"value": "https://lab-dev.hwpod.com"
},
{
"name": "HWLAB_CLOUD_API_PORT",
"value": "6667"
},
{
"name": "HWLAB_RUNTIME_SUBSTITUTE_FORBIDDEN",
"value": "unidesk-backend,provider-gateway,microservice-proxy"
},
{
"name": "HWLAB_CLOUD_DB_URL",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-cloud-api-v03-db",
"key": "database-url",
"optional": true
}
}
},
{
"name": "HWLAB_CLOUD_DB_SSL_MODE",
"value": "disable"
},
{
"name": "HWLAB_CLOUD_DB_CONTRACT",
"value": "v03-redacted-presence-only"
},
{
"name": "HWLAB_CLOUD_RUNTIME_ADAPTER",
"value": "postgres"
},
{
"name": "HWLAB_CLOUD_RUNTIME_DURABLE",
"value": "true"
},
{
"name": "HWLAB_CODE_AGENT_TIMEOUT_MS",
"value": "1200000"
},
{
"name": "HWLAB_CODE_AGENT_SKILLS_DIRS",
"value": "/app/skills:/data/user-skills"
},
{
"name": "HWLAB_PREINSTALLED_SKILLS_DIR",
"value": "/app/skills"
},
{
"name": "HWLAB_USER_SKILLS_DIR",
"value": "/data/user-skills"
},
{
"name": "HWLAB_CODE_AGENT_DEFAULT_PROVIDER_PROFILE",
"value": "gpt.pika"
},
{
"name": "HWLAB_CODE_AGENT_DEEPSEEK_MODEL",
"value": "deepseek-chat"
},
{
"name": "HWLAB_CODE_AGENT_DEEPSEEK_BASE_URL",
"value": "http://hwlab-deepseek-proxy.hwlab-v03.svc.cluster.local:4000/v1/responses"
},
{
"name": "HWLAB_CODE_AGENT_CODEX_API_MODEL",
"value": "gpt-5.5"
},
{
"name": "HWLAB_CODE_AGENT_CODEX_API_BASE_URL",
"value": "http://127.0.0.1:49280/responses"
},
{
"name": "TZ",
"value": "Asia/Shanghai"
},
{
"name": "HWLAB_METRICS_NAMESPACE",
"value": "hwlab-v03"
},
{
"name": "HWLAB_OBSERVABILITY_CONFIG_REVISION",
"value": "PJ2026-01060505-20260619-long-trace-timeout-mitigation"
},
{
"name": "HWLAB_CODE_AGENT_AGENTRUN_DISPATCH_RETRY_MAX",
"value": "5"
},
{
"name": "HWLAB_CODE_AGENT_AGENTRUN_DISPATCH_RETRY_BASE_MS",
"value": "1000"
},
{
"name": "HWLAB_CODE_AGENT_AGENTRUN_DISPATCH_RETRY_MAX_DELAY_MS",
"value": "30000"
},
{
"name": "HWLAB_BOOTSTRAP_ADMIN_PASSWORD_HASH",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-v03-bootstrap-admin",
"key": "password-hash",
"optional": true
}
}
},
{
"name": "HWLAB_PRESET_USER_HUIGGAO_PASSWORD_HASH",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-v03-preset-users",
"key": "huiggao-password-hash",
"optional": true
}
}
},
{
"name": "HWLAB_ACCESS_CONTROL_USERS_JSON",
"value": "[{\"id\":\"usr_v03_admin\",\"username\":\"admin\",\"displayName\":\"HWLAB v0.3 Admin\",\"email\":null,\"role\":\"admin\",\"status\":\"active\",\"navProfile\":\"admin-full\",\"passwordHashEnv\":\"HWLAB_BOOTSTRAP_ADMIN_PASSWORD_HASH\"},{\"id\":\"usr_v03_huiggao\",\"username\":\"huiggao@163.com\",\"displayName\":\"huiggao@163.com\",\"email\":\"huiggao@163.com\",\"role\":\"user\",\"status\":\"active\",\"navProfile\":\"code-mdtodo-only\",\"passwordHashEnv\":\"HWLAB_PRESET_USER_HUIGGAO_PASSWORD_HASH\"}]"
},
{
"name": "HWLAB_ACCESS_CONTROL_NAV_PROFILES_JSON",
"value": "[{\"id\":\"admin-full\",\"displayName\":\"Admin full access\",\"allowedIds\":[\"*\"]},{\"id\":\"code-mdtodo-only\",\"displayName\":\"Code and MDTODO only\",\"allowedIds\":[\"workbench.code\",\"project.mdtodo\",\"project.tasktree\"]}]"
},
{
"name": "HWLAB_CLOUD_DB_POOL_MAX",
"value": "16"
},
{
"name": "HWLAB_WORKBENCH_RUNTIME_TIMEOUT_MS",
"value": "3000"
},
{
"name": "HWLAB_WORKBENCH_FACTS_QUERY_MAX_ATTEMPTS",
"value": "1"
},
{
"name": "HWLAB_WORKBENCH_FACTS_QUERY_BACKOFF_BASE_MS",
"value": "0"
},
{
"name": "HWLAB_WORKBENCH_FACTS_QUERY_BACKOFF_MAX_MS",
"value": "1"
},
{
"name": "HWLAB_HWPOD_OPERATION_RETENTION_SECONDS",
"value": "604800"
},
{
"name": "HWLAB_ACCESS_CONTROL_REQUIRED",
"value": "1"
},
{
"name": "HWLAB_SESSION_COOKIE_SAMESITE",
"value": "None"
},
{
"name": "HWLAB_BOOTSTRAP_ADMIN_ID",
"value": "usr_v03_admin"
},
{
"name": "HWLAB_BOOTSTRAP_ADMIN_USERNAME",
"value": "admin"
},
{
"name": "HWLAB_BOOTSTRAP_ADMIN_DISPLAY_NAME",
"value": "HWLAB v0.3 Admin"
},
{
"name": "HWLAB_BOOTSTRAP_ADMIN_API_KEY_ID",
"value": "key_master_server_admin"
},
{
"name": "HWLAB_BOOTSTRAP_ADMIN_API_KEY",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-v03-master-server-admin-api-key",
"key": "api-key",
"optional": true
}
}
},
{
"name": "HWLAB_USER_BILLING_URL",
"value": "http://hwlab-user-billing.hwlab-v03.svc.cluster.local:6670"
},
{
"name": "HWLAB_WORKBENCH_RUNTIME_URL",
"value": "http://hwlab-workbench-runtime.hwlab-v03.svc.cluster.local:6671"
},
{
"name": "HWLAB_WORKBENCH_API_URL",
"value": "http://hwlab-workbench-api.hwlab-v03.svc.cluster.local:6677"
},
{
"name": "WORKBENCH_CLOUD_API_AUTHORIZATION",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-v03-master-server-admin-api-key",
"key": "api-key",
"optional": true
}
}
},
{
"name": "HWLAB_PROJECT_MANAGEMENT_URL",
"value": "http://hwlab-project-management.hwlab-v03.svc.cluster.local:6672"
},
{
"name": "HWLAB_TASKTREE_URL",
"value": "http://hwlab-tasktree-api.hwlab-v03.svc.cluster.local:6673"
},
{
"name": "HARNESSRL_API_URL",
"value": "http://hwlab-harnessrl-api.hwlab-v03.svc.cluster.local:6675"
},
{
"name": "HWLAB_HWPOD_SPEC_REGISTRY_DIRS",
"value": "/etc/hwlab/hwpod-specs"
},
{
"name": "HWLAB_HWPOD_NODE_WS_TOKEN",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-v03-hwpod-node-auth",
"key": "token",
"optional": true
}
}
},
{
"name": "HWLAB_USER_BILLING_LOGIN_RETRY_ATTEMPTS",
"value": "2"
},
{
"name": "HWLAB_USER_BILLING_LOGIN_RETRY_DELAY_MS",
"value": "250"
},
{
"name": "HWLAB_USER_BILLING_CODE_AGENT_ENABLED",
"value": "1"
},
{
"name": "HWLAB_USER_BILLING_CODE_AGENT_ESTIMATED_CREDITS",
"value": "1"
},
{
"name": "HWLAB_USER_BILLING_CODE_AGENT_USED_CREDITS",
"value": "1"
},
{
"name": "HWLAB_KEYCLOAK_ISSUER",
"value": "https://auth.74-48-78-17.nip.io/realms/hwlab"
},
{
"name": "HWLAB_KEYCLOAK_CLIENT_ID",
"value": "hwlab-cloud-web"
},
{
"name": "HWLAB_KEYCLOAK_CLIENT_SECRET",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-cloud-web-client",
"key": "client-secret",
"optional": true
}
}
},
{
"name": "HWLAB_CODE_AGENT_ADAPTER",
"value": "agentrun-v02"
},
{
"name": "OTEL_EXPORTER_OTLP_TRACES_ENDPOINT",
"value": "http://otel-collector.platform-infra.svc.cluster.local:4318/v1/traces"
},
{
"name": "OTEL_SERVICE_NAME",
"value": "hwlab-cloud-api"
},
{
"name": "AGENTRUN_MGR_URL",
"value": "http://agentrun-mgr.agentrun-release.svc.cluster.local:8080"
},
{
"name": "AGENTRUN_API_KEY",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-v03-master-server-admin-api-key",
"key": "api-key",
"optional": true
}
}
},
{
"name": "HWLAB_CODE_AGENT_AGENTRUN_RUNNER_NAMESPACE",
"value": "agentrun-release"
},
{
"name": "HWLAB_CODE_AGENT_AGENTRUN_SECRET_NAMESPACE",
"value": "agentrun-release"
},
{
"name": "HWLAB_CODE_AGENT_AGENTRUN_REPO_URL",
"value": "http://gitea-http.devops-infra.svc.cluster.local:3000/mirrors/pikasTech-HWLAB.git"
},
{
"name": "HWLAB_KAFKA_ENABLED",
"value": "true"
},
{
"name": "HWLAB_KAFKA_AGENTRUN_EVENT_CONSUME_ENABLED",
"value": "true"
},
{
"name": "HWLAB_KAFKA_DIRECT_PUBLISH_ENABLED",
"value": "true"
},
{
"name": "HWLAB_WORKBENCH_LIVE_KAFKA_SSE_ENABLED",
"value": "true"
},
{
"name": "HWLAB_WORKBENCH_KAFKA_REFRESH_REPLAY_ENABLED",
"value": "true"
},
{
"name": "HWLAB_KAFKA_TRANSACTIONAL_PROJECTOR_ENABLED",
"value": "false"
},
{
"name": "HWLAB_KAFKA_PROJECTION_OUTBOX_RELAY_ENABLED",
"value": "false"
},
{
"name": "HWLAB_WORKBENCH_PROJECTION_REALTIME_ENABLED",
"value": "false"
},
{
"name": "HWLAB_WORKBENCH_KAFKA_DEBUG_REPLAY_ENABLED",
"value": "true"
},
{
"name": "HWLAB_KAFKA_BOOTSTRAP_SERVERS",
"value": "platform-infra-kafka-kafka-bootstrap.platform-infra.svc.cluster.local:9092"
},
{
"name": "HWLAB_KAFKA_STDIO_TOPIC",
"value": "codex-stdio.raw.v1"
},
{
"name": "HWLAB_KAFKA_AGENTRUN_EVENT_TOPIC",
"value": "agentrun.event.v1"
},
{
"name": "HWLAB_KAFKA_EVENT_TOPIC",
"value": "hwlab.event.v1"
},
{
"name": "HWLAB_KAFKA_CLIENT_ID",
"value": "hwlab-v03-cloud-api"
},
{
"name": "HWLAB_KAFKA_AGENTRUN_EVENT_GROUP_ID",
"value": "hwlab-v03-agentrun-event-direct-publish"
},
{
"name": "HWLAB_KAFKA_PROJECTOR_GROUP_ID",
"value": "hwlab-v03-agentrun-event-projector"
},
{
"name": "HWLAB_KAFKA_HWLAB_EVENT_GROUP_ID",
"value": "hwlab-v03-workbench-live-sse"
},
{
"name": "HWLAB_KAFKA_HWLAB_DEBUG_EVENT_TOPIC",
"value": "hwlab.event.debug.v1"
},
{
"name": "HWLAB_KAFKA_HWLAB_DEBUG_GROUP_PREFIX",
"value": "hwlab-v03-workbench-isolated-debug"
},
{
"name": "HWLAB_WORKBENCH_KAFKA_DEBUG_REPLAY_LIMIT",
"value": "200"
},
{
"name": "HWLAB_WORKBENCH_KAFKA_DEBUG_REPLAY_TIMEOUT_MS",
"value": "15000"
},
{
"name": "HWLAB_KAFKA_PROJECTOR_HEARTBEAT_INTERVAL_MS",
"value": "2000"
},
{
"name": "HWLAB_KAFKA_OUTBOX_RELAY_INTERVAL_MS",
"value": "250"
},
{
"name": "HWLAB_KAFKA_OUTBOX_RELAY_BATCH_SIZE",
"value": "100"
},
{
"name": "HWLAB_KAFKA_OUTBOX_RELAY_LEASE_MS",
"value": "30000"
},
{
"name": "HWLAB_KAFKA_OUTBOX_RELAY_SEND_TIMEOUT_MS",
"value": "10000"
},
{
"name": "HWLAB_KAFKA_OUTBOX_RELAY_RETRY_BACKOFF_MS",
"value": "1000"
},
{
"name": "HWLAB_WORKBENCH_OUTBOX_TAIL_BATCH_SIZE",
"value": "100"
},
{
"name": "HWLAB_WORKBENCH_EMPTY_SESSION_GC_ENABLED",
"value": "1"
},
{
"name": "HWLAB_WORKBENCH_EMPTY_SESSION_TTL_MS",
"value": "600000"
},
{
"name": "HWLAB_WORKBENCH_EMPTY_SESSION_GC_INTERVAL_MS",
"value": "60000"
},
{
"name": "HWLAB_WORKBENCH_EMPTY_SESSION_GC_INITIAL_DELAY_MS",
"value": "5000"
},
{
"name": "HWLAB_WORKBENCH_EMPTY_SESSION_GC_BATCH_SIZE",
"value": "100"
},
{
"name": "HWLAB_WORKBENCH_EMPTY_SESSION_GC_JITTER_MS",
"value": "15000"
},
{
"name": "HWLAB_WORKBENCH_EMPTY_SESSION_GC_FAILURE_BACKOFF_MS",
"value": "120000"
},
{
"name": "HWLAB_SECRET_PLANE_SMOKE",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-secret-plane-smoke",
"key": "password",
"optional": true
}
}
},
{
"name": "HWLAB_COMMIT_ID",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_IMAGE",
"value": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
},
{
"name": "HWLAB_IMAGE_TAG",
"value": "env-1342b35c683d"
},
{
"name": "HWLAB_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_PROFILE",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_SOURCE_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_CODE_AGENT_AGENTRUN_SOURCE_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_RUNTIME_MODE",
"value": "env-reuse-gitea-checkout"
},
{
"name": "HWLAB_BOOT_REPO",
"value": "git@github.com:pikasTech/HWLAB.git"
},
{
"name": "HWLAB_BOOT_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_BOOT_REF",
"value": "v0.3"
},
{
"name": "HWLAB_BOOT_SH",
"value": "deploy/runtime/boot/hwlab-codex-api-responses-forwarder.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-1342b35c683d"
},
{
"name": "HWLAB_ENVIRONMENT_DIGEST",
"value": "sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
},
{
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
"value": "1342b35c683d1388cd20618daef82ba05fe0a3ab327033f8039f27cae7d92d9c"
},
{
"name": "HWLAB_CODE_INPUT_HASH",
"value": "022052df829862fde013af1c8c36e6c502d637e9efeacc78b1af9f867b4bf66d"
},
{
"name": "HWLAB_IMAGE_DIGEST",
"value": "sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
},
{
"name": "HWLAB_AGENT_OBSERVER_RETENTION_EVENT_LIMIT",
"value": "10000"
},
{
"name": "HWLAB_AGENT_OBSERVER_RETENTION_SCAN_LIMIT",
"value": "1000000"
},
{
"name": "HWLAB_AGENT_OBSERVER_RETENTION_TIMEOUT_MS",
"value": "30000"
},
{
"name": "HWLAB_AGENT_OBSERVER_RETENTION_GROUP_PREFIX",
"value": "hwlab-v03-agent-observer-replay"
},
{
"name": "HWLAB_AGENT_OBSERVER_SSE_HEARTBEAT_MS",
"value": "15000"
},
{
"name": "HWLAB_AGENT_OBSERVER_RECONNECT_DELAY_MS",
"value": "1500"
},
{
"name": "HWLAB_AGENT_OBSERVER_BATCH_MAX_EVENTS",
"value": "100"
},
{
"name": "HWLAB_AGENT_OBSERVER_LIVE_BUFFER_LIMIT",
"value": "2000"
},
{
"name": "HWLAB_AGENT_OBSERVER_IDENTITY_WINDOW_LIMIT",
"value": "12000"
},
{
"name": "HWLAB_AGENT_OBSERVER_REDUCER_EVENT_LIMIT",
"value": "2000"
},
{
"name": "HWLAB_AGENT_OBSERVER_REDUCER_ENTITY_LIMIT",
"value": "500"
},
{
"name": "HWLAB_AGENT_OBSERVER_TREE_NODE_LIMIT",
"value": "500"
},
{
"name": "HWLAB_AGENT_OBSERVER_INSPECTOR_EVENT_TAIL_LIMIT",
"value": "100"
},
{
"name": "HWLAB_AGENT_OBSERVER_VIRTUAL_LIST_WINDOW_LIMIT",
"value": "160"
},
{
"name": "HWLAB_AGENT_OBSERVER_CHANGE_HIGHLIGHT_MS",
"value": "1200"
},
{
"name": "HWLAB_AGENT_OBSERVER_STALE_AFTER_MS",
"value": "30000"
},
{
"name": "HWLAB_AGENT_OBSERVER_REDUCED_MOTION",
"value": "respect-system"
},
{
"name": "HWLAB_WORKBENCH_KAFKA_REFRESH_REPLAY_GROUP_PREFIX",
"value": "hwlab-v03-agent-observer-replay"
},
{
"name": "HWLAB_WORKBENCH_KAFKA_REFRESH_REPLAY_TIMEOUT_MS",
"value": "30000"
},
{
"name": "HWLAB_WORKBENCH_KAFKA_REFRESH_REPLAY_SCAN_LIMIT",
"value": "1000000"
},
{
"name": "HWLAB_WORKBENCH_KAFKA_REFRESH_REPLAY_MATCHED_EVENT_LIMIT",
"value": "10000"
},
{
"name": "HWLAB_WORKBENCH_KAFKA_REFRESH_REPLAY_LIVE_BUFFER_LIMIT",
"value": "2000"
},
{
"name": "HWLAB_WORKBENCH_SSE_DRAIN_TIMEOUT_MS",
"value": "2500"
},
{
"name": "HWLAB_CODE_AGENT_AGENTRUN_PROVIDER_ID",
"value": "NC01"
},
{
"name": "HWLAB_OPENFGA_MODE",
"value": "enforce"
},
{
"name": "HWLAB_OPENFGA_API_URL",
"value": "http://hwlab-openfga.hwlab-v03.svc.cluster.local:8080"
},
{
"name": "HWLAB_OPENFGA_AUTHN_TOKEN",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-v03-openfga",
"key": "authn-preshared-key",
"optional": true
}
}
},
{
"name": "UNIDESK_MAIN_SERVER_IP",
"value": "http://74.48.78.17:18081"
},
{
"name": "HWLAB_CODE_AGENT_CODEX_STDIO_SUPERVISOR",
"value": "repo-owned"
}
],
"readinessProbe": {
"exec": {
"command": [
"node",
"-e",
"fetch('http://127.0.0.1:49280/health/readiness').then((response) => process.exit(response.ok ? 0 : 1)).catch(() => process.exit(1))"
]
},
"timeoutSeconds": 2
},
"livenessProbe": {
"exec": {
"command": [
"node",
"-e",
"fetch('http://127.0.0.1:49280/health/live').then((response) => process.exit(response.ok ? 0 : 1)).catch(() => process.exit(1))"
]
},
"timeoutSeconds": 2
},
"volumeMounts": [
{
"name": "hwpod-preinstalled-specs",
"mountPath": "/etc/hwlab/hwpod-specs",
"readOnly": true
}
],
"imagePullPolicy": "IfNotPresent",
"startupProbe": {
"exec": {
"command": [
"node",
"-e",
"fetch('http://127.0.0.1:49280/health/readiness').then((response) => process.exit(response.ok ? 0 : 1)).catch(() => process.exit(1))"
]
},
"timeoutSeconds": 2,
"periodSeconds": 10,
"failureThreshold": 30,
"successThreshold": 1
},
"lifecycle": {
"preStop": {
"exec": {
"command": [
"sh",
"-c",
"port=\"${PORT:-${HWLAB_PORT:-${HWLAB_CLOUD_API_PORT:-6667}}}\"; url=\"http://127.0.0.1:${port}/v1/internal/workbench/drain\"; /usr/local/bin/bun -e 'const [url, hostname] = process.argv.slice(2); await fetch(url, { method: \"POST\", headers: { \"x-hwlab-drain-hostname\": hostname || \"\" } }).catch(() => {});' \"$url\" \"${HOSTNAME:-}\" >/dev/null 2>&1 || true; sleep 3"
]
}
}
}
},
{
"name": "hwlab-metrics",
"image": "127.0.0.1:5000/hwlab/hwlab-ci-node-tools:node22-alpine-bun-v1",
"imagePullPolicy": "IfNotPresent",
"command": [
"node",
"/metrics/metrics-sidecar.mjs"
],
"env": [
{
"name": "HWLAB_METRICS_SERVICE_ID",
"value": "hwlab-cloud-api"
},
{
"name": "HWLAB_METRICS_NAMESPACE",
"value": "hwlab-v03"
},
{
"name": "HWLAB_METRICS_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_METRICS_PORT",
"value": "9100"
},
{
"name": "HWLAB_METRICS_TARGET_URL",
"value": "http://127.0.0.1:6667/health/live"
},
{
"name": "HWLAB_METRICS_TARGET_TIMEOUT_MS",
"value": "2000"
},
{
"name": "HWLAB_METRICS_EXTRA_URL",
"value": "http://127.0.0.1:6667/v1/web-performance/metrics"
},
{
"name": "HWLAB_METRICS_EXTRA_TIMEOUT_MS",
"value": "2000"
}
],
"ports": [
{
"name": "metrics",
"containerPort": 9100
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 3,
"periodSeconds": 10
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 10,
"periodSeconds": 20
},
"volumeMounts": [
{
"name": "hwlab-metrics-sidecar",
"mountPath": "/metrics",
"readOnly": true
}
]
}
],
"volumes": [
{
"name": "hwlab-user-skills",
"persistentVolumeClaim": {
"claimName": "hwlab-user-skills"
}
},
{
"name": "hwlab-metrics-sidecar",
"configMap": {
"name": "hwlab-v03-metrics-sidecar"
}
},
{
"name": "hwpod-preinstalled-specs",
"configMap": {
"name": "hwlab-v03-hwpod-preinstalled-specs"
}
}
]
}
}
}
},
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"name": "hwlab-user-billing",
"namespace": "hwlab-v03",
"labels": {
"app.kubernetes.io/name": "hwlab-user-billing",
"hwlab.pikastech.local/service-id": "hwlab-user-billing",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"unidesk.ai/node-staging": "false",
"hwlab.pikastech.local/monitoring": "enabled"
},
"annotations": {
"hwlab.pikastech.local/gitops-note": "node DEV GitOps target.",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
}
},
"spec": {
"replicas": 1,
"selector": {
"matchLabels": {
"app.kubernetes.io/name": "hwlab-user-billing",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03"
}
},
"template": {
"metadata": {
"labels": {
"app.kubernetes.io/name": "hwlab-user-billing",
"hwlab.pikastech.local/service-id": "hwlab-user-billing",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/monitoring": "enabled",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
"annotations": {
"hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-user-billing.sh",
"hwlab.pikastech.local/environment-digest": "sha256:74624eb24c92c9a48a0c2d24a16da77832471a3ca0167ee4f888595f0267554f",
"hwlab.pikastech.local/environment-input-hash": "934129c3af54712455d60e482164908d4c1578a20efad966d26757a136a73b85",
"hwlab.pikastech.local/code-input-hash": "686039eef616c0850f74f2a31618dfdb2fd91b0ef15a1805f487cbded3b021ce"
}
},
"spec": {
"containers": [
{
"name": "hwlab-user-billing",
"image": "127.0.0.1:5000/hwlab/hwlab-go-runtime-env@sha256:74624eb24c92c9a48a0c2d24a16da77832471a3ca0167ee4f888595f0267554f",
"ports": [
{
"name": "http",
"containerPort": 6670
}
],
"env": [
{
"name": "HWLAB_USER_BILLING_PORT",
"value": "6670"
},
{
"name": "HWLAB_USER_BILLING_STATE_AUTHORITY",
"value": "pk01-postgres"
},
{
"name": "HWLAB_USER_BILLING_STATELESS",
"value": "true"
},
{
"name": "TZ",
"value": "Asia/Shanghai"
},
{
"name": "HWLAB_USER_BILLING_DB_URL",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-cloud-api-v03-db",
"key": "database-url",
"optional": true
}
}
},
{
"name": "HWLAB_USER_BILLING_DB_POOL_MAX",
"value": "2"
},
{
"name": "HWLAB_USER_BILLING_MIGRATION_TIMEOUT_SECONDS",
"value": "180"
},
{
"name": "HWLAB_USER_BILLING_BOOTSTRAP_TIMEOUT_SECONDS",
"value": "60"
},
{
"name": "HWLAB_BOOTSTRAP_ADMIN_ID",
"value": "usr_v03_admin"
},
{
"name": "HWLAB_BOOTSTRAP_ADMIN_USERNAME",
"value": "admin"
},
{
"name": "HWLAB_BOOTSTRAP_ADMIN_DISPLAY_NAME",
"value": "HWLAB v0.3 Admin"
},
{
"name": "HWLAB_BOOTSTRAP_ADMIN_PASSWORD_HASH",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-v03-bootstrap-admin",
"key": "password-hash",
"optional": true
}
}
},
{
"name": "HWLAB_USER_BILLING_EXTERNAL_DB_LABEL",
"value": "pk01-external-postgres"
},
{
"name": "HWLAB_USER_BILLING_REGISTRATION_ENABLED",
"value": "1"
},
{
"name": "HWLAB_USER_BILLING_INITIAL_CREDITS",
"value": "0"
},
{
"name": "HWLAB_USER_BILLING_CREDIT_PER_1K_TOKENS",
"value": "1"
},
{
"name": "HWLAB_USER_BILLING_MIGRATE_ON_START",
"value": "1"
},
{
"name": "HWLAB_USER_BILLING_REDIS_URL",
"value": "redis://hwlab-user-billing-redis.hwlab-v03.svc.cluster.local:6379/0"
},
{
"name": "OTEL_EXPORTER_OTLP_TRACES_ENDPOINT",
"value": "http://otel-collector.platform-infra.svc.cluster.local:4318/v1/traces"
},
{
"name": "OTEL_SERVICE_NAME",
"value": "hwlab-user-billing"
},
{
"name": "HWLAB_ENVIRONMENT",
"value": "v03"
},
{
"name": "HWLAB_COMMIT_ID",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_IMAGE",
"value": "127.0.0.1:5000/hwlab/hwlab-go-runtime-env@sha256:74624eb24c92c9a48a0c2d24a16da77832471a3ca0167ee4f888595f0267554f"
},
{
"name": "HWLAB_IMAGE_TAG",
"value": "env-934129c3af54"
},
{
"name": "HWLAB_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_PROFILE",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_SOURCE_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_RUNTIME_MODE",
"value": "env-reuse-gitea-checkout"
},
{
"name": "HWLAB_BOOT_REPO",
"value": "git@github.com:pikasTech/HWLAB.git"
},
{
"name": "HWLAB_BOOT_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_BOOT_REF",
"value": "v0.3"
},
{
"name": "HWLAB_BOOT_SH",
"value": "deploy/runtime/boot/hwlab-user-billing.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-go-runtime-env:env-934129c3af54"
},
{
"name": "HWLAB_ENVIRONMENT_DIGEST",
"value": "sha256:74624eb24c92c9a48a0c2d24a16da77832471a3ca0167ee4f888595f0267554f"
},
{
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
"value": "934129c3af54712455d60e482164908d4c1578a20efad966d26757a136a73b85"
},
{
"name": "HWLAB_CODE_INPUT_HASH",
"value": "686039eef616c0850f74f2a31618dfdb2fd91b0ef15a1805f487cbded3b021ce"
},
{
"name": "HWLAB_IMAGE_DIGEST",
"value": "sha256:74624eb24c92c9a48a0c2d24a16da77832471a3ca0167ee4f888595f0267554f"
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/ready",
"port": "http"
},
"timeoutSeconds": 10,
"failureThreshold": 5
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "http"
},
"timeoutSeconds": 5,
"failureThreshold": 6
},
"imagePullPolicy": "IfNotPresent",
"startupProbe": {
"httpGet": {
"path": "/health/ready",
"port": "http"
},
"periodSeconds": 10,
"timeoutSeconds": 10,
"failureThreshold": 30,
"successThreshold": 1
}
},
{
"name": "hwlab-metrics",
"image": "127.0.0.1:5000/hwlab/hwlab-ci-node-tools:node22-alpine-bun-v1",
"imagePullPolicy": "IfNotPresent",
"command": [
"node",
"/metrics/metrics-sidecar.mjs"
],
"env": [
{
"name": "HWLAB_METRICS_SERVICE_ID",
"value": "hwlab-user-billing"
},
{
"name": "HWLAB_METRICS_NAMESPACE",
"value": "hwlab-v03"
},
{
"name": "HWLAB_METRICS_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_METRICS_PORT",
"value": "9100"
},
{
"name": "HWLAB_METRICS_TARGET_URL",
"value": "http://127.0.0.1:6670/health/live"
},
{
"name": "HWLAB_METRICS_TARGET_TIMEOUT_MS",
"value": "2000"
}
],
"ports": [
{
"name": "metrics",
"containerPort": 9100
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 3,
"periodSeconds": 10
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 10,
"periodSeconds": 20
},
"volumeMounts": [
{
"name": "hwlab-metrics-sidecar",
"mountPath": "/metrics",
"readOnly": true
}
]
}
],
"volumes": [
{
"name": "hwlab-metrics-sidecar",
"configMap": {
"name": "hwlab-v03-metrics-sidecar"
}
}
]
}
}
}
},
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"name": "hwlab-cloud-web",
"namespace": "hwlab-v03",
"labels": {
"app.kubernetes.io/name": "hwlab-cloud-web",
"hwlab.pikastech.local/service-id": "hwlab-cloud-web",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"unidesk.ai/node-staging": "false",
"hwlab.pikastech.local/monitoring": "enabled"
},
"annotations": {
"hwlab.pikastech.local/gitops-note": "node DEV GitOps target.",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
}
},
"spec": {
"replicas": 1,
"selector": {
"matchLabels": {
"app.kubernetes.io/name": "hwlab-cloud-web",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03"
}
},
"template": {
"metadata": {
"labels": {
"app.kubernetes.io/name": "hwlab-cloud-web",
"hwlab.pikastech.local/service-id": "hwlab-cloud-web",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/monitoring": "enabled",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
"annotations": {
"hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-cloud-web.sh",
"hwlab.pikastech.local/environment-digest": "sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2",
"hwlab.pikastech.local/environment-input-hash": "5531c27ecbd8a37dde527aecc6c53d1c626da0776ee56daefb67f921bb478eba",
"hwlab.pikastech.local/code-input-hash": "dcba5a0e5833061aea5158f6a31f41373f9ee80a9960a1e347fa3316571132cf"
}
},
"spec": {
"containers": [
{
"name": "hwlab-cloud-web",
"image": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2",
"ports": [
{
"name": "http",
"containerPort": 8080
}
],
"env": [
{
"name": "HWLAB_API_BASE_URL",
"value": "http://hwlab-cloud-api.hwlab-v03.svc.cluster.local:6667"
},
{
"name": "HWLAB_CLOUD_WEB_PROXY_TIMEOUT_MS",
"value": "1260000"
},
{
"name": "HWLAB_COMMIT_ID",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_IMAGE",
"value": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
},
{
"name": "HWLAB_IMAGE_TAG",
"value": "env-1342b35c683d"
},
{
"name": "HWLAB_ENVIRONMENT",
"value": "v03"
},
{
"name": "BUN_CONFIG_REGISTRY",
"value": "https://registry.npmjs.org/"
},
{
"name": "npm_config_registry",
"value": "https://registry.npmjs.org/"
},
{
"name": "HWLAB_CLOUD_WEB_DISPLAY_TIME_ZONE",
"value": "Asia/Shanghai"
},
{
"name": "HWLAB_CLOUD_WEB_DISPLAY_TIME_LOCALE",
"value": "zh-CN"
},
{
"name": "HWLAB_CLOUD_WEB_DISPLAY_TIME_LABEL",
"value": "北京时间"
},
{
"name": "HWLAB_WORKBENCH_LIVE_KAFKA_SSE_ENABLED",
"value": "true"
},
{
"name": "HWLAB_WORKBENCH_KAFKA_REFRESH_REPLAY_ENABLED",
"value": "true"
},
{
"name": "HWLAB_WORKBENCH_PROJECTION_REALTIME_ENABLED",
"value": "false"
},
{
"name": "HWLAB_WORKBENCH_KAFKA_DEBUG_REPLAY_ENABLED",
"value": "true"
},
{
"name": "HWLAB_CLOUD_WEB_OPENCODE_UPSTREAM_URL",
"value": "http://opencode-server.hwlab-v03.svc.cluster.local:4096"
},
{
"name": "HWLAB_CLOUD_WEB_OPENCODE_USERNAME",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-v03-opencode-server-auth",
"key": "username",
"optional": true
}
}
},
{
"name": "HWLAB_CLOUD_WEB_OPENCODE_PASSWORD",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-v03-opencode-server-auth",
"key": "password",
"optional": true
}
}
},
{
"name": "HWLAB_CLOUD_WEB_OPENCODE_DEFAULT_PROJECT",
"value": "/workspace"
},
{
"name": "HWLAB_CLOUD_WEB_OPENCODE_EVENT_DIRECTORY_FROM",
"value": "/workspace"
},
{
"name": "HWLAB_CLOUD_WEB_OPENCODE_EVENT_DIRECTORY_TO",
"value": "/"
},
{
"name": "OTEL_EXPORTER_OTLP_TRACES_ENDPOINT",
"value": "http://otel-collector.platform-infra.svc.cluster.local:4318/v1/traces"
},
{
"name": "OTEL_SERVICE_NAME",
"value": "hwlab-cloud-web"
},
{
"name": "HWLAB_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_PROFILE",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_SOURCE_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_RUNTIME_MODE",
"value": "env-reuse-gitea-checkout"
},
{
"name": "HWLAB_BOOT_REPO",
"value": "git@github.com:pikasTech/HWLAB.git"
},
{
"name": "HWLAB_BOOT_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_BOOT_REF",
"value": "v0.3"
},
{
"name": "HWLAB_BOOT_SH",
"value": "deploy/runtime/boot/hwlab-cloud-web.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-1342b35c683d"
},
{
"name": "HWLAB_ENVIRONMENT_DIGEST",
"value": "sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
},
{
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
"value": "5531c27ecbd8a37dde527aecc6c53d1c626da0776ee56daefb67f921bb478eba"
},
{
"name": "HWLAB_CODE_INPUT_HASH",
"value": "dcba5a0e5833061aea5158f6a31f41373f9ee80a9960a1e347fa3316571132cf"
},
{
"name": "HWLAB_IMAGE_DIGEST",
"value": "sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
},
{
"name": "HWLAB_AGENT_OBSERVER_RETENTION_EVENT_LIMIT",
"value": "10000"
},
{
"name": "HWLAB_AGENT_OBSERVER_RETENTION_SCAN_LIMIT",
"value": "1000000"
},
{
"name": "HWLAB_AGENT_OBSERVER_RETENTION_TIMEOUT_MS",
"value": "30000"
},
{
"name": "HWLAB_AGENT_OBSERVER_RETENTION_GROUP_PREFIX",
"value": "hwlab-v03-agent-observer-replay"
},
{
"name": "HWLAB_AGENT_OBSERVER_SSE_HEARTBEAT_MS",
"value": "15000"
},
{
"name": "HWLAB_AGENT_OBSERVER_RECONNECT_DELAY_MS",
"value": "1500"
},
{
"name": "HWLAB_AGENT_OBSERVER_BATCH_MAX_EVENTS",
"value": "100"
},
{
"name": "HWLAB_AGENT_OBSERVER_LIVE_BUFFER_LIMIT",
"value": "2000"
},
{
"name": "HWLAB_AGENT_OBSERVER_IDENTITY_WINDOW_LIMIT",
"value": "12000"
},
{
"name": "HWLAB_AGENT_OBSERVER_REDUCER_EVENT_LIMIT",
"value": "2000"
},
{
"name": "HWLAB_AGENT_OBSERVER_REDUCER_ENTITY_LIMIT",
"value": "500"
},
{
"name": "HWLAB_AGENT_OBSERVER_TREE_NODE_LIMIT",
"value": "500"
},
{
"name": "HWLAB_AGENT_OBSERVER_INSPECTOR_EVENT_TAIL_LIMIT",
"value": "100"
},
{
"name": "HWLAB_AGENT_OBSERVER_VIRTUAL_LIST_WINDOW_LIMIT",
"value": "160"
},
{
"name": "HWLAB_AGENT_OBSERVER_CHANGE_HIGHLIGHT_MS",
"value": "1200"
},
{
"name": "HWLAB_AGENT_OBSERVER_STALE_AFTER_MS",
"value": "30000"
},
{
"name": "HWLAB_AGENT_OBSERVER_REDUCED_MOTION",
"value": "respect-system"
},
{
"name": "HWLAB_AGENT_OBSERVER_NODE_ID",
"value": "NC01"
},
{
"name": "HWLAB_AGENT_OBSERVER_LANE",
"value": "v03"
},
{
"name": "HWLAB_PUBLIC_ENDPOINT",
"value": "https://lab-dev.hwpod.com"
},
{
"name": "HWLAB_WORKBENCH_TRACE_AUTO_EXPAND_RUNNING",
"value": "1"
},
{
"name": "HWLAB_WORKBENCH_TRACE_AUTO_COLLAPSE_TERMINAL",
"value": "0"
},
{
"name": "HWLAB_WORKBENCH_RAW_HWLAB_EVENT_WINDOW_ENABLED",
"value": "1"
},
{
"name": "HWLAB_WORKBENCH_RAW_HWLAB_EVENT_WINDOW_MAX_ENTRIES",
"value": "200"
},
{
"name": "HWLAB_WORKBENCH_RAW_HWLAB_EVENT_WINDOW_MAX_RETAINED_BYTES",
"value": "1048576"
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/live",
"port": "http"
}
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "http"
}
},
"imagePullPolicy": "IfNotPresent",
"startupProbe": {
"httpGet": {
"path": "/health/live",
"port": "http"
},
"periodSeconds": 10,
"timeoutSeconds": 3,
"failureThreshold": 90,
"successThreshold": 1
}
},
{
"name": "hwlab-metrics",
"image": "127.0.0.1:5000/hwlab/hwlab-ci-node-tools:node22-alpine-bun-v1",
"imagePullPolicy": "IfNotPresent",
"command": [
"node",
"/metrics/metrics-sidecar.mjs"
],
"env": [
{
"name": "HWLAB_METRICS_SERVICE_ID",
"value": "hwlab-cloud-web"
},
{
"name": "HWLAB_METRICS_NAMESPACE",
"value": "hwlab-v03"
},
{
"name": "HWLAB_METRICS_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_METRICS_PORT",
"value": "9100"
},
{
"name": "HWLAB_METRICS_TARGET_URL",
"value": "http://127.0.0.1:8080/health/live"
},
{
"name": "HWLAB_METRICS_TARGET_TIMEOUT_MS",
"value": "2000"
}
],
"ports": [
{
"name": "metrics",
"containerPort": 9100
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 3,
"periodSeconds": 10
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 10,
"periodSeconds": 20
},
"volumeMounts": [
{
"name": "hwlab-metrics-sidecar",
"mountPath": "/metrics",
"readOnly": true
}
]
}
],
"volumes": [
{
"name": "hwlab-metrics-sidecar",
"configMap": {
"name": "hwlab-v03-metrics-sidecar"
}
}
]
}
}
}
},
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"name": "hwlab-gateway",
"namespace": "hwlab-v03",
"labels": {
"app.kubernetes.io/name": "hwlab-gateway",
"hwlab.pikastech.local/service-id": "hwlab-gateway",
"hwlab.pikastech.local/activation": "manual",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"unidesk.ai/node-staging": "false"
},
"annotations": {
"hwlab.pikastech.local/gitops-note": "node DEV GitOps target.",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
}
},
"spec": {
"replicas": 0,
"selector": {
"matchLabels": {
"app.kubernetes.io/name": "hwlab-gateway",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03"
}
},
"template": {
"metadata": {
"labels": {
"app.kubernetes.io/name": "hwlab-gateway",
"hwlab.pikastech.local/service-id": "hwlab-gateway",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
"annotations": {
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-gateway.sh",
"hwlab.pikastech.local/environment-digest": "sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2",
"hwlab.pikastech.local/environment-input-hash": "5531c27ecbd8a37dde527aecc6c53d1c626da0776ee56daefb67f921bb478eba",
"hwlab.pikastech.local/code-input-hash": "33a6ee768a1b5271e20f25bcb47f2f0f54160284c9c1308f0f031932f1356108"
}
},
"spec": {
"containers": [
{
"name": "hwlab-gateway",
"image": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2",
"ports": [
{
"name": "http",
"containerPort": 7001
}
],
"env": [
{
"name": "HWLAB_GATEWAY_MODE",
"value": "hardware-boundary"
},
{
"name": "HWLAB_ENVIRONMENT",
"value": "v03"
},
{
"name": "TZ",
"value": "Asia/Shanghai"
},
{
"name": "HWLAB_COMMIT_ID",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_IMAGE",
"value": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
},
{
"name": "HWLAB_IMAGE_TAG",
"value": "env-1342b35c683d"
},
{
"name": "HWLAB_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_PROFILE",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_SOURCE_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_RUNTIME_MODE",
"value": "env-reuse-gitea-checkout"
},
{
"name": "HWLAB_BOOT_REPO",
"value": "git@github.com:pikasTech/HWLAB.git"
},
{
"name": "HWLAB_BOOT_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_BOOT_REF",
"value": "v0.3"
},
{
"name": "HWLAB_BOOT_SH",
"value": "deploy/runtime/boot/hwlab-gateway.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-1342b35c683d"
},
{
"name": "HWLAB_ENVIRONMENT_DIGEST",
"value": "sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
},
{
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
"value": "5531c27ecbd8a37dde527aecc6c53d1c626da0776ee56daefb67f921bb478eba"
},
{
"name": "HWLAB_CODE_INPUT_HASH",
"value": "33a6ee768a1b5271e20f25bcb47f2f0f54160284c9c1308f0f031932f1356108"
},
{
"name": "HWLAB_IMAGE_DIGEST",
"value": "sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/live",
"port": "http"
}
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "http"
}
},
"imagePullPolicy": "IfNotPresent",
"startupProbe": {
"httpGet": {
"path": "/health/live",
"port": "http"
},
"periodSeconds": 10,
"timeoutSeconds": 2,
"failureThreshold": 30,
"successThreshold": 1
}
}
]
}
}
}
},
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"name": "hwlab-edge-proxy",
"namespace": "hwlab-v03",
"labels": {
"app.kubernetes.io/name": "hwlab-edge-proxy",
"hwlab.pikastech.local/service-id": "hwlab-edge-proxy",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"unidesk.ai/node-staging": "false",
"hwlab.pikastech.local/monitoring": "enabled"
},
"annotations": {
"hwlab.pikastech.local/gitops-note": "node DEV GitOps target.",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
}
},
"spec": {
"replicas": 1,
"selector": {
"matchLabels": {
"app.kubernetes.io/name": "hwlab-edge-proxy",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03"
}
},
"template": {
"metadata": {
"labels": {
"app.kubernetes.io/name": "hwlab-edge-proxy",
"hwlab.pikastech.local/service-id": "hwlab-edge-proxy",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/monitoring": "enabled",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
"annotations": {
"hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-edge-proxy.sh",
"hwlab.pikastech.local/environment-digest": "sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2",
"hwlab.pikastech.local/environment-input-hash": "5531c27ecbd8a37dde527aecc6c53d1c626da0776ee56daefb67f921bb478eba",
"hwlab.pikastech.local/code-input-hash": "6b7f2c6afbfc76b3ad02e1a4fea96582c58a205633b91d37c46716220a716f5d"
}
},
"spec": {
"containers": [
{
"name": "hwlab-edge-proxy",
"image": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2",
"ports": [
{
"name": "http",
"containerPort": 6667
}
],
"env": [
{
"name": "HWLAB_EDGE_LISTEN",
"value": "0.0.0.0:6667"
},
{
"name": "HWLAB_EDGE_UPSTREAM",
"value": "http://hwlab-cloud-api.hwlab-v03.svc.cluster.local:6667"
},
{
"name": "HWLAB_EDGE_PROXY_TIMEOUT_MS",
"value": "1260000"
},
{
"name": "HWLAB_EDGE_IDLE_TIMEOUT_SECONDS",
"value": "120"
},
{
"name": "TZ",
"value": "Asia/Shanghai"
},
{
"name": "HWLAB_ENVIRONMENT",
"value": "v03"
},
{
"name": "HWLAB_COMMIT_ID",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_IMAGE",
"value": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
},
{
"name": "HWLAB_IMAGE_TAG",
"value": "env-1342b35c683d"
},
{
"name": "HWLAB_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_PROFILE",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_SOURCE_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_RUNTIME_MODE",
"value": "env-reuse-gitea-checkout"
},
{
"name": "HWLAB_BOOT_REPO",
"value": "git@github.com:pikasTech/HWLAB.git"
},
{
"name": "HWLAB_BOOT_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_BOOT_REF",
"value": "v0.3"
},
{
"name": "HWLAB_BOOT_SH",
"value": "deploy/runtime/boot/hwlab-edge-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-1342b35c683d"
},
{
"name": "HWLAB_ENVIRONMENT_DIGEST",
"value": "sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
},
{
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
"value": "5531c27ecbd8a37dde527aecc6c53d1c626da0776ee56daefb67f921bb478eba"
},
{
"name": "HWLAB_CODE_INPUT_HASH",
"value": "6b7f2c6afbfc76b3ad02e1a4fea96582c58a205633b91d37c46716220a716f5d"
},
{
"name": "HWLAB_IMAGE_DIGEST",
"value": "sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
},
{
"name": "HWLAB_PUBLIC_ENDPOINT",
"value": "https://lab-dev.hwpod.com"
}
],
"readinessProbe": {
"httpGet": {
"path": "/health",
"port": "http"
},
"timeoutSeconds": 3,
"failureThreshold": 5
},
"livenessProbe": {
"httpGet": {
"path": "/health",
"port": "http"
},
"periodSeconds": 20,
"timeoutSeconds": 5,
"failureThreshold": 6
},
"imagePullPolicy": "IfNotPresent",
"startupProbe": {
"httpGet": {
"path": "/health/live",
"port": "http"
},
"periodSeconds": 10,
"timeoutSeconds": 3,
"failureThreshold": 30,
"successThreshold": 1
}
},
{
"name": "hwlab-metrics",
"image": "127.0.0.1:5000/hwlab/hwlab-ci-node-tools:node22-alpine-bun-v1",
"imagePullPolicy": "IfNotPresent",
"command": [
"node",
"/metrics/metrics-sidecar.mjs"
],
"env": [
{
"name": "HWLAB_METRICS_SERVICE_ID",
"value": "hwlab-edge-proxy"
},
{
"name": "HWLAB_METRICS_NAMESPACE",
"value": "hwlab-v03"
},
{
"name": "HWLAB_METRICS_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_METRICS_PORT",
"value": "9100"
},
{
"name": "HWLAB_METRICS_TARGET_URL",
"value": "http://127.0.0.1:6667/health"
},
{
"name": "HWLAB_METRICS_TARGET_TIMEOUT_MS",
"value": "2000"
}
],
"ports": [
{
"name": "metrics",
"containerPort": 9100
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 3,
"periodSeconds": 10
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 10,
"periodSeconds": 20
},
"volumeMounts": [
{
"name": "hwlab-metrics-sidecar",
"mountPath": "/metrics",
"readOnly": true
}
]
}
],
"volumes": [
{
"name": "hwlab-metrics-sidecar",
"configMap": {
"name": "hwlab-v03-metrics-sidecar"
}
}
]
}
}
}
},
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"name": "hwlab-agent-skills",
"namespace": "hwlab-v03",
"labels": {
"app.kubernetes.io/name": "hwlab-agent-skills",
"hwlab.pikastech.local/service-id": "hwlab-agent-skills",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"unidesk.ai/node-staging": "false",
"hwlab.pikastech.local/monitoring": "enabled"
},
"annotations": {
"hwlab.pikastech.local/gitops-note": "node DEV GitOps target.",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
}
},
"spec": {
"replicas": 1,
"selector": {
"matchLabels": {
"app.kubernetes.io/name": "hwlab-agent-skills",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03"
}
},
"template": {
"metadata": {
"labels": {
"app.kubernetes.io/name": "hwlab-agent-skills",
"hwlab.pikastech.local/service-id": "hwlab-agent-skills",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/profile": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/monitoring": "enabled",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
"annotations": {
"hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4",
"hwlab.pikastech.local/gitops-render-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/artifact-source-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
"hwlab.pikastech.local/runtime-mode": "env-reuse-gitea-checkout",
"hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git",
"hwlab.pikastech.local/boot-commit": "ed0c4a7e27270434708a189ba6403097b4270ac7",
"hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-agent-skills.sh",
"hwlab.pikastech.local/environment-digest": "sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2",
"hwlab.pikastech.local/environment-input-hash": "5531c27ecbd8a37dde527aecc6c53d1c626da0776ee56daefb67f921bb478eba",
"hwlab.pikastech.local/code-input-hash": "b274823f7b33a772fb75b57973cfe739d7385412291af146ce7001d7798af0eb"
}
},
"spec": {
"containers": [
{
"name": "hwlab-agent-skills",
"image": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2",
"ports": [
{
"name": "http",
"containerPort": 7430
}
],
"env": [
{
"name": "HWLAB_SKILLS_COMMIT_ID",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "TZ",
"value": "Asia/Shanghai"
},
{
"name": "HWLAB_ENVIRONMENT",
"value": "v03"
},
{
"name": "HWLAB_COMMIT_ID",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_IMAGE",
"value": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
},
{
"name": "HWLAB_IMAGE_TAG",
"value": "env-1342b35c683d"
},
{
"name": "HWLAB_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_PROFILE",
"value": "v03"
},
{
"name": "HWLAB_GITOPS_SOURCE_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_RUNTIME_MODE",
"value": "env-reuse-gitea-checkout"
},
{
"name": "HWLAB_BOOT_REPO",
"value": "git@github.com:pikasTech/HWLAB.git"
},
{
"name": "HWLAB_BOOT_COMMIT",
"value": "ed0c4a7e27270434708a189ba6403097b4270ac7"
},
{
"name": "HWLAB_BOOT_REF",
"value": "v0.3"
},
{
"name": "HWLAB_BOOT_SH",
"value": "deploy/runtime/boot/hwlab-agent-skills.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-1342b35c683d"
},
{
"name": "HWLAB_ENVIRONMENT_DIGEST",
"value": "sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
},
{
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
"value": "5531c27ecbd8a37dde527aecc6c53d1c626da0776ee56daefb67f921bb478eba"
},
{
"name": "HWLAB_CODE_INPUT_HASH",
"value": "b274823f7b33a772fb75b57973cfe739d7385412291af146ce7001d7798af0eb"
},
{
"name": "HWLAB_IMAGE_DIGEST",
"value": "sha256:2ab70e5daca54eff3bd86dcb812e3441516352a10046589662d36c8ce4cf8ec2"
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/live",
"port": "http"
}
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "http"
}
},
"imagePullPolicy": "IfNotPresent",
"startupProbe": {
"httpGet": {
"path": "/health/live",
"port": "http"
},
"periodSeconds": 10,
"timeoutSeconds": 2,
"failureThreshold": 30,
"successThreshold": 1
}
},
{
"name": "hwlab-metrics",
"image": "127.0.0.1:5000/hwlab/hwlab-ci-node-tools:node22-alpine-bun-v1",
"imagePullPolicy": "IfNotPresent",
"command": [
"node",
"/metrics/metrics-sidecar.mjs"
],
"env": [
{
"name": "HWLAB_METRICS_SERVICE_ID",
"value": "hwlab-agent-skills"
},
{
"name": "HWLAB_METRICS_NAMESPACE",
"value": "hwlab-v03"
},
{
"name": "HWLAB_METRICS_GITOPS_TARGET",
"value": "v03"
},
{
"name": "HWLAB_METRICS_PORT",
"value": "9100"
},
{
"name": "HWLAB_METRICS_TARGET_URL",
"value": "http://127.0.0.1:7430/health/live"
},
{
"name": "HWLAB_METRICS_TARGET_TIMEOUT_MS",
"value": "2000"
}
],
"ports": [
{
"name": "metrics",
"containerPort": 9100
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 3,
"periodSeconds": 10
},
"livenessProbe": {
"httpGet": {
"path": "/health/live",
"port": "metrics"
},
"initialDelaySeconds": 10,
"periodSeconds": 20
},
"volumeMounts": [
{
"name": "hwlab-metrics-sidecar",
"mountPath": "/metrics",
"readOnly": true
}
]
}
],
"volumes": [
{
"name": "hwlab-metrics-sidecar",
"configMap": {
"name": "hwlab-v03-metrics-sidecar"
}
}
]
}
}
}
}
]
}