293 lines
10 KiB
YAML
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
|