- Added new environment variables for Docker and K8s API ports to avoid conflicts and enhance flexibility. - Updated the unit test workflow to reference the new K3D API port variable, ensuring consistency across configurations. - Adjusted the K8s API port in the workflow to align with the updated environment settings for better integration. Made-with: Cursor
141 lines
4.6 KiB
Bash
141 lines
4.6 KiB
Bash
# ============================================================
|
|
# Yao CI Environment — sandbox-v2 (v1.0.0)
|
|
# Loaded via: cat .github/env/sandbox-v2.env >> $GITHUB_ENV
|
|
# ============================================================
|
|
|
|
# ========================================
|
|
# Yao Runtime (YAO_ prefix, read by Yao)
|
|
# ========================================
|
|
YAO_HOST=0.0.0.0
|
|
YAO_PORT=5099
|
|
YAO_GRPC_HOST=0.0.0.0
|
|
YAO_GRPC_PORT=9099
|
|
YAO_DB_DRIVER=sqlite3
|
|
YAO_SESSION=memory
|
|
YAO_ENV=development
|
|
|
|
# ========================================
|
|
# CI Test Parameters (YAO_CI_ prefix)
|
|
# ========================================
|
|
|
|
# -- Network --
|
|
YAO_CI_BRIDGE_IP=172.17.0.1
|
|
|
|
# -- Yao service ports (tests read these, not YAO_PORT/YAO_GRPC_PORT) --
|
|
YAO_CI_HTTP_PORT=5099
|
|
YAO_CI_GRPC_PORT=9099
|
|
YAO_CI_URL=http://127.0.0.1:5099
|
|
YAO_CI_GRPC=127.0.0.1:9099
|
|
|
|
# -- OAuth token generation (ci-token tool) --
|
|
YAO_CI_OAUTH_SUBJECT=ci-test-user
|
|
YAO_CI_OAUTH_USER_ID=ci-test-user
|
|
YAO_CI_OAUTH_TEAM_ID=ci-test-team
|
|
YAO_CI_OAUTH_SCOPE=tai:tunnel
|
|
YAO_CI_OAUTH_TTL=24h
|
|
|
|
# ========================================
|
|
# Tai Instances
|
|
#
|
|
# Connection modes:
|
|
# tai-local → DIRECT (--direct, Yao dials Tai gRPC directly)
|
|
# tai-docker → TUNNEL (default, Tai dials Yao gRPC, reverse tunnel)
|
|
# tai-k8s → TUNNEL (same as above, with K8s runtime)
|
|
# tai-hostexec → TUNNEL (same as above, no container runtime)
|
|
# ========================================
|
|
|
|
# -- tai-local (DIRECT mode, auto-detect Docker via /var/run/docker.sock) --
|
|
# Yao dials tai-local gRPC directly, so gRPC port must be reachable.
|
|
# Docker proxy on 12376 (not default 12375) to avoid conflict with tai-docker.
|
|
YAO_CI_TAI_LOCAL_HOST=127.0.0.1
|
|
YAO_CI_TAI_LOCAL_GRPC_PORT=19103
|
|
YAO_CI_TAI_LOCAL_HTTP_PORT=8102
|
|
YAO_CI_TAI_LOCAL_VNC_PORT=16083
|
|
YAO_CI_TAI_LOCAL_DOCKER_PORT=12376
|
|
YAO_CI_TAI_LOCAL_GRPC=127.0.0.1:19103
|
|
YAO_CI_TAI_LOCAL_DOCKER_API=tcp://127.0.0.1:12376
|
|
|
|
# -- tai-docker (TUNNEL mode, explicit Docker API proxy) --
|
|
# Tunnel: Tai connects to Yao gRPC. Sandbox connects to Yao, traffic forwarded via tunnel.
|
|
# gRPC port used only for Tai's own listener; Yao accesses via tunnel, not direct dial.
|
|
YAO_CI_TAI_DOCKER_HOST=127.0.0.1
|
|
YAO_CI_TAI_DOCKER_GRPC_PORT=19100
|
|
YAO_CI_TAI_DOCKER_HTTP_PORT=8099
|
|
YAO_CI_TAI_DOCKER_VNC_PORT=16080
|
|
YAO_CI_TAI_DOCKER_API_PORT=12375
|
|
YAO_CI_TAI_DOCKER_API=tcp://127.0.0.1:12375
|
|
|
|
# -- tai-k8s (TUNNEL mode, K8s API proxy via k3d) --
|
|
# K8s proxy on 16444 (not 16443) because k3d --api-port already binds 16443.
|
|
# TAI_K8S_UPSTREAM points to k3d at 127.0.0.1:16443; proxy exposes on 16444.
|
|
YAO_CI_TAI_K8S_HOST=127.0.0.1
|
|
YAO_CI_TAI_K8S_GRPC_PORT=19101
|
|
YAO_CI_TAI_K8S_HTTP_PORT=8100
|
|
YAO_CI_TAI_K8S_VNC_PORT=16081
|
|
YAO_CI_TAI_K8S_API_PORT=16444
|
|
YAO_CI_K3D_API_PORT=16443
|
|
|
|
# -- tai-hostexec (TUNNEL mode, no container runtime, HostExec only) --
|
|
YAO_CI_TAI_HOSTEXEC_HOST=127.0.0.1
|
|
YAO_CI_TAI_HOSTEXEC_GRPC_PORT=19102
|
|
YAO_CI_TAI_HOSTEXEC_HTTP_PORT=8101
|
|
YAO_CI_TAI_HOSTEXEC_VNC_PORT=16082
|
|
|
|
# ========================================
|
|
# Sandbox V2 addresses (used by test code)
|
|
# ========================================
|
|
YAO_CI_SANDBOX_LOCAL_ADDR=tai://127.0.0.1:19103
|
|
YAO_CI_SANDBOX_DOCKER_ADDR=tai://127.0.0.1:19100
|
|
YAO_CI_SANDBOX_K8S_ADDR=tai://127.0.0.1:19101
|
|
YAO_CI_SANDBOX_IMAGE=yaoapp/tai-sandbox-test:latest
|
|
|
|
# ========================================
|
|
# HostExec addresses
|
|
# ========================================
|
|
YAO_CI_HOSTEXEC_LOCAL_ADDR=127.0.0.1:19103
|
|
YAO_CI_HOSTEXEC_DOCKER_ADDR=127.0.0.1:19100
|
|
YAO_CI_HOSTEXEC_K8S_ADDR=127.0.0.1:19101
|
|
YAO_CI_HOSTEXEC_ONLY_ADDR=127.0.0.1:19102
|
|
|
|
# -- Tunnel --
|
|
YAO_CI_TUNNEL=true
|
|
|
|
# ========================================
|
|
# Database (MySQL / PostgreSQL / SQLite)
|
|
# ========================================
|
|
MYSQL_TEST_HOST=127.0.0.1
|
|
MYSQL_TEST_PORT=3308
|
|
MYSQL_TEST_USER=test
|
|
MYSQL_TEST_PASS=123456
|
|
|
|
PG_TEST_HOST=127.0.0.1
|
|
PG_TEST_PORT=5432
|
|
PG_TEST_USER=test
|
|
PG_TEST_PASS=123456
|
|
|
|
SQLITE_DB=./app/db/yao.db
|
|
|
|
# ========================================
|
|
# Legacy variable mapping (migrate later)
|
|
# ========================================
|
|
TAI_TEST_HOST=127.0.0.1
|
|
TAI_TEST_DOCKER=tcp://127.0.0.1:12375
|
|
TAI_TEST_GRPC_PORT=19100
|
|
TAI_TEST_HTTP_PORT=8099
|
|
TAI_TEST_VNC_PORT=16080
|
|
TAI_TEST_DOCKER_PORT=12375
|
|
TAI_TEST_K8S_HOST=127.0.0.1
|
|
TAI_TEST_K8S_PORT=16444
|
|
TAI_TEST_K8S_GRPC_PORT=19101
|
|
TAI_TEST_K8S_HTTP_PORT=8100
|
|
TAI_TEST_K8S_VNC_PORT=16081
|
|
TAI_TEST_HOST_IP=172.17.0.1
|
|
TAI_TEST_TUNNEL=true
|
|
TAI_TEST_YAO_URL=http://127.0.0.1:5099
|
|
TAI_TEST_YAO_GRPC=127.0.0.1:9099
|
|
SANDBOX_TEST_LOCAL_ADDR=tai://127.0.0.1:19103
|
|
SANDBOX_TEST_REMOTE_ADDR=tai://127.0.0.1:19100
|
|
SANDBOX_TEST_K8S_REMOTE_ADDR=tai://127.0.0.1:19101
|
|
SANDBOX_TEST_HOSTEXEC_ADDR=tai://127.0.0.1:19102
|
|
SANDBOX_TEST_IMAGE=yaoapp/tai-sandbox-test:latest
|
|
DOCKER_BRIDGE_IP=172.17.0.1
|