feat: add Temporal-backed TaskTree service
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -509,6 +509,8 @@ lanes:
|
||||
- hwlab-workbench-runtime
|
||||
- hwlab-user-billing
|
||||
- hwlab-project-management
|
||||
- hwlab-tasktree-api
|
||||
- hwlab-tasktree-worker
|
||||
- hwlab-cloud-web
|
||||
- hwlab-gateway
|
||||
- hwlab-edge-proxy
|
||||
@@ -518,6 +520,8 @@ lanes:
|
||||
hwlab-workbench-runtime: deploy/runtime/boot/hwlab-workbench-runtime.sh
|
||||
hwlab-user-billing: deploy/runtime/boot/hwlab-user-billing.sh
|
||||
hwlab-project-management: deploy/runtime/boot/hwlab-project-management.sh
|
||||
hwlab-tasktree-api: deploy/runtime/boot/hwlab-tasktree-api.sh
|
||||
hwlab-tasktree-worker: deploy/runtime/boot/hwlab-tasktree-worker.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
|
||||
@@ -633,6 +637,37 @@ lanes:
|
||||
env:
|
||||
TZ: Asia/Shanghai
|
||||
observable: true
|
||||
hwlab-tasktree-api:
|
||||
runtimeKind: bun-command
|
||||
entrypoint: cmd/hwlab-tasktree-api/main.ts
|
||||
artifactKind: bun-command
|
||||
healthPath: /health/ready
|
||||
healthPort: 6673
|
||||
componentPaths:
|
||||
- cmd/hwlab-tasktree-api/
|
||||
- internal/tasktree/
|
||||
- tools/src/tasktree-cli.ts
|
||||
- package.json
|
||||
- package-lock.json
|
||||
- deploy/runtime/boot/hwlab-tasktree-api.sh
|
||||
env:
|
||||
TZ: Asia/Shanghai
|
||||
observable: true
|
||||
hwlab-tasktree-worker:
|
||||
runtimeKind: bun-command
|
||||
entrypoint: cmd/hwlab-tasktree-worker/main.ts
|
||||
artifactKind: bun-command
|
||||
healthPath: /health/ready
|
||||
healthPort: 6674
|
||||
componentPaths:
|
||||
- cmd/hwlab-tasktree-worker/
|
||||
- internal/tasktree/
|
||||
- package.json
|
||||
- package-lock.json
|
||||
- deploy/runtime/boot/hwlab-tasktree-worker.sh
|
||||
env:
|
||||
TZ: Asia/Shanghai
|
||||
observable: true
|
||||
hwlab-cloud-web:
|
||||
runtimeKind: cloud-web
|
||||
entrypoint: web/hwlab-cloud-web/index.html
|
||||
@@ -860,6 +895,7 @@ lanes:
|
||||
HWLAB_USER_BILLING_URL: http://hwlab-user-billing.hwlab-v03.svc.cluster.local:6670
|
||||
HWLAB_WORKBENCH_RUNTIME_URL: http://hwlab-workbench-runtime.hwlab-v03.svc.cluster.local:6671
|
||||
HWLAB_PROJECT_MANAGEMENT_URL: http://hwlab-project-management.hwlab-v03.svc.cluster.local:6672
|
||||
HWLAB_TASKTREE_URL: http://hwlab-tasktree-api.hwlab-v03.svc.cluster.local:6673
|
||||
HWLAB_HWPOD_SPEC_REGISTRY_DIRS: /etc/hwlab/hwpod-specs
|
||||
HWLAB_HWPOD_NODE_WS_TOKEN: secretRef:hwlab-v03-hwpod-node-auth/token
|
||||
HWLAB_USER_BILLING_LOGIN_RETRY_ATTEMPTS: "2"
|
||||
@@ -967,6 +1003,24 @@ lanes:
|
||||
configMapName: hwlab-v03-project-management-bootstrap
|
||||
mountPath: /etc/hwlab/project-management
|
||||
readOnly: true
|
||||
- serviceId: hwlab-tasktree-api
|
||||
replicas: 1
|
||||
env:
|
||||
TASKTREE_DATABASE_URL: secretRef:hwlab-tasktree-db/database-url
|
||||
TASKTREE_TEMPORAL_ADDRESS: temporal-frontend.temporal.svc.cluster.local:7233
|
||||
TASKTREE_TEMPORAL_NAMESPACE: unidesk
|
||||
TASKTREE_TEMPORAL_TASK_QUEUE: hwlab-v03-tasktree
|
||||
TASKTREE_API_PORT: "6673"
|
||||
OTEL_SERVICE_NAME: hwlab-tasktree-api
|
||||
- serviceId: hwlab-tasktree-worker
|
||||
replicas: 1
|
||||
env:
|
||||
TASKTREE_DATABASE_URL: secretRef:hwlab-tasktree-db/database-url
|
||||
TASKTREE_TEMPORAL_ADDRESS: temporal-frontend.temporal.svc.cluster.local:7233
|
||||
TASKTREE_TEMPORAL_NAMESPACE: unidesk
|
||||
TASKTREE_TEMPORAL_TASK_QUEUE: hwlab-v03-tasktree
|
||||
TASKTREE_WORKER_HEALTH_PORT: "6674"
|
||||
OTEL_SERVICE_NAME: hwlab-tasktree-worker
|
||||
production:
|
||||
name: Production
|
||||
node: NC01
|
||||
@@ -1031,6 +1085,7 @@ lanes:
|
||||
HWLAB_USER_BILLING_URL: http://hwlab-user-billing.hwlab-production.svc.cluster.local:6670
|
||||
HWLAB_WORKBENCH_RUNTIME_URL: http://hwlab-workbench-runtime.hwlab-production.svc.cluster.local:6671
|
||||
HWLAB_PROJECT_MANAGEMENT_URL: http://hwlab-project-management.hwlab-production.svc.cluster.local:6672
|
||||
HWLAB_TASKTREE_URL: http://hwlab-tasktree-api.hwlab-production.svc.cluster.local:6673
|
||||
HWLAB_USER_BILLING_LOGIN_RETRY_ATTEMPTS: "2"
|
||||
HWLAB_USER_BILLING_LOGIN_RETRY_DELAY_MS: "250"
|
||||
HWLAB_USER_BILLING_CODE_AGENT_ENABLED: "1"
|
||||
@@ -1083,9 +1138,33 @@ lanes:
|
||||
HWLAB_PROJECT_MANAGEMENT_HWPOD_NODE_OPS_API_KEY: secretRef:hwlab-production-master-server-admin-api-key/api-key
|
||||
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT: http://otel-collector.platform-infra.svc.cluster.local:4318/v1/traces
|
||||
OTEL_SERVICE_NAME: hwlab-project-management
|
||||
- serviceId: hwlab-tasktree-api
|
||||
replicas: 1
|
||||
env:
|
||||
TASKTREE_DATABASE_URL: secretRef:hwlab-tasktree-db/database-url
|
||||
TASKTREE_TEMPORAL_ADDRESS: temporal-frontend.temporal.svc.cluster.local:7233
|
||||
TASKTREE_TEMPORAL_NAMESPACE: unidesk
|
||||
TASKTREE_TEMPORAL_TASK_QUEUE: hwlab-production-tasktree
|
||||
TASKTREE_API_PORT: "6673"
|
||||
OTEL_SERVICE_NAME: hwlab-tasktree-api
|
||||
- serviceId: hwlab-tasktree-worker
|
||||
replicas: 1
|
||||
env:
|
||||
TASKTREE_DATABASE_URL: secretRef:hwlab-tasktree-db/database-url
|
||||
TASKTREE_TEMPORAL_ADDRESS: temporal-frontend.temporal.svc.cluster.local:7233
|
||||
TASKTREE_TEMPORAL_NAMESPACE: unidesk
|
||||
TASKTREE_TEMPORAL_TASK_QUEUE: hwlab-production-tasktree
|
||||
TASKTREE_WORKER_HEALTH_PORT: "6674"
|
||||
OTEL_SERVICE_NAME: hwlab-tasktree-worker
|
||||
envRecipe: *v03EnvRecipe
|
||||
bootConfig: *v03BootConfig
|
||||
services:
|
||||
- serviceId: hwlab-tasktree-api
|
||||
namespace: hwlab-dev
|
||||
healthPath: /health/live
|
||||
- serviceId: hwlab-tasktree-worker
|
||||
namespace: hwlab-dev
|
||||
healthPath: /health/live
|
||||
- serviceId: hwlab-cloud-api
|
||||
namespace: hwlab-dev
|
||||
healthPath: /health/live
|
||||
|
||||
Reference in New Issue
Block a user