290 lines
9.1 KiB
JSON
290 lines
9.1 KiB
JSON
{
|
|
"manifestVersion": "v1",
|
|
"environment": "dev",
|
|
"namespace": "hwlab-dev",
|
|
"endpoint": "http://74.48.78.17:16667",
|
|
"health": {
|
|
"method": "GET",
|
|
"path": "/health/live",
|
|
"responseFormat": "json"
|
|
},
|
|
"publicEndpoints": {
|
|
"frontend": {
|
|
"url": "http://74.48.78.17:16666",
|
|
"protocol": "http",
|
|
"host": "74.48.78.17",
|
|
"port": 16666,
|
|
"serviceId": "hwlab-cloud-web",
|
|
"frpProxy": "hwlab-dev-cloud-web"
|
|
},
|
|
"api": {
|
|
"url": "http://74.48.78.17:16667",
|
|
"protocol": "http",
|
|
"host": "74.48.78.17",
|
|
"port": 16667,
|
|
"serviceId": "hwlab-edge-proxy",
|
|
"frpProxy": "hwlab-dev-edge-proxy"
|
|
}
|
|
},
|
|
"frp": {
|
|
"server": {
|
|
"address": "74.48.78.17",
|
|
"bindPort": 7000
|
|
},
|
|
"proxies": [
|
|
{
|
|
"name": "hwlab-dev-cloud-web",
|
|
"endpointId": "frontend",
|
|
"type": "tcp",
|
|
"localServiceId": "hwlab-cloud-web",
|
|
"localHost": "hwlab-cloud-web.hwlab-dev.svc.cluster.local",
|
|
"localPort": 8080,
|
|
"remotePort": 16666
|
|
},
|
|
{
|
|
"name": "hwlab-dev-edge-proxy",
|
|
"endpointId": "api",
|
|
"type": "tcp",
|
|
"localServiceId": "hwlab-edge-proxy",
|
|
"localHost": "hwlab-edge-proxy.hwlab-dev.svc.cluster.local",
|
|
"localPort": 6667,
|
|
"remotePort": 16667
|
|
}
|
|
]
|
|
},
|
|
"k3s": {
|
|
"serviceMappings": [
|
|
{
|
|
"serviceId": "hwlab-cloud-api",
|
|
"name": "hwlab-cloud-api",
|
|
"namespace": "hwlab-dev",
|
|
"port": 6667,
|
|
"targetPort": "http"
|
|
},
|
|
{
|
|
"serviceId": "hwlab-cloud-web",
|
|
"name": "hwlab-cloud-web",
|
|
"namespace": "hwlab-dev",
|
|
"port": 8080,
|
|
"targetPort": "http"
|
|
},
|
|
{
|
|
"serviceId": "hwlab-gateway",
|
|
"name": "hwlab-gateway",
|
|
"namespace": "hwlab-dev",
|
|
"port": 7001,
|
|
"targetPort": "http"
|
|
},
|
|
{
|
|
"serviceId": "hwlab-agent-skills",
|
|
"name": "hwlab-agent-skills",
|
|
"namespace": "hwlab-dev",
|
|
"port": 7430,
|
|
"targetPort": "http"
|
|
},
|
|
{
|
|
"serviceId": "hwlab-agent-mgr",
|
|
"name": "hwlab-agent-mgr",
|
|
"namespace": "hwlab-dev",
|
|
"port": 7410,
|
|
"targetPort": "http"
|
|
},
|
|
{
|
|
"serviceId": "hwlab-device-pod",
|
|
"name": "hwlab-device-pod",
|
|
"namespace": "hwlab-dev",
|
|
"port": 7601,
|
|
"targetPort": "http"
|
|
},
|
|
{
|
|
"serviceId": "hwlab-edge-proxy",
|
|
"name": "hwlab-edge-proxy",
|
|
"namespace": "hwlab-dev",
|
|
"port": 6667,
|
|
"targetPort": "http"
|
|
}
|
|
]
|
|
},
|
|
"profiles": {
|
|
"dev": {
|
|
"name": "dev",
|
|
"enabled": true,
|
|
"namespace": "hwlab-dev",
|
|
"endpoint": "http://74.48.78.17:16667",
|
|
"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."
|
|
}
|
|
},
|
|
"lanes": {
|
|
"v02": {
|
|
"name": "v0.2",
|
|
"sourceBranch": "v0.2",
|
|
"gitopsBranch": "v0.2-gitops",
|
|
"namespace": "hwlab-v02",
|
|
"endpoint": "http://74.48.78.17:19667",
|
|
"publicEndpoints": {
|
|
"frontend": "http://74.48.78.17:19666",
|
|
"api": "http://74.48.78.17:19667"
|
|
},
|
|
"artifactCatalog": "deploy/artifact-catalog.v02.json",
|
|
"runtimePath": "deploy/gitops/g14/runtime-v02",
|
|
"imageTagMode": "full",
|
|
"envReuseServices": [
|
|
"hwlab-device-pod"
|
|
],
|
|
"bootScripts": {
|
|
"hwlab-device-pod": "deploy/runtime/boot/hwlab-device-pod.sh"
|
|
},
|
|
"services": [
|
|
{
|
|
"serviceId": "hwlab-cloud-api",
|
|
"env": {
|
|
"HWLAB_CLOUD_DB_URL": "secretRef:hwlab-cloud-api-v02-db/database-url",
|
|
"HWLAB_CLOUD_DB_CONTRACT": "v02-redacted-presence-only",
|
|
"HWLAB_ACCESS_CONTROL_REQUIRED": "1",
|
|
"HWLAB_BOOTSTRAP_ADMIN_ID": "usr_v02_admin",
|
|
"HWLAB_BOOTSTRAP_ADMIN_USERNAME": "admin",
|
|
"HWLAB_BOOTSTRAP_ADMIN_DISPLAY_NAME": "HWLAB v0.2 Admin",
|
|
"HWLAB_BOOTSTRAP_ADMIN_PASSWORD_HASH": "secretRef:hwlab-v02-bootstrap-admin/password-hash",
|
|
"HWLAB_DEVICE_POD_INTERNAL_TOKEN": "secretRef:hwlab-v02-device-pod-internal/token"
|
|
}
|
|
},
|
|
{
|
|
"serviceId": "hwlab-device-pod",
|
|
"env": {
|
|
"HWLAB_DEVICE_POD_INTERNAL_TOKEN": "secretRef:hwlab-v02-device-pod-internal/token"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"services": [
|
|
{
|
|
"serviceId": "hwlab-cloud-api",
|
|
"namespace": "hwlab-dev",
|
|
"healthPath": "/health/live",
|
|
"profile": "dev",
|
|
"replicas": 1,
|
|
"env": {
|
|
"HWLAB_ENVIRONMENT": "dev",
|
|
"HWLAB_PUBLIC_ENDPOINT": "http://74.48.78.17:16667",
|
|
"HWLAB_CLOUD_API_PORT": "6667",
|
|
"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": "disable",
|
|
"HWLAB_CLOUD_DB_CONTRACT": "dev-redacted-presence-only",
|
|
"HWLAB_CLOUD_RUNTIME_ADAPTER": "postgres",
|
|
"HWLAB_CLOUD_RUNTIME_DURABLE": "true",
|
|
"HWLAB_M3_IO_CONTROL_ENABLED": "false",
|
|
"HWLAB_CODE_AGENT_PROVIDER": "codex-stdio",
|
|
"HWLAB_CODE_AGENT_MODEL": "gpt-5.5",
|
|
"HWLAB_CODE_AGENT_TIMEOUT_MS": "1200000",
|
|
"HWLAB_CODE_AGENT_OPENAI_BASE_URL": "http://127.0.0.1:49280/responses",
|
|
"HWLAB_CODE_AGENT_CODEX_STDIO_ENABLED": "1",
|
|
"HWLAB_CODE_AGENT_CODEX_STDIO_SUPERVISOR": "repo-owned",
|
|
"HWLAB_CODE_AGENT_WORKSPACE": "/workspace/hwlab",
|
|
"HWLAB_CODE_AGENT_CODEX_WORKSPACE": "/workspace/hwlab",
|
|
"HWLAB_CODE_AGENT_CODEX_SANDBOX": "danger-full-access",
|
|
"HWLAB_CODE_AGENT_CODEX_COMMAND": "/app/node_modules/.bin/codex",
|
|
"CODEX_HOME": "/codex-home",
|
|
"NO_PROXY": "hyueapi.com,.hyueapi.com,hyui.com,.hyui.com,127.0.0.1,localhost,::1,api.minimaxi.com,.minimaxi.com",
|
|
"no_proxy": "hyueapi.com,.hyueapi.com,hyui.com,.hyui.com,127.0.0.1,localhost,::1,api.minimaxi.com,.minimaxi.com",
|
|
"OPENAI_API_KEY": "secretRef:hwlab-code-agent-provider/openai-api-key",
|
|
"HWLAB_CODE_AGENT_SKILLS_DIRS": "/app/skills",
|
|
"HWLAB_CODE_AGENT_DEFAULT_PROVIDER_PROFILE": "deepseek",
|
|
"HWLAB_CODE_AGENT_DEEPSEEK_MODEL": "deepseek-chat",
|
|
"HWLAB_CODE_AGENT_DEEPSEEK_BASE_URL": "http://hwlab-deepseek-proxy.hwlab-dev.svc.cluster.local:4000/v1/responses",
|
|
"HWLAB_CODE_AGENT_CODEX_API_MODEL": "gpt-5.5",
|
|
"HWLAB_CODE_AGENT_CODEX_API_BASE_URL": "http://127.0.0.1:49280/responses",
|
|
"HWLAB_CODE_AGENT_CODEX_API_UPSTREAM_BASE_URL": "https://hyueapi.com",
|
|
"HWLAB_CODE_AGENT_CODEX_API_FORWARDER_PORT": "49280",
|
|
"HWLAB_DEVICE_POD_URL": "http://hwlab-device-pod.hwlab-dev.svc.cluster.local:7601"
|
|
}
|
|
},
|
|
{
|
|
"serviceId": "hwlab-cloud-web",
|
|
"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",
|
|
"HWLAB_CLOUD_WEB_PROXY_TIMEOUT_MS": "1260000"
|
|
}
|
|
},
|
|
{
|
|
"serviceId": "hwlab-agent-mgr",
|
|
"namespace": "hwlab-dev",
|
|
"healthPath": "/health/live",
|
|
"profile": "dev",
|
|
"replicas": 1,
|
|
"env": {
|
|
"HWLAB_AGENT_SESSION_MODE": "control-plane",
|
|
"HWLAB_ENVIRONMENT": "dev"
|
|
}
|
|
},
|
|
{
|
|
"serviceId": "hwlab-agent-worker",
|
|
"namespace": "hwlab-dev",
|
|
"healthPath": "/health/live",
|
|
"profile": "dev",
|
|
"replicas": 0,
|
|
"env": {
|
|
"HWLAB_AGENT_SESSION_MODE": "session-scoped",
|
|
"HWLAB_ENVIRONMENT": "dev"
|
|
}
|
|
},
|
|
{
|
|
"serviceId": "hwlab-device-pod",
|
|
"namespace": "hwlab-dev",
|
|
"healthPath": "/health/live",
|
|
"profile": "dev",
|
|
"replicas": 1,
|
|
"env": {
|
|
"HWLAB_ENVIRONMENT": "dev",
|
|
"HWLAB_CLOUD_API_INTERNAL_URL": "http://hwlab-cloud-api.hwlab-dev.svc.cluster.local:6667",
|
|
"HWLAB_DEVICE_POD_ID": "device-pod-71-freq",
|
|
"HWLAB_DEVICE_POD_PORT": "7601"
|
|
}
|
|
},
|
|
{
|
|
"serviceId": "hwlab-gateway",
|
|
"namespace": "hwlab-dev",
|
|
"healthPath": "/health/live",
|
|
"profile": "dev",
|
|
"replicas": 0,
|
|
"env": {
|
|
"HWLAB_GATEWAY_MODE": "hardware-boundary",
|
|
"HWLAB_ENVIRONMENT": "dev"
|
|
}
|
|
},
|
|
{
|
|
"serviceId": "hwlab-edge-proxy",
|
|
"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",
|
|
"HWLAB_EDGE_PROXY_TIMEOUT_MS": "1260000"
|
|
}
|
|
},
|
|
{
|
|
"serviceId": "hwlab-agent-skills",
|
|
"namespace": "hwlab-dev",
|
|
"healthPath": "/health/live",
|
|
"profile": "dev",
|
|
"replicas": 1,
|
|
"env": {}
|
|
}
|
|
],
|
|
"createdAt": "2026-05-21T00:00:00Z"
|
|
}
|