Files
pikasTech-HWLAB/deploy/deploy.yaml
T

293 lines
10 KiB
YAML

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-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: https://hwlab.74-48-78-17.nip.io
publicEndpoints:
frontend: https://hwlab.74-48-78-17.nip.io
api: https://hwlab.74-48-78-17.nip.io
legacyFrontend: http://74.48.78.17:19666
legacyApi: http://74.48.78.17:19667
artifactCatalog: deploy/artifact-catalog.v02.json
runtimePath: deploy/gitops/g14/runtime-v02
imageTagMode: full
envReuseServices:
- hwlab-cloud-api
- hwlab-cloud-web
- hwlab-gateway
- hwlab-edge-proxy
- hwlab-agent-skills
bootScripts:
hwlab-cloud-api: deploy/runtime/boot/hwlab-cloud-api.sh
hwlab-cloud-web: deploy/runtime/boot/hwlab-cloud-web.sh
hwlab-gateway: deploy/runtime/boot/hwlab-gateway.sh
hwlab-edge-proxy: deploy/runtime/boot/hwlab-edge-proxy.sh
hwlab-agent-skills: deploy/runtime/boot/hwlab-agent-skills.sh
serviceDeclarations:
hwlab-cloud-api:
runtimeKind: bun-command
entrypoint: cmd/hwlab-cloud-api/main.ts
artifactKind: bun-command
healthPath: /health/live
healthPort: 6667
componentPaths:
- cmd/hwlab-cloud-api/
- cmd/hwlab-codex-api-responses-forwarder/
- cmd/hwlab-deepseek-responses-bridge/
- deploy/runtime/boot/hwlab-codex-api-responses-forwarder.sh
- deploy/runtime/boot/hwlab-deepseek-responses-bridge.sh
- internal/cloud/
- internal/db/
- internal/audit/
- internal/agent/agentrun-dispatch.mjs
- internal/agent/prompts/
- skills/hwlab-agent-runtime/
env: {}
observable: true
hwlab-cloud-web:
runtimeKind: cloud-web
entrypoint: web/hwlab-cloud-web/index.html
artifactKind: cloud-web
healthPath: /health/live
healthPort: 8080
componentPaths:
- web/hwlab-cloud-web/
- internal/dev-entrypoint/cloud-web-runtime.mjs
- internal/dev-entrypoint/cloud-web-proxy.mjs
- internal/dev-entrypoint/cloud-web-routes.mjs
- tools/src/hwlab-cli/trace-renderer.ts
env: {}
observable: true
hwlab-gateway:
runtimeKind: bun-command
entrypoint: cmd/hwlab-gateway/main.ts
artifactKind: bun-command
healthPath: /health/live
healthPort: 7001
componentPaths:
- cmd/hwlab-gateway/
- internal/sim/
env: {}
observable: false
hwlab-edge-proxy:
runtimeKind: bun-command
entrypoint: cmd/hwlab-edge-proxy/main.ts
artifactKind: bun-command
healthPath: /health
healthPort: 6667
componentPaths:
- cmd/hwlab-edge-proxy/
- internal/dev-entrypoint/http.mjs
env: {}
observable: true
hwlab-agent-skills:
runtimeKind: skills-bundle
entrypoint: skills/hwlab-agent-runtime/SKILL.md
artifactKind: skills-bundle
healthPath: /health/live
healthPort: 7430
componentPaths:
- skills/
env: {}
observable: true
envRecipe:
osPackages:
- ca-certificates
- git
bunVersion: 1.3.13
launcherPath: deploy/runtime/launcher/hwlab-env-reuse-launcher.ts
runtimeNodeModulesPath: /opt/hwlab-env/node_modules
additionalEnvPaths:
- internal/dev-entrypoint/artifact-runtime.mjs
- scripts/artifact-publish.mjs
- scripts/g14-artifact-publish.mjs
- scripts/src/dev-artifact-services.mjs
hwpodAliases:
- command: hwpod
script: tools/hwpod-cli.ts
- command: hwpod-ctl
script: tools/hwpod-ctl.ts
- command: hwpod-compiler
script: tools/hwpod-compiler-cli.ts
bootConfig:
template: default
overrides: {}
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_BOOTSTRAP_ADMIN_API_KEY_ID: key_master_server_admin
HWLAB_BOOTSTRAP_ADMIN_API_KEY: secretRef:hwlab-v02-master-server-admin-api-key/api-key
HWLAB_KEYCLOAK_ISSUER: https://auth.74-48-78-17.nip.io/realms/hwlab
HWLAB_KEYCLOAK_CLIENT_ID: hwlab-cloud-web
HWLAB_KEYCLOAK_CLIENT_SECRET: secretRef:hwlab-cloud-web-client/client-secret
HWLAB_CODE_AGENT_ADAPTER: agentrun-v01
AGENTRUN_MGR_URL: http://agentrun-mgr.agentrun-v01.svc.cluster.local:8080
HWLAB_CODE_AGENT_AGENTRUN_PROVIDER_ID: G14
HWLAB_CODE_AGENT_AGENTRUN_RUNNER_NAMESPACE: agentrun-v01
HWLAB_CODE_AGENT_AGENTRUN_SECRET_NAMESPACE: agentrun-v01
HWLAB_CODE_AGENT_AGENTRUN_REPO_URL: http://git-mirror-http.devops-infra.svc.cluster.local/pikasTech/HWLAB.git
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:/data/user-skills
HWLAB_PREINSTALLED_SKILLS_DIR: /app/skills
HWLAB_USER_SKILLS_DIR: /data/user-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"
- 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-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