{ "manifestVersion": "v1", "environment": "dev", "commitId": "35ecb5e", "namespace": "hwlab-dev", "endpoint": "http://74.48.78.17:6667", "profiles": { "dev": { "name": "dev", "enabled": true, "namespace": "hwlab-dev", "endpoint": "http://74.48.78.17:6667", "notes": "DEV-only k3s deployment skeleton. D601 reaches the master edge through frp reverse tunnel." }, "prod": { "name": "prod", "enabled": false, "namespace": "hwlab-prod", "notes": "Reserved placeholder only. PROD deployment and acceptance are explicitly out of scope." } }, "services": [ { "serviceId": "hwlab-cloud-api", "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:35ecb5e", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", "replicas": 1, "env": { "HWLAB_ENVIRONMENT": "dev", "HWLAB_PUBLIC_ENDPOINT": "http://74.48.78.17:6667", "HWLAB_COMMIT_ID": "35ecb5e", "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-api:35ecb5e", "HWLAB_IMAGE_TAG": "35ecb5e", "HWLAB_RUNTIME_SUBSTITUTE_FORBIDDEN": "unidesk-backend,provider-gateway,microservice-proxy", "HWLAB_CLOUD_DB_URL": "secretRef:hwlab-cloud-api-dev-db/database-url", "HWLAB_CLOUD_DB_SSL_MODE": "require", "HWLAB_CLOUD_DB_CONTRACT": "dev-redacted-presence-only" } }, { "serviceId": "hwlab-cloud-web", "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:35ecb5e", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", "replicas": 1, "env": { "HWLAB_ENVIRONMENT": "dev", "HWLAB_API_BASE_URL": "http://hwlab-cloud-api.hwlab-dev.svc.cluster.local:6667" } }, { "serviceId": "hwlab-agent-mgr", "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:35ecb5e", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", "replicas": 1, "env": { "HWLAB_AGENT_SESSION_MODE": "control-plane", "HWLAB_ENVIRONMENT": "dev" } }, { "serviceId": "hwlab-agent-worker", "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:35ecb5e", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", "replicas": 0, "env": { "HWLAB_AGENT_SESSION_MODE": "session-scoped", "HWLAB_ENVIRONMENT": "dev" } }, { "serviceId": "hwlab-gateway", "image": "127.0.0.1:5000/hwlab/hwlab-gateway:35ecb5e", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", "replicas": 0, "env": { "HWLAB_GATEWAY_MODE": "hardware-boundary", "HWLAB_ENVIRONMENT": "dev" } }, { "serviceId": "hwlab-gateway-simu", "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:35ecb5e", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", "replicas": 2, "env": { "HWLAB_GATEWAY_MODE": "simulator", "HWLAB_BOX_RESOURCES": "res_boxsimu_1,res_boxsimu_2" } }, { "serviceId": "hwlab-box-simu", "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:35ecb5e", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", "replicas": 2, "env": { "HWLAB_BOX_ID": "boxsimu_1,boxsimu_2", "HWLAB_ENVIRONMENT": "dev" } }, { "serviceId": "hwlab-patch-panel", "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:35ecb5e", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", "replicas": 1, "env": { "HWLAB_PATCH_PANEL_MODE": "dev-skeleton", "HWLAB_ENVIRONMENT": "dev" } }, { "serviceId": "hwlab-router", "image": "127.0.0.1:5000/hwlab/hwlab-router:35ecb5e", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", "replicas": 1, "env": { "HWLAB_ROUTER_MODE": "edge-reachability", "HWLAB_EDGE_PROXY_SERVICE": "hwlab-edge-proxy" } }, { "serviceId": "hwlab-tunnel-client", "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:35ecb5e", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", "replicas": 1, "env": { "HWLAB_TUNNEL_MODE": "frp-client", "HWLAB_FRP_SERVER_ADDR": "74.48.78.17", "HWLAB_FRP_PUBLIC_PORT": "6667" } }, { "serviceId": "hwlab-edge-proxy", "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:35ecb5e", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", "replicas": 1, "env": { "HWLAB_EDGE_LISTEN": "0.0.0.0:6667", "HWLAB_EDGE_UPSTREAM": "http://hwlab-cloud-api.hwlab-dev.svc.cluster.local:6667" } }, { "serviceId": "hwlab-cli", "image": "127.0.0.1:5000/hwlab/hwlab-cli:35ecb5e", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", "replicas": 0, "env": { "HWLAB_CLI_ENDPOINT": "http://74.48.78.17:6667" } }, { "serviceId": "hwlab-agent-skills", "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:35ecb5e", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", "replicas": 1, "env": { "HWLAB_SKILLS_COMMIT_ID": "35ecb5e" } } ], "createdAt": "2026-05-21T00:00:00Z" }