3451 lines
139 KiB
YAML
3451 lines
139 KiB
YAML
{
|
|
"apiVersion": "v1",
|
|
"kind": "List",
|
|
"items": [
|
|
{
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
}
|
|
},
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
}
|
|
},
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/artifact-source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/monitoring": "enabled",
|
|
"hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout",
|
|
"hwlab.pikastech.local/boot-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
"annotations": {
|
|
"hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4",
|
|
"hwlab.pikastech.local/gitops-render-source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/artifact-source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
|
|
"hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout",
|
|
"hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git",
|
|
"hwlab.pikastech.local/boot-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-project-management.sh",
|
|
"hwlab.pikastech.local/environment-digest": "sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a",
|
|
"hwlab.pikastech.local/environment-input-hash": "d27ecbf7ba13f76fbeca46003026aeb5668e1c55569aa9e034f4873d8a2df1e8",
|
|
"hwlab.pikastech.local/code-input-hash": "4cbd4e24c3020037d215271ed248ac38d5a1c385855443ffe5c112b1a04118f6"
|
|
}
|
|
},
|
|
"spec": {
|
|
"containers": [
|
|
{
|
|
"name": "hwlab-project-management",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a",
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE",
|
|
"value": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE_TAG",
|
|
"value": "env-d27ecbf7ba13"
|
|
},
|
|
{
|
|
"name": "HWLAB_GITOPS_TARGET",
|
|
"value": "v03"
|
|
},
|
|
{
|
|
"name": "HWLAB_GITOPS_PROFILE",
|
|
"value": "v03"
|
|
},
|
|
{
|
|
"name": "HWLAB_GITOPS_SOURCE_COMMIT",
|
|
"value": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"name": "HWLAB_RUNTIME_MODE",
|
|
"value": "env-reuse-git-mirror-checkout"
|
|
},
|
|
{
|
|
"name": "HWLAB_BOOT_REPO",
|
|
"value": "git@github.com:pikasTech/HWLAB.git"
|
|
},
|
|
{
|
|
"name": "HWLAB_BOOT_COMMIT",
|
|
"value": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"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://git-mirror-http.devops-infra.svc.cluster.local/pikasTech/HWLAB.git"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_IMAGE",
|
|
"value": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env:env-d27ecbf7ba13"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_DIGEST",
|
|
"value": "sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
|
|
"value": "d27ecbf7ba13f76fbeca46003026aeb5668e1c55569aa9e034f4873d8a2df1e8"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_INPUT_HASH",
|
|
"value": "4cbd4e24c3020037d215271ed248ac38d5a1c385855443ffe5c112b1a04118f6"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE_DIGEST",
|
|
"value": "sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a"
|
|
}
|
|
],
|
|
"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/ready"
|
|
},
|
|
{
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
}
|
|
},
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/artifact-source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/monitoring": "enabled",
|
|
"hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout",
|
|
"hwlab.pikastech.local/boot-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
"annotations": {
|
|
"hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4",
|
|
"hwlab.pikastech.local/gitops-render-source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/artifact-source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
|
|
"hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout",
|
|
"hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git",
|
|
"hwlab.pikastech.local/boot-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-workbench-runtime.sh",
|
|
"hwlab.pikastech.local/environment-digest": "sha256:6627afec4c746d85a6499d594552775936bd09a9a4cef5adf643c187eb03aa10",
|
|
"hwlab.pikastech.local/environment-input-hash": "9115558e9e2c51e8d2e1065310f1b49ccc7a4f1342faa52534062a9dad3d6cb2",
|
|
"hwlab.pikastech.local/code-input-hash": "2db125ce4bebccf3c3e95b50291559144cf647eb905628d59ebebc17c65e2c8b"
|
|
}
|
|
},
|
|
"spec": {
|
|
"containers": [
|
|
{
|
|
"name": "hwlab-workbench-runtime",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-workbench-runtime-env@sha256:6627afec4c746d85a6499d594552775936bd09a9a4cef5adf643c187eb03aa10",
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE",
|
|
"value": "127.0.0.1:5000/hwlab/hwlab-workbench-runtime-env@sha256:6627afec4c746d85a6499d594552775936bd09a9a4cef5adf643c187eb03aa10"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE_TAG",
|
|
"value": "env-9115558e9e2c"
|
|
},
|
|
{
|
|
"name": "HWLAB_GITOPS_TARGET",
|
|
"value": "v03"
|
|
},
|
|
{
|
|
"name": "HWLAB_GITOPS_PROFILE",
|
|
"value": "v03"
|
|
},
|
|
{
|
|
"name": "HWLAB_GITOPS_SOURCE_COMMIT",
|
|
"value": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"name": "HWLAB_RUNTIME_MODE",
|
|
"value": "env-reuse-git-mirror-checkout"
|
|
},
|
|
{
|
|
"name": "HWLAB_BOOT_REPO",
|
|
"value": "git@github.com:pikasTech/HWLAB.git"
|
|
},
|
|
{
|
|
"name": "HWLAB_BOOT_COMMIT",
|
|
"value": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"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://git-mirror-http.devops-infra.svc.cluster.local/pikasTech/HWLAB.git"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_IMAGE",
|
|
"value": "127.0.0.1:5000/hwlab/hwlab-workbench-runtime-env:env-9115558e9e2c"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_DIGEST",
|
|
"value": "sha256:6627afec4c746d85a6499d594552775936bd09a9a4cef5adf643c187eb03aa10"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
|
|
"value": "9115558e9e2c51e8d2e1065310f1b49ccc7a4f1342faa52534062a9dad3d6cb2"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_INPUT_HASH",
|
|
"value": "2db125ce4bebccf3c3e95b50291559144cf647eb905628d59ebebc17c65e2c8b"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE_DIGEST",
|
|
"value": "sha256:6627afec4c746d85a6499d594552775936bd09a9a4cef5adf643c187eb03aa10"
|
|
}
|
|
],
|
|
"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/ready"
|
|
},
|
|
{
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
}
|
|
},
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/artifact-source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/monitoring": "enabled",
|
|
"hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout",
|
|
"hwlab.pikastech.local/boot-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
"annotations": {
|
|
"hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4",
|
|
"hwlab.pikastech.local/gitops-render-source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/artifact-source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
|
|
"hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout",
|
|
"hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git",
|
|
"hwlab.pikastech.local/boot-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-cloud-api.sh",
|
|
"hwlab.pikastech.local/environment-digest": "sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a",
|
|
"hwlab.pikastech.local/environment-input-hash": "d27ecbf7ba13f76fbeca46003026aeb5668e1c55569aa9e034f4873d8a2df1e8",
|
|
"hwlab.pikastech.local/code-input-hash": "e9ce96840e4a0b5732e5b0f4de06e81947ad0cf3ccaf711d1f1108f592e9bee1"
|
|
}
|
|
},
|
|
"spec": {
|
|
"initContainers": [],
|
|
"containers": [
|
|
{
|
|
"name": "hwlab-cloud-api",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a",
|
|
"ports": [
|
|
{
|
|
"name": "http",
|
|
"containerPort": 6667
|
|
}
|
|
],
|
|
"env": [
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT",
|
|
"value": "v03"
|
|
},
|
|
{
|
|
"name": "HWLAB_PUBLIC_ENDPOINT",
|
|
"value": "https://hwlab-v03.74-48-78-17.nip.io"
|
|
},
|
|
{
|
|
"name": "HWLAB_CLOUD_API_PORT",
|
|
"value": "6667"
|
|
},
|
|
{
|
|
"name": "HWLAB_COMMIT_ID",
|
|
"value": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE",
|
|
"value": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE_TAG",
|
|
"value": "env-d27ecbf7ba13"
|
|
},
|
|
{
|
|
"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": "deepseek"
|
|
},
|
|
{
|
|
"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_TURN_STATUS_REFRESH_TIMEOUT_MS",
|
|
"value": "30000"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_AGENT_AGENTRUN_NO_RESPONSE_TIMEOUT_MS",
|
|
"value": "600000"
|
|
},
|
|
{
|
|
"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_CODE_AGENT_AGENTRUN_PROJECTION_SYNC_POLL_INTERVAL_MS",
|
|
"value": "1000"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_AGENT_AGENTRUN_PROJECTION_RESUME_ENABLED",
|
|
"value": "1"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_AGENT_AGENTRUN_PROJECTION_RESUME_INITIAL_DELAY_MS",
|
|
"value": "5000"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_AGENT_AGENTRUN_PROJECTION_RESUME_INTERVAL_MS",
|
|
"value": "60000"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_AGENT_AGENTRUN_PROJECTION_RESUME_MIN_AGE_MS",
|
|
"value": "30000"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_AGENT_AGENTRUN_PROJECTION_RESUME_BATCH_SIZE",
|
|
"value": "100"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_AGENT_AGENTRUN_PROJECTION_RESUME_JITTER_MS",
|
|
"value": "15000"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_AGENT_AGENTRUN_PROJECTION_RESUME_FAILURE_BACKOFF_MS",
|
|
"value": "120000"
|
|
},
|
|
{
|
|
"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\"]}]"
|
|
},
|
|
{
|
|
"name": "HWLAB_CLOUD_DB_POOL_MAX",
|
|
"value": "4"
|
|
},
|
|
{
|
|
"name": "HWLAB_CLOUD_DB_PROBE_TIMEOUT_MS",
|
|
"value": "5000"
|
|
},
|
|
{
|
|
"name": "HWLAB_CLOUD_DB_QUERY_TIMEOUT_MS",
|
|
"value": "3000"
|
|
},
|
|
{
|
|
"name": "HWLAB_CLOUD_DB_QUERY_RETRY_MAX_ATTEMPTS",
|
|
"value": "5"
|
|
},
|
|
{
|
|
"name": "HWLAB_CLOUD_DB_QUERY_RETRY_INITIAL_DELAY_MS",
|
|
"value": "250"
|
|
},
|
|
{
|
|
"name": "HWLAB_CLOUD_DB_QUERY_RETRY_MAX_DELAY_MS",
|
|
"value": "5000"
|
|
},
|
|
{
|
|
"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_ACCESS_CONTROL_REQUIRED",
|
|
"value": "1"
|
|
},
|
|
{
|
|
"name": "HWLAB_SESSION_COOKIE_DOMAIN",
|
|
"value": ".pikapython.com"
|
|
},
|
|
{
|
|
"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_PROJECT_MANAGEMENT_URL",
|
|
"value": "http://hwlab-project-management.hwlab-v03.svc.cluster.local:6672"
|
|
},
|
|
{
|
|
"name": "HWLAB_HWPOD_SPEC_REGISTRY_DIRS",
|
|
"value": "/etc/hwlab/hwpod-specs"
|
|
},
|
|
{
|
|
"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-v01"
|
|
},
|
|
{
|
|
"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://git-mirror-http.devops-infra.svc.cluster.local/pikasTech/HWLAB.git"
|
|
},
|
|
{
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_AGENT_AGENTRUN_SOURCE_COMMIT",
|
|
"value": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"name": "HWLAB_RUNTIME_MODE",
|
|
"value": "env-reuse-git-mirror-checkout"
|
|
},
|
|
{
|
|
"name": "HWLAB_BOOT_REPO",
|
|
"value": "git@github.com:pikasTech/HWLAB.git"
|
|
},
|
|
{
|
|
"name": "HWLAB_BOOT_COMMIT",
|
|
"value": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"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://git-mirror-http.devops-infra.svc.cluster.local/pikasTech/HWLAB.git"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_IMAGE",
|
|
"value": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env:env-d27ecbf7ba13"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_DIGEST",
|
|
"value": "sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
|
|
"value": "d27ecbf7ba13f76fbeca46003026aeb5668e1c55569aa9e034f4873d8a2df1e8"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_INPUT_HASH",
|
|
"value": "e9ce96840e4a0b5732e5b0f4de06e81947ad0cf3ccaf711d1f1108f592e9bee1"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE_DIGEST",
|
|
"value": "sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a"
|
|
},
|
|
{
|
|
"name": "HWLAB_WORKBENCH_SSE_DRAIN_TIMEOUT_MS",
|
|
"value": "2500"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_AGENT_AGENTRUN_PROVIDER_ID",
|
|
"value": "JD01"
|
|
},
|
|
{
|
|
"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"
|
|
}
|
|
],
|
|
"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:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a",
|
|
"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://hwlab-v03.74-48-78-17.nip.io"
|
|
},
|
|
{
|
|
"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": "deepseek"
|
|
},
|
|
{
|
|
"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_TURN_STATUS_REFRESH_TIMEOUT_MS",
|
|
"value": "30000"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_AGENT_AGENTRUN_NO_RESPONSE_TIMEOUT_MS",
|
|
"value": "600000"
|
|
},
|
|
{
|
|
"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_CODE_AGENT_AGENTRUN_PROJECTION_SYNC_POLL_INTERVAL_MS",
|
|
"value": "1000"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_AGENT_AGENTRUN_PROJECTION_RESUME_ENABLED",
|
|
"value": "1"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_AGENT_AGENTRUN_PROJECTION_RESUME_INITIAL_DELAY_MS",
|
|
"value": "5000"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_AGENT_AGENTRUN_PROJECTION_RESUME_INTERVAL_MS",
|
|
"value": "60000"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_AGENT_AGENTRUN_PROJECTION_RESUME_MIN_AGE_MS",
|
|
"value": "30000"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_AGENT_AGENTRUN_PROJECTION_RESUME_BATCH_SIZE",
|
|
"value": "100"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_AGENT_AGENTRUN_PROJECTION_RESUME_JITTER_MS",
|
|
"value": "15000"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_AGENT_AGENTRUN_PROJECTION_RESUME_FAILURE_BACKOFF_MS",
|
|
"value": "120000"
|
|
},
|
|
{
|
|
"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\"]}]"
|
|
},
|
|
{
|
|
"name": "HWLAB_CLOUD_DB_POOL_MAX",
|
|
"value": "4"
|
|
},
|
|
{
|
|
"name": "HWLAB_CLOUD_DB_PROBE_TIMEOUT_MS",
|
|
"value": "5000"
|
|
},
|
|
{
|
|
"name": "HWLAB_CLOUD_DB_QUERY_TIMEOUT_MS",
|
|
"value": "3000"
|
|
},
|
|
{
|
|
"name": "HWLAB_CLOUD_DB_QUERY_RETRY_MAX_ATTEMPTS",
|
|
"value": "5"
|
|
},
|
|
{
|
|
"name": "HWLAB_CLOUD_DB_QUERY_RETRY_INITIAL_DELAY_MS",
|
|
"value": "250"
|
|
},
|
|
{
|
|
"name": "HWLAB_CLOUD_DB_QUERY_RETRY_MAX_DELAY_MS",
|
|
"value": "5000"
|
|
},
|
|
{
|
|
"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_ACCESS_CONTROL_REQUIRED",
|
|
"value": "1"
|
|
},
|
|
{
|
|
"name": "HWLAB_SESSION_COOKIE_DOMAIN",
|
|
"value": ".pikapython.com"
|
|
},
|
|
{
|
|
"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_PROJECT_MANAGEMENT_URL",
|
|
"value": "http://hwlab-project-management.hwlab-v03.svc.cluster.local:6672"
|
|
},
|
|
{
|
|
"name": "HWLAB_HWPOD_SPEC_REGISTRY_DIRS",
|
|
"value": "/etc/hwlab/hwpod-specs"
|
|
},
|
|
{
|
|
"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-v01"
|
|
},
|
|
{
|
|
"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://git-mirror-http.devops-infra.svc.cluster.local/pikasTech/HWLAB.git"
|
|
},
|
|
{
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE",
|
|
"value": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE_TAG",
|
|
"value": "env-d27ecbf7ba13"
|
|
},
|
|
{
|
|
"name": "HWLAB_GITOPS_TARGET",
|
|
"value": "v03"
|
|
},
|
|
{
|
|
"name": "HWLAB_GITOPS_PROFILE",
|
|
"value": "v03"
|
|
},
|
|
{
|
|
"name": "HWLAB_GITOPS_SOURCE_COMMIT",
|
|
"value": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_AGENT_AGENTRUN_SOURCE_COMMIT",
|
|
"value": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"name": "HWLAB_RUNTIME_MODE",
|
|
"value": "env-reuse-git-mirror-checkout"
|
|
},
|
|
{
|
|
"name": "HWLAB_BOOT_REPO",
|
|
"value": "git@github.com:pikasTech/HWLAB.git"
|
|
},
|
|
{
|
|
"name": "HWLAB_BOOT_COMMIT",
|
|
"value": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"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://git-mirror-http.devops-infra.svc.cluster.local/pikasTech/HWLAB.git"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_IMAGE",
|
|
"value": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env:env-d27ecbf7ba13"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_DIGEST",
|
|
"value": "sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
|
|
"value": "d27ecbf7ba13f76fbeca46003026aeb5668e1c55569aa9e034f4873d8a2df1e8"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_INPUT_HASH",
|
|
"value": "e9ce96840e4a0b5732e5b0f4de06e81947ad0cf3ccaf711d1f1108f592e9bee1"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE_DIGEST",
|
|
"value": "sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a"
|
|
},
|
|
{
|
|
"name": "HWLAB_WORKBENCH_SSE_DRAIN_TIMEOUT_MS",
|
|
"value": "2500"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_AGENT_AGENTRUN_PROVIDER_ID",
|
|
"value": "JD01"
|
|
},
|
|
{
|
|
"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"
|
|
}
|
|
],
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
}
|
|
},
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/artifact-source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/monitoring": "enabled",
|
|
"hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout",
|
|
"hwlab.pikastech.local/boot-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
"annotations": {
|
|
"hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4",
|
|
"hwlab.pikastech.local/gitops-render-source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/artifact-source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
|
|
"hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout",
|
|
"hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git",
|
|
"hwlab.pikastech.local/boot-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-user-billing.sh",
|
|
"hwlab.pikastech.local/environment-digest": "sha256:58ab902431ce98b91e1442b719d5ab67f474f3a09d04b72638686784ad7bc7c6",
|
|
"hwlab.pikastech.local/environment-input-hash": "9115558e9e2c51e8d2e1065310f1b49ccc7a4f1342faa52534062a9dad3d6cb2",
|
|
"hwlab.pikastech.local/code-input-hash": "1c7f8090dc17d9a7dfc7cdd0714e7294bb231db899c396b388e4ab3642e5134e"
|
|
}
|
|
},
|
|
"spec": {
|
|
"containers": [
|
|
{
|
|
"name": "hwlab-user-billing",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-user-billing-env@sha256:58ab902431ce98b91e1442b719d5ab67f474f3a09d04b72638686784ad7bc7c6",
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE",
|
|
"value": "127.0.0.1:5000/hwlab/hwlab-user-billing-env@sha256:58ab902431ce98b91e1442b719d5ab67f474f3a09d04b72638686784ad7bc7c6"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE_TAG",
|
|
"value": "env-9115558e9e2c"
|
|
},
|
|
{
|
|
"name": "HWLAB_GITOPS_TARGET",
|
|
"value": "v03"
|
|
},
|
|
{
|
|
"name": "HWLAB_GITOPS_PROFILE",
|
|
"value": "v03"
|
|
},
|
|
{
|
|
"name": "HWLAB_GITOPS_SOURCE_COMMIT",
|
|
"value": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"name": "HWLAB_RUNTIME_MODE",
|
|
"value": "env-reuse-git-mirror-checkout"
|
|
},
|
|
{
|
|
"name": "HWLAB_BOOT_REPO",
|
|
"value": "git@github.com:pikasTech/HWLAB.git"
|
|
},
|
|
{
|
|
"name": "HWLAB_BOOT_COMMIT",
|
|
"value": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"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://git-mirror-http.devops-infra.svc.cluster.local/pikasTech/HWLAB.git"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_IMAGE",
|
|
"value": "127.0.0.1:5000/hwlab/hwlab-user-billing-env:env-9115558e9e2c"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_DIGEST",
|
|
"value": "sha256:58ab902431ce98b91e1442b719d5ab67f474f3a09d04b72638686784ad7bc7c6"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
|
|
"value": "9115558e9e2c51e8d2e1065310f1b49ccc7a4f1342faa52534062a9dad3d6cb2"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_INPUT_HASH",
|
|
"value": "1c7f8090dc17d9a7dfc7cdd0714e7294bb231db899c396b388e4ab3642e5134e"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE_DIGEST",
|
|
"value": "sha256:58ab902431ce98b91e1442b719d5ab67f474f3a09d04b72638686784ad7bc7c6"
|
|
}
|
|
],
|
|
"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/ready"
|
|
},
|
|
{
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
}
|
|
},
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/artifact-source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/monitoring": "enabled",
|
|
"hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout",
|
|
"hwlab.pikastech.local/boot-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
"annotations": {
|
|
"hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4",
|
|
"hwlab.pikastech.local/gitops-render-source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/artifact-source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
|
|
"hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout",
|
|
"hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git",
|
|
"hwlab.pikastech.local/boot-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-cloud-web.sh",
|
|
"hwlab.pikastech.local/environment-digest": "sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a",
|
|
"hwlab.pikastech.local/environment-input-hash": "d27ecbf7ba13f76fbeca46003026aeb5668e1c55569aa9e034f4873d8a2df1e8",
|
|
"hwlab.pikastech.local/code-input-hash": "a30d3b6d134dd5e18879523ba0022838e879eb06f3bfb0753eca9d236d7d7780"
|
|
}
|
|
},
|
|
"spec": {
|
|
"containers": [
|
|
{
|
|
"name": "hwlab-cloud-web",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a",
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE",
|
|
"value": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE_TAG",
|
|
"value": "env-d27ecbf7ba13"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT",
|
|
"value": "v03"
|
|
},
|
|
{
|
|
"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_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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"name": "HWLAB_RUNTIME_MODE",
|
|
"value": "env-reuse-git-mirror-checkout"
|
|
},
|
|
{
|
|
"name": "HWLAB_BOOT_REPO",
|
|
"value": "git@github.com:pikasTech/HWLAB.git"
|
|
},
|
|
{
|
|
"name": "HWLAB_BOOT_COMMIT",
|
|
"value": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"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://git-mirror-http.devops-infra.svc.cluster.local/pikasTech/HWLAB.git"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_IMAGE",
|
|
"value": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env:env-d27ecbf7ba13"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_DIGEST",
|
|
"value": "sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
|
|
"value": "d27ecbf7ba13f76fbeca46003026aeb5668e1c55569aa9e034f4873d8a2df1e8"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_INPUT_HASH",
|
|
"value": "a30d3b6d134dd5e18879523ba0022838e879eb06f3bfb0753eca9d236d7d7780"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE_DIGEST",
|
|
"value": "sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a"
|
|
},
|
|
{
|
|
"name": "HWLAB_PUBLIC_ENDPOINT",
|
|
"value": "https://hwlab-v03.74-48-78-17.nip.io"
|
|
},
|
|
{
|
|
"name": "HWLAB_WORKBENCH_TRACE_AUTO_EXPAND_RUNNING",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"name": "HWLAB_WORKBENCH_TRACE_AUTO_COLLAPSE_TERMINAL",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"name": "HWLAB_WORKBENCH_TRACE_EXPLORER_URL_TEMPLATE",
|
|
"value": "/v1/workbench/traces/{trace_id}/events"
|
|
}
|
|
],
|
|
"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-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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"unidesk.ai/node-staging": "false"
|
|
},
|
|
"annotations": {
|
|
"hwlab.pikastech.local/gitops-note": "node DEV GitOps target.",
|
|
"hwlab.pikastech.local/gitops-render-source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
}
|
|
},
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/artifact-source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout",
|
|
"hwlab.pikastech.local/boot-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
"annotations": {
|
|
"hwlab.pikastech.local/gitops-render-source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/artifact-source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
|
|
"hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout",
|
|
"hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git",
|
|
"hwlab.pikastech.local/boot-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-gateway.sh",
|
|
"hwlab.pikastech.local/environment-digest": "sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a",
|
|
"hwlab.pikastech.local/environment-input-hash": "d27ecbf7ba13f76fbeca46003026aeb5668e1c55569aa9e034f4873d8a2df1e8",
|
|
"hwlab.pikastech.local/code-input-hash": "25f753b252593891ed7b03b53a69d266e7a324728cf83fea8654bab4196fa399"
|
|
}
|
|
},
|
|
"spec": {
|
|
"containers": [
|
|
{
|
|
"name": "hwlab-gateway",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a",
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE",
|
|
"value": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE_TAG",
|
|
"value": "env-d27ecbf7ba13"
|
|
},
|
|
{
|
|
"name": "HWLAB_GITOPS_TARGET",
|
|
"value": "v03"
|
|
},
|
|
{
|
|
"name": "HWLAB_GITOPS_PROFILE",
|
|
"value": "v03"
|
|
},
|
|
{
|
|
"name": "HWLAB_GITOPS_SOURCE_COMMIT",
|
|
"value": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"name": "HWLAB_RUNTIME_MODE",
|
|
"value": "env-reuse-git-mirror-checkout"
|
|
},
|
|
{
|
|
"name": "HWLAB_BOOT_REPO",
|
|
"value": "git@github.com:pikasTech/HWLAB.git"
|
|
},
|
|
{
|
|
"name": "HWLAB_BOOT_COMMIT",
|
|
"value": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"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://git-mirror-http.devops-infra.svc.cluster.local/pikasTech/HWLAB.git"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_IMAGE",
|
|
"value": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env:env-d27ecbf7ba13"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_DIGEST",
|
|
"value": "sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
|
|
"value": "d27ecbf7ba13f76fbeca46003026aeb5668e1c55569aa9e034f4873d8a2df1e8"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_INPUT_HASH",
|
|
"value": "25f753b252593891ed7b03b53a69d266e7a324728cf83fea8654bab4196fa399"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE_DIGEST",
|
|
"value": "sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a"
|
|
}
|
|
],
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
}
|
|
},
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/artifact-source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/monitoring": "enabled",
|
|
"hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout",
|
|
"hwlab.pikastech.local/boot-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
"annotations": {
|
|
"hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4",
|
|
"hwlab.pikastech.local/gitops-render-source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/artifact-source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
|
|
"hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout",
|
|
"hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git",
|
|
"hwlab.pikastech.local/boot-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-edge-proxy.sh",
|
|
"hwlab.pikastech.local/environment-digest": "sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a",
|
|
"hwlab.pikastech.local/environment-input-hash": "d27ecbf7ba13f76fbeca46003026aeb5668e1c55569aa9e034f4873d8a2df1e8",
|
|
"hwlab.pikastech.local/code-input-hash": "c97d19939c872e128a6931bdf73f28a75a684948a76a2b1af37508dd47481544"
|
|
}
|
|
},
|
|
"spec": {
|
|
"containers": [
|
|
{
|
|
"name": "hwlab-edge-proxy",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a",
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE",
|
|
"value": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE_TAG",
|
|
"value": "env-d27ecbf7ba13"
|
|
},
|
|
{
|
|
"name": "HWLAB_GITOPS_TARGET",
|
|
"value": "v03"
|
|
},
|
|
{
|
|
"name": "HWLAB_GITOPS_PROFILE",
|
|
"value": "v03"
|
|
},
|
|
{
|
|
"name": "HWLAB_GITOPS_SOURCE_COMMIT",
|
|
"value": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"name": "HWLAB_RUNTIME_MODE",
|
|
"value": "env-reuse-git-mirror-checkout"
|
|
},
|
|
{
|
|
"name": "HWLAB_BOOT_REPO",
|
|
"value": "git@github.com:pikasTech/HWLAB.git"
|
|
},
|
|
{
|
|
"name": "HWLAB_BOOT_COMMIT",
|
|
"value": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"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://git-mirror-http.devops-infra.svc.cluster.local/pikasTech/HWLAB.git"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_IMAGE",
|
|
"value": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env:env-d27ecbf7ba13"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_DIGEST",
|
|
"value": "sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
|
|
"value": "d27ecbf7ba13f76fbeca46003026aeb5668e1c55569aa9e034f4873d8a2df1e8"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_INPUT_HASH",
|
|
"value": "c97d19939c872e128a6931bdf73f28a75a684948a76a2b1af37508dd47481544"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE_DIGEST",
|
|
"value": "sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a"
|
|
},
|
|
{
|
|
"name": "HWLAB_PUBLIC_ENDPOINT",
|
|
"value": "https://hwlab-v03.74-48-78-17.nip.io"
|
|
}
|
|
],
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
}
|
|
},
|
|
"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": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/artifact-source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/monitoring": "enabled",
|
|
"hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout",
|
|
"hwlab.pikastech.local/boot-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
"annotations": {
|
|
"hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4",
|
|
"hwlab.pikastech.local/gitops-render-source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/artifact-source-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs",
|
|
"hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout",
|
|
"hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git",
|
|
"hwlab.pikastech.local/boot-commit": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43",
|
|
"hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-agent-skills.sh",
|
|
"hwlab.pikastech.local/environment-digest": "sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a",
|
|
"hwlab.pikastech.local/environment-input-hash": "d27ecbf7ba13f76fbeca46003026aeb5668e1c55569aa9e034f4873d8a2df1e8",
|
|
"hwlab.pikastech.local/code-input-hash": "369ca524ae4010fb5d9adfd30b4290808a035804b4674755bc193fee743f3d5a"
|
|
}
|
|
},
|
|
"spec": {
|
|
"containers": [
|
|
{
|
|
"name": "hwlab-agent-skills",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a",
|
|
"ports": [
|
|
{
|
|
"name": "http",
|
|
"containerPort": 7430
|
|
}
|
|
],
|
|
"env": [
|
|
{
|
|
"name": "HWLAB_SKILLS_COMMIT_ID",
|
|
"value": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"name": "TZ",
|
|
"value": "Asia/Shanghai"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT",
|
|
"value": "v03"
|
|
},
|
|
{
|
|
"name": "HWLAB_COMMIT_ID",
|
|
"value": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE",
|
|
"value": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE_TAG",
|
|
"value": "env-d27ecbf7ba13"
|
|
},
|
|
{
|
|
"name": "HWLAB_GITOPS_TARGET",
|
|
"value": "v03"
|
|
},
|
|
{
|
|
"name": "HWLAB_GITOPS_PROFILE",
|
|
"value": "v03"
|
|
},
|
|
{
|
|
"name": "HWLAB_GITOPS_SOURCE_COMMIT",
|
|
"value": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"name": "HWLAB_RUNTIME_MODE",
|
|
"value": "env-reuse-git-mirror-checkout"
|
|
},
|
|
{
|
|
"name": "HWLAB_BOOT_REPO",
|
|
"value": "git@github.com:pikasTech/HWLAB.git"
|
|
},
|
|
{
|
|
"name": "HWLAB_BOOT_COMMIT",
|
|
"value": "11bee7e5bb853a69a081060f73ac2ad3b4bf8d43"
|
|
},
|
|
{
|
|
"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://git-mirror-http.devops-infra.svc.cluster.local/pikasTech/HWLAB.git"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_IMAGE",
|
|
"value": "127.0.0.1:5000/hwlab/hwlab-ts-runtime-env:env-d27ecbf7ba13"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_DIGEST",
|
|
"value": "sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a"
|
|
},
|
|
{
|
|
"name": "HWLAB_ENVIRONMENT_INPUT_HASH",
|
|
"value": "d27ecbf7ba13f76fbeca46003026aeb5668e1c55569aa9e034f4873d8a2df1e8"
|
|
},
|
|
{
|
|
"name": "HWLAB_CODE_INPUT_HASH",
|
|
"value": "369ca524ae4010fb5d9adfd30b4290808a035804b4674755bc193fee743f3d5a"
|
|
},
|
|
{
|
|
"name": "HWLAB_IMAGE_DIGEST",
|
|
"value": "sha256:6eb1ae96110417822170a35333efd898fe4ca410034a68f27db600315d0e889a"
|
|
}
|
|
],
|
|
"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"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|