{ "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/source-commit": "8969bdd1e4d8ddf7372fa1ce98c386e80740fcad", "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/source-commit": "8969bdd1e4d8ddf7372fa1ce98c386e80740fcad" } }, "spec": { "accessModes": [ "ReadWriteOnce" ], "resources": { "requests": { "storage": "2Gi" } } } }, { "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/source-commit": "8969bdd1e4d8ddf7372fa1ce98c386e80740fcad", "unidesk.ai/node-staging": "false", "hwlab.pikastech.local/monitoring": "enabled" }, "annotations": { "hwlab.pikastech.local/gitops-note": "node DEV GitOps target.", "hwlab.pikastech.local/source-commit": "8969bdd1e4d8ddf7372fa1ce98c386e80740fcad" } }, "spec": { "replicas": 1, "strategy": { "type": "Recreate" }, "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/source-commit": "f3e0ad796126da7a7721b538936c971b824c2486", "hwlab.pikastech.local/artifact-source-commit": "f3e0ad796126da7a7721b538936c971b824c2486", "hwlab.pikastech.local/monitoring": "enabled", "hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout", "hwlab.pikastech.local/boot-commit": "f3e0ad796126da7a7721b538936c971b824c2486" }, "annotations": { "hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4", "hwlab.pikastech.local/source-commit": "f3e0ad796126da7a7721b538936c971b824c2486", "hwlab.pikastech.local/artifact-source-commit": "f3e0ad796126da7a7721b538936c971b824c2486", "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": "f3e0ad796126da7a7721b538936c971b824c2486", "hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-cloud-api.sh", "hwlab.pikastech.local/environment-digest": "sha256:bf29c6a72e12f599973c51da86cde12ae501fe7c998d95f1d3fde02e54be5ecb", "hwlab.pikastech.local/environment-input-hash": "9495896df9181f06492b0a0f8673eb5dd7e951b756e66e35bda0fd101a14e74a", "hwlab.pikastech.local/code-input-hash": "e2d48031bdb318a3bf175c7eb33c62963c94aaebe20d15445b3a4690bfb2530e" } }, "spec": { "initContainers": [], "containers": [ { "name": "hwlab-cloud-api", "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env@sha256:bf29c6a72e12f599973c51da86cde12ae501fe7c998d95f1d3fde02e54be5ecb", "ports": [ { "name": "http", "containerPort": 6667 } ], "env": [ { "name": "HWLAB_ENVIRONMENT", "value": "v03" }, { "name": "HWLAB_PUBLIC_ENDPOINT", "value": "https://v03.hwpod.com" }, { "name": "HWLAB_CLOUD_API_PORT", "value": "6667" }, { "name": "HWLAB_COMMIT_ID", "value": "f3e0ad796126da7a7721b538936c971b824c2486" }, { "name": "HWLAB_IMAGE", "value": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env@sha256:bf29c6a72e12f599973c51da86cde12ae501fe7c998d95f1d3fde02e54be5ecb" }, { "name": "HWLAB_IMAGE_TAG", "value": "env-9495896df918" }, { "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": "HWLAB_ACCESS_CONTROL_REQUIRED", "value": "1" }, { "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_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_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": "AGENTRUN_MGR_URL", "value": "http://agentrun-mgr.agentrun-v01.svc.cluster.local:8080" }, { "name": "HWLAB_CODE_AGENT_AGENTRUN_RUNNER_NAMESPACE", "value": "agentrun-v01" }, { "name": "HWLAB_CODE_AGENT_AGENTRUN_SECRET_NAMESPACE", "value": "agentrun-v01" }, { "name": "HWLAB_CODE_AGENT_AGENTRUN_REPO_URL", "value": "http://git-mirror-http.devops-infra.svc.cluster.local/pikasTech/HWLAB.git" }, { "name": "HWLAB_GITOPS_TARGET", "value": "v03" }, { "name": "HWLAB_GITOPS_PROFILE", "value": "v03" }, { "name": "HWLAB_GITOPS_SOURCE_COMMIT", "value": "f3e0ad796126da7a7721b538936c971b824c2486" }, { "name": "HWLAB_CODE_AGENT_AGENTRUN_SOURCE_COMMIT", "value": "f3e0ad796126da7a7721b538936c971b824c2486" }, { "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": "f3e0ad796126da7a7721b538936c971b824c2486" }, { "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-cloud-api-env:env-9495896df918" }, { "name": "HWLAB_ENVIRONMENT_DIGEST", "value": "sha256:bf29c6a72e12f599973c51da86cde12ae501fe7c998d95f1d3fde02e54be5ecb" }, { "name": "HWLAB_ENVIRONMENT_INPUT_HASH", "value": "9495896df9181f06492b0a0f8673eb5dd7e951b756e66e35bda0fd101a14e74a" }, { "name": "HWLAB_CODE_INPUT_HASH", "value": "e2d48031bdb318a3bf175c7eb33c62963c94aaebe20d15445b3a4690bfb2530e" }, { "name": "HWLAB_IMAGE_DIGEST", "value": "sha256:bf29c6a72e12f599973c51da86cde12ae501fe7c998d95f1d3fde02e54be5ecb" }, { "name": "HWLAB_CODE_AGENT_AGENTRUN_PROVIDER_ID", "value": "G14" }, { "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" } }, "livenessProbe": { "httpGet": { "path": "/health/live", "port": "http" } }, "volumeMounts": [ { "name": "hwlab-user-skills", "mountPath": "/data/user-skills" } ], "imagePullPolicy": "IfNotPresent", "startupProbe": { "httpGet": { "path": "/health/live", "port": "http" }, "periodSeconds": 10, "timeoutSeconds": 2, "failureThreshold": 30, "successThreshold": 1 } }, { "name": "hwlab-codex-api-forwarder", "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env@sha256:bf29c6a72e12f599973c51da86cde12ae501fe7c998d95f1d3fde02e54be5ecb", "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://v03.hwpod.com" }, { "name": "HWLAB_CLOUD_API_PORT", "value": "6667" }, { "name": "HWLAB_RUNTIME_SUBSTITUTE_FORBIDDEN", "value": "unidesk-backend,provider-gateway,microservice-proxy" }, { "name": "HWLAB_CLOUD_DB_URL", "valueFrom": { "secretKeyRef": { "name": "hwlab-cloud-api-v03-db", "key": "database-url", "optional": true } } }, { "name": "HWLAB_CLOUD_DB_SSL_MODE", "value": "disable" }, { "name": "HWLAB_CLOUD_DB_CONTRACT", "value": "v03-redacted-presence-only" }, { "name": "HWLAB_CLOUD_RUNTIME_ADAPTER", "value": "postgres" }, { "name": "HWLAB_CLOUD_RUNTIME_DURABLE", "value": "true" }, { "name": "HWLAB_CODE_AGENT_TIMEOUT_MS", "value": "1200000" }, { "name": "HWLAB_CODE_AGENT_SKILLS_DIRS", "value": "/app/skills:/data/user-skills" }, { "name": "HWLAB_PREINSTALLED_SKILLS_DIR", "value": "/app/skills" }, { "name": "HWLAB_USER_SKILLS_DIR", "value": "/data/user-skills" }, { "name": "HWLAB_CODE_AGENT_DEFAULT_PROVIDER_PROFILE", "value": "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_ACCESS_CONTROL_REQUIRED", "value": "1" }, { "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_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_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": "AGENTRUN_MGR_URL", "value": "http://agentrun-mgr.agentrun-v01.svc.cluster.local:8080" }, { "name": "HWLAB_CODE_AGENT_AGENTRUN_RUNNER_NAMESPACE", "value": "agentrun-v01" }, { "name": "HWLAB_CODE_AGENT_AGENTRUN_SECRET_NAMESPACE", "value": "agentrun-v01" }, { "name": "HWLAB_CODE_AGENT_AGENTRUN_REPO_URL", "value": "http://git-mirror-http.devops-infra.svc.cluster.local/pikasTech/HWLAB.git" }, { "name": "HWLAB_COMMIT_ID", "value": "f3e0ad796126da7a7721b538936c971b824c2486" }, { "name": "HWLAB_IMAGE", "value": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env@sha256:bf29c6a72e12f599973c51da86cde12ae501fe7c998d95f1d3fde02e54be5ecb" }, { "name": "HWLAB_IMAGE_TAG", "value": "env-9495896df918" }, { "name": "HWLAB_GITOPS_TARGET", "value": "v03" }, { "name": "HWLAB_GITOPS_PROFILE", "value": "v03" }, { "name": "HWLAB_GITOPS_SOURCE_COMMIT", "value": "f3e0ad796126da7a7721b538936c971b824c2486" }, { "name": "HWLAB_CODE_AGENT_AGENTRUN_SOURCE_COMMIT", "value": "f3e0ad796126da7a7721b538936c971b824c2486" }, { "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": "f3e0ad796126da7a7721b538936c971b824c2486" }, { "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-cloud-api-env:env-9495896df918" }, { "name": "HWLAB_ENVIRONMENT_DIGEST", "value": "sha256:bf29c6a72e12f599973c51da86cde12ae501fe7c998d95f1d3fde02e54be5ecb" }, { "name": "HWLAB_ENVIRONMENT_INPUT_HASH", "value": "9495896df9181f06492b0a0f8673eb5dd7e951b756e66e35bda0fd101a14e74a" }, { "name": "HWLAB_CODE_INPUT_HASH", "value": "e2d48031bdb318a3bf175c7eb33c62963c94aaebe20d15445b3a4690bfb2530e" }, { "name": "HWLAB_IMAGE_DIGEST", "value": "sha256:bf29c6a72e12f599973c51da86cde12ae501fe7c998d95f1d3fde02e54be5ecb" }, { "name": "HWLAB_CODE_AGENT_AGENTRUN_PROVIDER_ID", "value": "G14" }, { "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": [], "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 } }, { "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" } } ] } } } }, { "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/source-commit": "8969bdd1e4d8ddf7372fa1ce98c386e80740fcad", "unidesk.ai/node-staging": "false", "hwlab.pikastech.local/monitoring": "enabled" }, "annotations": { "hwlab.pikastech.local/gitops-note": "node DEV GitOps target.", "hwlab.pikastech.local/source-commit": "8969bdd1e4d8ddf7372fa1ce98c386e80740fcad" } }, "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/source-commit": "f3e0ad796126da7a7721b538936c971b824c2486", "hwlab.pikastech.local/artifact-source-commit": "f3e0ad796126da7a7721b538936c971b824c2486", "hwlab.pikastech.local/monitoring": "enabled", "hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout", "hwlab.pikastech.local/boot-commit": "f3e0ad796126da7a7721b538936c971b824c2486" }, "annotations": { "hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4", "hwlab.pikastech.local/source-commit": "f3e0ad796126da7a7721b538936c971b824c2486", "hwlab.pikastech.local/artifact-source-commit": "f3e0ad796126da7a7721b538936c971b824c2486", "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": "f3e0ad796126da7a7721b538936c971b824c2486", "hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-cloud-web.sh", "hwlab.pikastech.local/environment-digest": "sha256:eadedd8ea91fe0ab9d4b29b588a14906e52082c618d326954e7cc83b3da99b77", "hwlab.pikastech.local/environment-input-hash": "9495896df9181f06492b0a0f8673eb5dd7e951b756e66e35bda0fd101a14e74a", "hwlab.pikastech.local/code-input-hash": "fc88b16995fd65a887e8840762cfa656058fc4f5a8f099ec7762354b70918985" } }, "spec": { "containers": [ { "name": "hwlab-cloud-web", "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web-env@sha256:eadedd8ea91fe0ab9d4b29b588a14906e52082c618d326954e7cc83b3da99b77", "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": "f3e0ad796126da7a7721b538936c971b824c2486" }, { "name": "HWLAB_IMAGE", "value": "127.0.0.1:5000/hwlab/hwlab-cloud-web-env@sha256:eadedd8ea91fe0ab9d4b29b588a14906e52082c618d326954e7cc83b3da99b77" }, { "name": "HWLAB_IMAGE_TAG", "value": "env-9495896df918" }, { "name": "HWLAB_ENVIRONMENT", "value": "v03" }, { "name": "HWLAB_GITOPS_TARGET", "value": "v03" }, { "name": "HWLAB_GITOPS_PROFILE", "value": "v03" }, { "name": "HWLAB_GITOPS_SOURCE_COMMIT", "value": "f3e0ad796126da7a7721b538936c971b824c2486" }, { "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": "f3e0ad796126da7a7721b538936c971b824c2486" }, { "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-cloud-web-env:env-9495896df918" }, { "name": "HWLAB_ENVIRONMENT_DIGEST", "value": "sha256:eadedd8ea91fe0ab9d4b29b588a14906e52082c618d326954e7cc83b3da99b77" }, { "name": "HWLAB_ENVIRONMENT_INPUT_HASH", "value": "9495896df9181f06492b0a0f8673eb5dd7e951b756e66e35bda0fd101a14e74a" }, { "name": "HWLAB_CODE_INPUT_HASH", "value": "fc88b16995fd65a887e8840762cfa656058fc4f5a8f099ec7762354b70918985" }, { "name": "HWLAB_IMAGE_DIGEST", "value": "sha256:eadedd8ea91fe0ab9d4b29b588a14906e52082c618d326954e7cc83b3da99b77" }, { "name": "HWLAB_PUBLIC_ENDPOINT", "value": "https://v03.hwpod.com" } ], "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/source-commit": "8969bdd1e4d8ddf7372fa1ce98c386e80740fcad", "unidesk.ai/node-staging": "false" }, "annotations": { "hwlab.pikastech.local/gitops-note": "node DEV GitOps target.", "hwlab.pikastech.local/source-commit": "8969bdd1e4d8ddf7372fa1ce98c386e80740fcad" } }, "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/source-commit": "f3e0ad796126da7a7721b538936c971b824c2486", "hwlab.pikastech.local/artifact-source-commit": "f3e0ad796126da7a7721b538936c971b824c2486", "hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout", "hwlab.pikastech.local/boot-commit": "f3e0ad796126da7a7721b538936c971b824c2486" }, "annotations": { "hwlab.pikastech.local/source-commit": "f3e0ad796126da7a7721b538936c971b824c2486", "hwlab.pikastech.local/artifact-source-commit": "f3e0ad796126da7a7721b538936c971b824c2486", "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": "f3e0ad796126da7a7721b538936c971b824c2486", "hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-gateway.sh", "hwlab.pikastech.local/environment-digest": "sha256:e9b1dfdf18605498917a34dd0c71c6d5d1b91ef4ae073c5c21e2d5480b63abc8", "hwlab.pikastech.local/environment-input-hash": "9495896df9181f06492b0a0f8673eb5dd7e951b756e66e35bda0fd101a14e74a", "hwlab.pikastech.local/code-input-hash": "9693556c71091e3e85d61efc6ef7d62e1064fba145ec83b3b9c196477f0b2870" } }, "spec": { "containers": [ { "name": "hwlab-gateway", "image": "127.0.0.1:5000/hwlab/hwlab-gateway-env@sha256:e9b1dfdf18605498917a34dd0c71c6d5d1b91ef4ae073c5c21e2d5480b63abc8", "ports": [ { "name": "http", "containerPort": 7001 } ], "env": [ { "name": "HWLAB_GATEWAY_MODE", "value": "hardware-boundary" }, { "name": "HWLAB_ENVIRONMENT", "value": "v03" }, { "name": "HWLAB_COMMIT_ID", "value": "f3e0ad796126da7a7721b538936c971b824c2486" }, { "name": "HWLAB_IMAGE", "value": "127.0.0.1:5000/hwlab/hwlab-gateway-env@sha256:e9b1dfdf18605498917a34dd0c71c6d5d1b91ef4ae073c5c21e2d5480b63abc8" }, { "name": "HWLAB_IMAGE_TAG", "value": "env-9495896df918" }, { "name": "HWLAB_GITOPS_TARGET", "value": "v03" }, { "name": "HWLAB_GITOPS_PROFILE", "value": "v03" }, { "name": "HWLAB_GITOPS_SOURCE_COMMIT", "value": "f3e0ad796126da7a7721b538936c971b824c2486" }, { "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": "f3e0ad796126da7a7721b538936c971b824c2486" }, { "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-gateway-env:env-9495896df918" }, { "name": "HWLAB_ENVIRONMENT_DIGEST", "value": "sha256:e9b1dfdf18605498917a34dd0c71c6d5d1b91ef4ae073c5c21e2d5480b63abc8" }, { "name": "HWLAB_ENVIRONMENT_INPUT_HASH", "value": "9495896df9181f06492b0a0f8673eb5dd7e951b756e66e35bda0fd101a14e74a" }, { "name": "HWLAB_CODE_INPUT_HASH", "value": "9693556c71091e3e85d61efc6ef7d62e1064fba145ec83b3b9c196477f0b2870" }, { "name": "HWLAB_IMAGE_DIGEST", "value": "sha256:e9b1dfdf18605498917a34dd0c71c6d5d1b91ef4ae073c5c21e2d5480b63abc8" } ], "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/source-commit": "8969bdd1e4d8ddf7372fa1ce98c386e80740fcad", "unidesk.ai/node-staging": "false", "hwlab.pikastech.local/monitoring": "enabled" }, "annotations": { "hwlab.pikastech.local/gitops-note": "node DEV GitOps target.", "hwlab.pikastech.local/source-commit": "8969bdd1e4d8ddf7372fa1ce98c386e80740fcad" } }, "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/source-commit": "f3e0ad796126da7a7721b538936c971b824c2486", "hwlab.pikastech.local/artifact-source-commit": "f3e0ad796126da7a7721b538936c971b824c2486", "hwlab.pikastech.local/monitoring": "enabled", "hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout", "hwlab.pikastech.local/boot-commit": "f3e0ad796126da7a7721b538936c971b824c2486" }, "annotations": { "hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4", "hwlab.pikastech.local/source-commit": "f3e0ad796126da7a7721b538936c971b824c2486", "hwlab.pikastech.local/artifact-source-commit": "f3e0ad796126da7a7721b538936c971b824c2486", "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": "f3e0ad796126da7a7721b538936c971b824c2486", "hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-edge-proxy.sh", "hwlab.pikastech.local/environment-digest": "sha256:07e80adfbe753d88fb4037c21623badb7dad0d0c640121d16798ec121af06aa7", "hwlab.pikastech.local/environment-input-hash": "9495896df9181f06492b0a0f8673eb5dd7e951b756e66e35bda0fd101a14e74a", "hwlab.pikastech.local/code-input-hash": "feaa7c30c37eb42248165bd2f574362dc91908d531d79f4211733b32929b1fa6" } }, "spec": { "containers": [ { "name": "hwlab-edge-proxy", "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy-env@sha256:07e80adfbe753d88fb4037c21623badb7dad0d0c640121d16798ec121af06aa7", "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_ENVIRONMENT", "value": "v03" }, { "name": "HWLAB_COMMIT_ID", "value": "f3e0ad796126da7a7721b538936c971b824c2486" }, { "name": "HWLAB_IMAGE", "value": "127.0.0.1:5000/hwlab/hwlab-edge-proxy-env@sha256:07e80adfbe753d88fb4037c21623badb7dad0d0c640121d16798ec121af06aa7" }, { "name": "HWLAB_IMAGE_TAG", "value": "env-9495896df918" }, { "name": "HWLAB_GITOPS_TARGET", "value": "v03" }, { "name": "HWLAB_GITOPS_PROFILE", "value": "v03" }, { "name": "HWLAB_GITOPS_SOURCE_COMMIT", "value": "f3e0ad796126da7a7721b538936c971b824c2486" }, { "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": "f3e0ad796126da7a7721b538936c971b824c2486" }, { "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-edge-proxy-env:env-9495896df918" }, { "name": "HWLAB_ENVIRONMENT_DIGEST", "value": "sha256:07e80adfbe753d88fb4037c21623badb7dad0d0c640121d16798ec121af06aa7" }, { "name": "HWLAB_ENVIRONMENT_INPUT_HASH", "value": "9495896df9181f06492b0a0f8673eb5dd7e951b756e66e35bda0fd101a14e74a" }, { "name": "HWLAB_CODE_INPUT_HASH", "value": "feaa7c30c37eb42248165bd2f574362dc91908d531d79f4211733b32929b1fa6" }, { "name": "HWLAB_IMAGE_DIGEST", "value": "sha256:07e80adfbe753d88fb4037c21623badb7dad0d0c640121d16798ec121af06aa7" }, { "name": "HWLAB_PUBLIC_ENDPOINT", "value": "https://v03.hwpod.com" } ], "readinessProbe": { "httpGet": { "path": "/health", "port": "http" } }, "livenessProbe": { "httpGet": { "path": "/health", "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-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/source-commit": "8969bdd1e4d8ddf7372fa1ce98c386e80740fcad", "unidesk.ai/node-staging": "false", "hwlab.pikastech.local/monitoring": "enabled" }, "annotations": { "hwlab.pikastech.local/gitops-note": "node DEV GitOps target.", "hwlab.pikastech.local/source-commit": "8969bdd1e4d8ddf7372fa1ce98c386e80740fcad" } }, "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/source-commit": "f3e0ad796126da7a7721b538936c971b824c2486", "hwlab.pikastech.local/artifact-source-commit": "f3e0ad796126da7a7721b538936c971b824c2486", "hwlab.pikastech.local/monitoring": "enabled", "hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout", "hwlab.pikastech.local/boot-commit": "f3e0ad796126da7a7721b538936c971b824c2486" }, "annotations": { "hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4", "hwlab.pikastech.local/source-commit": "f3e0ad796126da7a7721b538936c971b824c2486", "hwlab.pikastech.local/artifact-source-commit": "f3e0ad796126da7a7721b538936c971b824c2486", "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": "f3e0ad796126da7a7721b538936c971b824c2486", "hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-agent-skills.sh", "hwlab.pikastech.local/environment-digest": "sha256:ca8137d03351c8f9fd32a6b73ffec321a168c6af23d4d2503b5129906dd42480", "hwlab.pikastech.local/environment-input-hash": "9495896df9181f06492b0a0f8673eb5dd7e951b756e66e35bda0fd101a14e74a", "hwlab.pikastech.local/code-input-hash": "369ca524ae4010fb5d9adfd30b4290808a035804b4674755bc193fee743f3d5a" } }, "spec": { "containers": [ { "name": "hwlab-agent-skills", "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills-env@sha256:ca8137d03351c8f9fd32a6b73ffec321a168c6af23d4d2503b5129906dd42480", "ports": [ { "name": "http", "containerPort": 7430 } ], "env": [ { "name": "HWLAB_SKILLS_COMMIT_ID", "value": "f3e0ad796126da7a7721b538936c971b824c2486" }, { "name": "HWLAB_ENVIRONMENT", "value": "v03" }, { "name": "HWLAB_COMMIT_ID", "value": "f3e0ad796126da7a7721b538936c971b824c2486" }, { "name": "HWLAB_IMAGE", "value": "127.0.0.1:5000/hwlab/hwlab-agent-skills-env@sha256:ca8137d03351c8f9fd32a6b73ffec321a168c6af23d4d2503b5129906dd42480" }, { "name": "HWLAB_IMAGE_TAG", "value": "env-9495896df918" }, { "name": "HWLAB_GITOPS_TARGET", "value": "v03" }, { "name": "HWLAB_GITOPS_PROFILE", "value": "v03" }, { "name": "HWLAB_GITOPS_SOURCE_COMMIT", "value": "f3e0ad796126da7a7721b538936c971b824c2486" }, { "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": "f3e0ad796126da7a7721b538936c971b824c2486" }, { "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-agent-skills-env:env-9495896df918" }, { "name": "HWLAB_ENVIRONMENT_DIGEST", "value": "sha256:ca8137d03351c8f9fd32a6b73ffec321a168c6af23d4d2503b5129906dd42480" }, { "name": "HWLAB_ENVIRONMENT_INPUT_HASH", "value": "9495896df9181f06492b0a0f8673eb5dd7e951b756e66e35bda0fd101a14e74a" }, { "name": "HWLAB_CODE_INPUT_HASH", "value": "369ca524ae4010fb5d9adfd30b4290808a035804b4674755bc193fee743f3d5a" }, { "name": "HWLAB_IMAGE_DIGEST", "value": "sha256:ca8137d03351c8f9fd32a6b73ffec321a168c6af23d4d2503b5129906dd42480" } ], "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" } } ] } } } } ] }