691 lines
21 KiB
YAML
691 lines
21 KiB
YAML
version: 1
|
|
kind: HwlabNodeLaneConfig
|
|
metadata:
|
|
name: hwlab-node-lanes
|
|
defaults:
|
|
node: NC01
|
|
lane: v03
|
|
requiredNoProxy:
|
|
- hyueapi.com
|
|
- .hyueapi.com
|
|
nodes:
|
|
NC01:
|
|
route: NC01
|
|
kubeRoute: NC01:k3s
|
|
sourceWorkspace: /root/hwlab-v03
|
|
gitopsRoot: deploy/gitops/node
|
|
networkProfile: jd01-node-ci-egress
|
|
downloadProfile: jd01-node-default
|
|
lanes:
|
|
v03:
|
|
node: NC01
|
|
activeTarget: NC01
|
|
minor: 3
|
|
version: v0.3
|
|
sourceBranch: v0.3
|
|
sourceAuthority:
|
|
mode: gitMirrorSnapshot
|
|
resolver: k8s-git-mirror
|
|
allowHostGit: false
|
|
allowHostWorkspace: false
|
|
allowGithubDirectInPipeline: false
|
|
sourceSnapshot:
|
|
stageRefPrefix: "refs/unidesk/snapshots/hwlab-node-runtime/{branch}"
|
|
missingObjectPolicy: fail-fast
|
|
refreshPolicy: sync-before-snapshot
|
|
workspace: /root/hwlab-v03
|
|
cicdRepo: /root/hwlab-v03-cicd.git
|
|
cicdRepoLock: /tmp/hwlab-v03-cicd-repo.lock
|
|
app: hwlab-node-v03
|
|
pipeline: hwlab-v03-ci-image-publish
|
|
pipelineRunPrefix: hwlab-v03-ci-poll
|
|
serviceAccountName: hwlab-v03-tekton-runner
|
|
controlPlaneFieldManager: unidesk-hwlab-v03-control-plane
|
|
git:
|
|
url: git@github.com:pikasTech/HWLAB.git
|
|
readUrl: http://git-mirror-http.devops-infra.svc.cluster.local/pikasTech/HWLAB.git
|
|
writeUrl: http://git-mirror-write.devops-infra.svc.cluster.local/pikasTech/HWLAB.git
|
|
gitopsBranch: v0.3-gitops
|
|
catalogPath: deploy/artifact-catalog.v03.json
|
|
runtime:
|
|
path: deploy/gitops/node/runtime-v03
|
|
namespace: hwlab-v03
|
|
renderDir: runtime-v03
|
|
tektonDir: tekton-v03
|
|
argoApplicationFile: application-v03.yaml
|
|
registryPrefix: 127.0.0.1:5000/hwlab
|
|
baseImage: 127.0.0.1:5000/hwlab/hwlab-node20-base:20-bookworm-slim
|
|
baseImageSource: node:20-bookworm-slim
|
|
serviceIds:
|
|
- hwlab-cloud-api
|
|
- hwlab-workbench-runtime
|
|
- hwlab-user-billing
|
|
- hwlab-project-management
|
|
- hwlab-cloud-web
|
|
- hwlab-gateway
|
|
- hwlab-edge-proxy
|
|
- hwlab-agent-skills
|
|
observability:
|
|
prometheusOperator: true
|
|
public:
|
|
webUrl: http://74.48.78.17:20666
|
|
apiUrl: http://74.48.78.17:20667
|
|
bootstrapAdmin:
|
|
username: admin
|
|
displayName: HWLAB v0.3 Admin
|
|
passwordSourceRef: hwlab/nc01-v03-bootstrap-admin.env
|
|
passwordSourceKey: HWLAB_BOOTSTRAP_ADMIN_PASSWORD
|
|
passwordHashTransform: hwlab-sha256
|
|
secretName: hwlab-v03-bootstrap-admin
|
|
secretKey: password-hash
|
|
rollout:
|
|
deployment: hwlab-cloud-api
|
|
targets:
|
|
NC01:
|
|
node: NC01
|
|
workspace: /root/hwlab-v03
|
|
sourceWorkspace:
|
|
git:
|
|
remoteName: origin
|
|
remoteUrl: git@github.com:pikasTech/HWLAB.git
|
|
verifyRemote: false
|
|
requireUpToDate: false
|
|
requiredCommands:
|
|
- git
|
|
- node
|
|
- npm
|
|
requiredFiles:
|
|
- AGENTS.md
|
|
- package.json
|
|
- package-lock.json
|
|
install:
|
|
executor: host
|
|
dependencyCommand: npm ci
|
|
browserCommand: npx playwright install chromium
|
|
stateDir: /tmp/hwlab-v03-source-workspace-bootstrap
|
|
timeoutSeconds: 1800
|
|
sourceAuthority:
|
|
extends: templates.hwlabV03.sourceAuthorityGiteaSnapshot
|
|
giteaMirrorRepoKey: hwlab-nc01-v03
|
|
sourceSnapshot:
|
|
extends: templates.hwlabV03.sourceSnapshotGiteaControlled
|
|
cicdRepo: /root/hwlab-v03-cicd.git
|
|
cicdRepoLock: /tmp/hwlab-v03-cicd-repo.lock
|
|
app: hwlab-node-v03
|
|
pipeline: hwlab-nc01-v03-ci-image-publish
|
|
pipelineRunPrefix: hwlab-nc01-v03-ci-poll
|
|
serviceAccountName: hwlab-nc01-v03-tekton-runner
|
|
controlPlaneFieldManager: unidesk-hwlab-nc01-v03-control-plane
|
|
git:
|
|
url: git@github.com:pikasTech/HWLAB.git
|
|
readUrl: http://gitea-http.devops-infra.svc.cluster.local:3000/mirrors/pikasTech-HWLAB.git
|
|
writeUrl: http://git-mirror-write.devops-infra.svc.cluster.local:8080/pikasTech/HWLAB.git
|
|
argo:
|
|
repoURL: http://git-mirror-http.devops-infra.svc.cluster.local:8080/pikasTech/HWLAB.git
|
|
gitopsBranch: v0.3-gitops
|
|
catalogPath: deploy/artifact-catalog.nc01-v03.json
|
|
runtime:
|
|
path: deploy/gitops/node/nc01/runtime-v03
|
|
namespace: hwlab-v03
|
|
renderDir: runtime-v03
|
|
runtimeStore:
|
|
postgres:
|
|
mode: platform-service
|
|
serviceName: nc01-host-postgres
|
|
poolMax: 16
|
|
buildkit:
|
|
sidecarImage: 127.0.0.1:5000/hwlab/buildkit:rootless
|
|
sourceImage: docker.io/moby/buildkit:rootless
|
|
stepEnv:
|
|
HOME: /tekton/home
|
|
XDG_CONFIG_HOME: /tekton/home/.config
|
|
runtimeImageRewrites:
|
|
- extends: templates.hwlabV03.runtimeImageRewrites.frpc
|
|
- extends: templates.hwlabV03.runtimeImageRewrites.openfga
|
|
- extends: templates.hwlabV03.runtimeImageRewrites.opencode
|
|
runtimeImageBuilds:
|
|
- extends: templates.hwlabV03.runtimeImageBuilds.moonbridge
|
|
- extends: templates.hwlabV03.runtimeImageBuilds.opencodeGit
|
|
webProbe:
|
|
extends: templates.hwlabV03.webProbeWorkbench
|
|
playwrightBrowsersPath: "0"
|
|
public:
|
|
webUrl: https://hwlab.pikapython.com
|
|
apiUrl: https://hwlab.pikapython.com
|
|
observability:
|
|
prometheusOperator: false
|
|
webProbe:
|
|
monitorRoot:
|
|
enabled: true
|
|
sentinelId: nc01-web-probe-sentinel
|
|
publicBaseUrl: https://monitor.pikapython.com
|
|
routePrefix: /
|
|
caddyManagedBlockOwner: hwlab-web-probe-sentinel-active-root
|
|
sentinels:
|
|
- id: nc01-web-probe-sentinel
|
|
enabled: true
|
|
configRef: "config/hwlab-web-probe-sentinel/profiles.yaml#nodes.${NODE}.sentinels.${nodeLower}-web-probe-sentinel.sentinel"
|
|
bootstrapAdmin:
|
|
username: admin
|
|
displayName: HWLAB v0.3 Admin
|
|
usernameSourceRef: .env/hwlab.auth
|
|
usernameSourceLine: 1
|
|
passwordSourceRef: .env/hwlab.auth
|
|
passwordSourceKey: HWLAB_ADMIN_PASSWORD
|
|
passwordSourceLine: 2
|
|
passwordHashTransform: hwlab-sha256
|
|
secretName: hwlab-v03-bootstrap-admin
|
|
secretKey: password-hash
|
|
rollout:
|
|
deployment: hwlab-cloud-api
|
|
codeAgentProvider:
|
|
secretName: hwlab-v03-code-agent-provider
|
|
sourceRef: hwlab/nc01-v03-code-agent-provider.env
|
|
openaiSourceKey: OPENAI_API_KEY
|
|
opencodeSourceKey: OPENCODE_API_KEY
|
|
codeAgentRuntime:
|
|
enabled: true
|
|
adapter: agentrun-v02
|
|
managerUrl: http://agentrun-mgr.agentrun-v02.svc.cluster.local:8080
|
|
apiKeySecretName: hwlab-v03-master-server-admin-api-key
|
|
apiKeySecretKey: api-key
|
|
runnerNamespace: agentrun-v02
|
|
secretNamespace: agentrun-v02
|
|
repoUrlFrom: runtimeGitReadUrl
|
|
providerIdFrom: runtimeNodeId
|
|
defaultProviderProfile: gpt.pika
|
|
codexStdioSupervisor: repo-owned
|
|
publicExposure:
|
|
extends: templates.hwlabV03.publicExposurePk01
|
|
frpc:
|
|
webProxy:
|
|
remotePort: 22082
|
|
apiProxy:
|
|
remotePort: 22083
|
|
externalPostgres:
|
|
extends: templates.hwlabV03.externalPostgresConsumer
|
|
provider: NC01
|
|
configRef: config/platform-db/postgres-nc01.yaml
|
|
serviceName: nc01-host-postgres
|
|
endpointAddress: 10.42.0.1
|
|
runtimeAccess:
|
|
routeName: nc01-host-postgres
|
|
endpointAddress: 10.42.0.1
|
|
port: 5432
|
|
database: hwlab_nc01_v03
|
|
cloudApi:
|
|
sourceRef: hwlab/nc01-v03-cloud-api-db.env
|
|
role: hwlab_nc01_v03_app
|
|
openfga:
|
|
sourceRef: hwlab/nc01-v03-openfga-db.env
|
|
role: hwlab_nc01_v03_app
|
|
variables:
|
|
LANE: v03
|
|
NODE: NC01
|
|
networkProfiles:
|
|
node-ci-egress:
|
|
proxy:
|
|
http: http://g14-provider-egress-proxy.unidesk.svc.cluster.local:18789
|
|
https: http://g14-provider-egress-proxy.unidesk.svc.cluster.local:18789
|
|
all: http://g14-provider-egress-proxy.unidesk.svc.cluster.local:18789
|
|
noProxy:
|
|
- localhost
|
|
- 127.0.0.1
|
|
- "::1"
|
|
- host.docker.internal
|
|
- .svc
|
|
- .cluster.local
|
|
- ci-git-mirror
|
|
- ci-git-mirror.unidesk-ci
|
|
- ci-git-mirror.unidesk-ci.svc
|
|
- ci-git-mirror.unidesk-ci.svc.cluster.local
|
|
- g14-provider-egress-proxy
|
|
- g14-provider-egress-proxy.unidesk
|
|
- g14-provider-egress-proxy.unidesk.svc
|
|
- g14-provider-egress-proxy.unidesk.svc.cluster.local
|
|
- g14-tcp-egress-gateway
|
|
- g14-tcp-egress-gateway.unidesk
|
|
- g14-tcp-egress-gateway.unidesk.svc
|
|
- g14-tcp-egress-gateway.unidesk.svc.cluster.local
|
|
- code-queue-ci-read
|
|
- code-queue-ci-read.unidesk-ci
|
|
- code-queue-ci-read.unidesk-ci.svc
|
|
- code-queue-ci-read.unidesk-ci.svc.cluster.local
|
|
- backend-core
|
|
- oa-event-flow
|
|
- database
|
|
dockerBuildProxy:
|
|
http: http://127.0.0.1:18789
|
|
https: http://127.0.0.1:18789
|
|
all: http://127.0.0.1:18789
|
|
noProxy:
|
|
- localhost
|
|
- 127.0.0.1
|
|
- "::1"
|
|
- host.docker.internal
|
|
- registry.npmmirror.com
|
|
- cdn.npmmirror.com
|
|
node-local-vpn:
|
|
proxy:
|
|
http: http://127.0.0.1:10808
|
|
https: http://127.0.0.1:10808
|
|
all: socks5h://127.0.0.1:10808
|
|
socks5: socks5h://127.0.0.1:10808
|
|
noProxy:
|
|
- localhost
|
|
- 127.0.0.1
|
|
- "::1"
|
|
- .svc
|
|
- .cluster.local
|
|
- 10.0.0.0/8
|
|
- 172.16.0.0/12
|
|
- 192.168.0.0/16
|
|
dockerBuildProxy:
|
|
http: http://127.0.0.1:10808
|
|
https: http://127.0.0.1:10808
|
|
all: socks5h://127.0.0.1:10808
|
|
noProxy:
|
|
- localhost
|
|
- 127.0.0.1
|
|
- "::1"
|
|
- host.docker.internal
|
|
- 127.0.0.1:5000
|
|
d601-node-ci-egress:
|
|
proxy:
|
|
http: http://sub2api-egress-proxy.platform-infra.svc.cluster.local:10808
|
|
https: http://sub2api-egress-proxy.platform-infra.svc.cluster.local:10808
|
|
all: http://sub2api-egress-proxy.platform-infra.svc.cluster.local:10808
|
|
noProxy:
|
|
- localhost
|
|
- 127.0.0.1
|
|
- "::1"
|
|
- 127.0.0.1:5000
|
|
- localhost:5000
|
|
- .svc
|
|
- .svc.cluster.local
|
|
- .cluster.local
|
|
- kubernetes
|
|
- kubernetes.default
|
|
- kubernetes.default.svc
|
|
- 10.0.0.0/8
|
|
- 10.42.0.0/16
|
|
- 10.43.0.0/16
|
|
- 172.16.0.0/12
|
|
- 192.168.0.0/16
|
|
- 82.156.23.220
|
|
- 74.48.78.17
|
|
- hyueapi.com
|
|
- .hyueapi.com
|
|
dockerBuildProxy:
|
|
http: http://127.0.0.1:10808
|
|
https: http://127.0.0.1:10808
|
|
all: http://127.0.0.1:10808
|
|
noProxy:
|
|
- localhost
|
|
- 127.0.0.1
|
|
- "::1"
|
|
- 127.0.0.1:5000
|
|
- localhost:5000
|
|
- .svc
|
|
- .svc.cluster.local
|
|
- .cluster.local
|
|
d518-node-ci-egress:
|
|
proxy:
|
|
http: http://sub2api-egress-proxy.platform-infra.svc.cluster.local:10808
|
|
https: http://sub2api-egress-proxy.platform-infra.svc.cluster.local:10808
|
|
all: http://sub2api-egress-proxy.platform-infra.svc.cluster.local:10808
|
|
noProxy:
|
|
- localhost
|
|
- 127.0.0.1
|
|
- "::1"
|
|
- 127.0.0.1:5000
|
|
- localhost:5000
|
|
- .svc
|
|
- .svc.cluster.local
|
|
- .cluster.local
|
|
- kubernetes
|
|
- kubernetes.default
|
|
- kubernetes.default.svc
|
|
- 10.0.0.0/8
|
|
- 10.42.0.0/16
|
|
- 10.43.0.0/16
|
|
- 172.16.0.0/12
|
|
- 192.168.0.0/16
|
|
- 82.156.23.220
|
|
- 74.48.78.17
|
|
dockerBuildProxy:
|
|
http: http://127.0.0.1:10808
|
|
https: http://127.0.0.1:10808
|
|
all: http://127.0.0.1:10808
|
|
noProxy:
|
|
- localhost
|
|
- 127.0.0.1
|
|
- "::1"
|
|
- 127.0.0.1:5000
|
|
- localhost:5000
|
|
- .svc
|
|
- .svc.cluster.local
|
|
- .cluster.local
|
|
jd01-node-ci-egress:
|
|
proxy:
|
|
http: http://127.0.0.1:10808
|
|
https: http://127.0.0.1:10808
|
|
all: http://127.0.0.1:10808
|
|
noProxy:
|
|
- localhost
|
|
- 127.0.0.1
|
|
- "::1"
|
|
- 127.0.0.1:5000
|
|
- localhost:5000
|
|
- .svc
|
|
- .svc.cluster.local
|
|
- .cluster.local
|
|
- kubernetes
|
|
- kubernetes.default
|
|
- kubernetes.default.svc
|
|
- 10.0.0.0/8
|
|
- 10.42.0.0/16
|
|
- 10.43.0.0/16
|
|
- 172.16.0.0/12
|
|
- 192.168.0.0/16
|
|
- 82.156.23.220
|
|
- 74.48.78.17
|
|
dockerBuildProxy:
|
|
http: http://127.0.0.1:10808
|
|
https: http://127.0.0.1:10808
|
|
all: http://127.0.0.1:10808
|
|
noProxy:
|
|
- localhost
|
|
- 127.0.0.1
|
|
- "::1"
|
|
- 127.0.0.1:5000
|
|
- localhost:5000
|
|
- .svc
|
|
- .svc.cluster.local
|
|
- .cluster.local
|
|
downloadProfiles:
|
|
node-default:
|
|
git:
|
|
proxyMode: inherit
|
|
retries: 3
|
|
timeoutSeconds: 240
|
|
npm:
|
|
registry: https://registry.npmmirror.com/
|
|
retries: 3
|
|
fetchTimeoutSeconds: 120
|
|
pip:
|
|
indexUrl: https://pypi.org/simple
|
|
retries: 3
|
|
timeoutSeconds: 120
|
|
docker:
|
|
registryMirrors:
|
|
[]
|
|
pullRetries: 3
|
|
curl:
|
|
retries: 3
|
|
connectTimeoutSeconds: 10
|
|
maxTimeSeconds: 120
|
|
d601-node-default:
|
|
git:
|
|
proxyMode: inherit
|
|
retries: 3
|
|
timeoutSeconds: 60
|
|
npm:
|
|
registry: https://registry.npmmirror.com/
|
|
retries: 3
|
|
fetchTimeoutSeconds: 120
|
|
pip:
|
|
indexUrl: https://pypi.org/simple
|
|
retries: 3
|
|
timeoutSeconds: 120
|
|
docker:
|
|
registryMirrors:
|
|
[]
|
|
pullRetries: 3
|
|
curl:
|
|
retries: 3
|
|
connectTimeoutSeconds: 10
|
|
maxTimeSeconds: 120
|
|
d518-node-default:
|
|
git:
|
|
proxyMode: inherit
|
|
retries: 3
|
|
timeoutSeconds: 60
|
|
npm:
|
|
registry: https://registry.npmmirror.com/
|
|
retries: 3
|
|
fetchTimeoutSeconds: 120
|
|
pip:
|
|
indexUrl: https://pypi.org/simple
|
|
retries: 3
|
|
timeoutSeconds: 120
|
|
docker:
|
|
registryMirrors:
|
|
[]
|
|
pullRetries: 3
|
|
curl:
|
|
retries: 3
|
|
connectTimeoutSeconds: 10
|
|
maxTimeSeconds: 120
|
|
jd01-node-default:
|
|
git:
|
|
proxyMode: inherit
|
|
retries: 3
|
|
timeoutSeconds: 60
|
|
npm:
|
|
registry: https://registry.npmmirror.com/
|
|
retries: 3
|
|
fetchTimeoutSeconds: 120
|
|
pip:
|
|
indexUrl: https://pypi.org/simple
|
|
retries: 3
|
|
timeoutSeconds: 120
|
|
docker:
|
|
registryMirrors:
|
|
[]
|
|
pullRetries: 3
|
|
curl:
|
|
retries: 3
|
|
connectTimeoutSeconds: 10
|
|
maxTimeSeconds: 120
|
|
d601-node-no-mirror-benchmark:
|
|
git:
|
|
proxyMode: inherit
|
|
retries: 3
|
|
timeoutSeconds: 120
|
|
npm:
|
|
registry: https://registry.npmjs.org/
|
|
retries: 3
|
|
fetchTimeoutSeconds: 120
|
|
pip:
|
|
indexUrl: https://pypi.org/simple
|
|
retries: 3
|
|
timeoutSeconds: 120
|
|
docker:
|
|
registryMirrors:
|
|
[]
|
|
pullRetries: 3
|
|
curl:
|
|
retries: 3
|
|
connectTimeoutSeconds: 10
|
|
maxTimeSeconds: 120
|
|
templates:
|
|
hwlabV03:
|
|
webProbeWorkbench:
|
|
browserProxyMode: auto
|
|
defaultOrigin:
|
|
mode: public
|
|
baseUrl: https://hwlab.pikapython.com
|
|
authLogin:
|
|
maxAttempts: 6
|
|
requestTimeoutMs: 30000
|
|
initialDelayMs: 500
|
|
maxDelayMs: 10000
|
|
alertThresholds:
|
|
sameOriginApiSlowMs: 10000
|
|
partialApiSlowMs: 10000
|
|
longLivedStreamOpenSlowMs: 10000
|
|
visibleLoadingSlowMs: 10000
|
|
turnTimingSampleSlackSeconds: 3
|
|
turnElapsedSevereTimeoutSeconds: 120
|
|
domEvaluateTimeoutRedCount: 2
|
|
domEvaluateTimeoutRedWindowMs: 30000
|
|
screenshotTimeoutRedCount: 2
|
|
pageErrorRedCount: 2
|
|
longTaskRedMs: 1000
|
|
longAnimationFrameRedMs: 1000
|
|
eventLoopGapRedMs: 1000
|
|
browserProcessSampleIntervalMs: 1000
|
|
requestRateBucketMs: 10000
|
|
requestRateTotalRedPerMinute: 300
|
|
requestRatePageRedPerMinute: 240
|
|
requestRateApiPathRedPerMinute: 120
|
|
browserTotalRssRedMb: 800
|
|
browserProcessRssRedMb: 600
|
|
browserRssGrowthRedMb: 300
|
|
browserRssGrowthWindowMs: 30000
|
|
playwrightResponsivenessRedMs: 5000
|
|
playwrightResponsivenessTimeoutRedCount: 2
|
|
cdpMetricsTimeoutRedCount: 2
|
|
uncommandedStateChangeCommandWindowMs: 10000
|
|
scrollJumpCommandWindowMs: 8000
|
|
scrollJumpFromY: 250
|
|
scrollJumpToY: 40
|
|
sessionRailFallbackRatio: 0.5
|
|
browserFreezePolicy:
|
|
enabled: true
|
|
blockerWindowMs: 30000
|
|
memory:
|
|
totalRssBlockerMb: 800
|
|
processRssBlockerMb: 500
|
|
growthBlockerMb: 300
|
|
responsiveness:
|
|
latencyBlockerMs: 5000
|
|
eventBlockerCount: 2
|
|
cdp:
|
|
metricsTimeoutBlockerCount: 2
|
|
kill:
|
|
enabled: true
|
|
gracefulSignal: SIGTERM
|
|
forceSignal: SIGKILL
|
|
graceMs: 3000
|
|
pollIntervalMs: 100
|
|
exitCode: 7
|
|
projectManagement:
|
|
enabled: true
|
|
targetPaths:
|
|
- /projects
|
|
- /projects/mdtodo
|
|
readinessSelectors:
|
|
- "[data-testid=\"project-management-root\"]"
|
|
- "[data-testid=\"project-management-mdtodo\"]"
|
|
naturalApiPathPrefixes:
|
|
- /v1/project-management/
|
|
- /v1/workbench/launches
|
|
- /v1/agent/chat
|
|
commandAllowlist:
|
|
- gotoProjectMdtodo
|
|
- openMdtodoSourceConfig
|
|
- closeMdtodoSourceConfig
|
|
- configureMdtodoHwpodSource
|
|
- probeMdtodoSource
|
|
- reindexMdtodoSource
|
|
- selectProjectSource
|
|
- selectMdtodoSource
|
|
- selectMdtodoFile
|
|
- selectMdtodoTask
|
|
- expandMdtodoTask
|
|
- openMdtodoReportPreview
|
|
- toggleMdtodoReportFullscreen
|
|
- editMdtodoTaskInline
|
|
- editMdtodoTaskTitle
|
|
- editMdtodoTaskBody
|
|
- toggleMdtodoTaskStatus
|
|
- addMdtodoRootTask
|
|
- addMdtodoSubTask
|
|
- continueMdtodoTask
|
|
- deleteMdtodoTask
|
|
- launchWorkbenchFromTask
|
|
- launchWorkbenchFromMdtodo
|
|
launchRoute: /v1/workbench/launches
|
|
slowApiBudgetMs: 10000
|
|
runtimeImageRewrites:
|
|
postgres:
|
|
source: postgres:16-alpine
|
|
target: 127.0.0.1:5000/hwlab/postgres:16-alpine
|
|
frpc:
|
|
source: fatedier/frpc:v0.68.1
|
|
target: 127.0.0.1:5000/hwlab/frpc:v0.68.1
|
|
openfga:
|
|
source: openfga/openfga:v1.17.0
|
|
target: 127.0.0.1:5000/hwlab/openfga:v1.17.0
|
|
opencode:
|
|
source: ghcr.io/anomalyco/opencode:1.17.7
|
|
target: 127.0.0.1:5000/hwlab/opencode:1.17.7
|
|
runtimeImageBuilds:
|
|
moonbridge:
|
|
id: moonbridge
|
|
kind: moonbridge
|
|
target: 127.0.0.1:5000/hwlab/moonbridge:1b99888d3dae
|
|
sourceRepo: https://github.com/ZhiYi-R/moon-bridge.git
|
|
sourceRef: 1b99888d3dae889b79ee602cb875c7907f7e76f2
|
|
builderImage: golang:1.25-bookworm
|
|
goProxy: "https://goproxy.cn,direct"
|
|
dockerNetworkMode: host
|
|
opencodeGit:
|
|
id: opencode-git
|
|
kind: opencode-git
|
|
target: 127.0.0.1:5000/hwlab/opencode:1.17.7-git
|
|
sourceImage: ghcr.io/anomalyco/opencode:1.17.7
|
|
dockerNetworkMode: host
|
|
publicExposurePk01:
|
|
mode: pk01-caddy-frp
|
|
publicBaseUrl: https://hwlab.pikapython.com
|
|
hostname: hwlab.pikapython.com
|
|
expectedA: 82.156.23.220
|
|
frpc:
|
|
serverAddr: 82.156.23.220
|
|
serverPort: 22000
|
|
tokenSourceRef: platform-infra/pk01-frp.env
|
|
tokenSourceKey: FRP_TOKEN
|
|
secretName: hwlab-v03-frpc-secrets
|
|
secretKey: frpc.toml
|
|
tokenKey: token
|
|
webProxy:
|
|
name: "hwlab-${nodeLower}-${lane}-cloud-web"
|
|
localIP: "hwlab-cloud-web.hwlab-${lane}.svc.cluster.local"
|
|
localPort: 8080
|
|
apiProxy:
|
|
name: "hwlab-${nodeLower}-${lane}-edge-proxy"
|
|
localIP: "hwlab-edge-proxy.hwlab-${lane}.svc.cluster.local"
|
|
localPort: 6667
|
|
caddy:
|
|
route: PK01
|
|
configPath: /etc/caddy/Caddyfile
|
|
serviceName: caddy
|
|
email: ops@pikapython.com
|
|
tls: auto
|
|
responseHeaderTimeoutSeconds: 600
|
|
externalPostgresConsumer:
|
|
port: 5432
|
|
sslmode: require
|
|
cloudApi:
|
|
secretName: hwlab-cloud-api-v03-db
|
|
secretKey: database-url
|
|
envKey: DATABASE_URL
|
|
openfga:
|
|
secretName: hwlab-v03-openfga
|
|
secretKey: datastore-uri
|
|
envKey: DATASTORE_URI
|
|
authnKey: authn-preshared-key
|
|
sourceAuthorityGiteaSnapshot:
|
|
mode: giteaSnapshot
|
|
resolver: gitea-mirror
|
|
allowHostGit: false
|
|
allowHostWorkspace: false
|
|
allowGithubDirectInPipeline: false
|
|
sourceSnapshotGiteaControlled:
|
|
stageRefPrefix: "refs/unidesk/snapshots/gitea-actions/hwlab-node-runtime/{branch}"
|
|
missingObjectPolicy: fail-fast
|
|
refreshPolicy: gitea-controlled-snapshot
|