Files
pikasTech-unidesk/config/hwlab-node-lanes.yaml
T
2026-06-30 13:12:20 +00:00

1475 lines
53 KiB
YAML

# SPEC: PJ2026-01060505 Workbench Performance draft-2026-06-17-p0.
version: 1
kind: HwlabNodeLaneConfig
metadata:
name: hwlab-node-lanes
defaults:
node: G14
lane: v03
requiredNoProxy:
- hyueapi.com
- .hyueapi.com
nodes:
G14:
route: G14
kubeRoute: G14:k3s
sourceWorkspace: /root/hwlab
gitopsRoot: deploy/gitops/node
networkProfile: node-ci-egress
downloadProfile: node-default
D601:
route: D601
kubeRoute: D601:k3s
sourceWorkspace: /home/ubuntu/workspace/hwlab-v03
gitopsRoot: deploy/gitops/node
networkProfile: d601-node-ci-egress
downloadProfile: d601-node-default
D518:
route: D518
kubeRoute: D518:k3s
sourceWorkspace: /home/ubuntu/workspace/hwlab-v03
gitopsRoot: deploy/gitops/node
networkProfile: d518-node-ci-egress
downloadProfile: d518-node-default
JD01:
route: JD01
kubeRoute: JD01:k3s
sourceWorkspace: /root/workspace/hwlab-v03
gitopsRoot: deploy/gitops/node
networkProfile: jd01-node-ci-egress
downloadProfile: jd01-node-default
lanes:
v02:
node: G14
minor: 2
version: v0.2
sourceBranch: v0.2
workspace: /root/hwlab-v02
cicdRepo: /root/hwlab-v02-cicd.git
cicdRepoLock: /tmp/hwlab-v02-cicd-repo.lock
app: hwlab-g14-v02
pipeline: hwlab-v02-ci-image-publish
pipelineRunPrefix: hwlab-v02-ci-poll
serviceAccountName: hwlab-v02-tekton-runner
controlPlaneFieldManager: unidesk-hwlab-v02-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.2-gitops
catalogPath: deploy/artifact-catalog.v02.json
runtime:
path: deploy/gitops/g14/runtime-v02
namespace: hwlab-v02
renderDir: runtime-v02
tektonDir: tekton-v02
argoApplicationFile: application-v02.yaml
registryPrefix: 127.0.0.1:5000/hwlab
baseImage: 127.0.0.1:5000/hwlab/hwlab-node20-base:20-bookworm-slim
serviceIds:
- hwlab-cloud-api
- hwlab-cloud-web
- hwlab-gateway
- hwlab-edge-proxy
- hwlab-agent-skills
observability:
prometheusOperator: true
public:
webUrl: http://74.48.78.17:19666
apiUrl: http://74.48.78.17:19667
v03:
node: G14
activeTarget: JD01
minor: 3
version: v0.3
sourceBranch: v0.3
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/g14-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:
D601:
node: D601
workspace: /home/ubuntu/workspace/hwlab-v03
cicdRepo: /home/ubuntu/workspace/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-d601-v03-control-plane
git:
url: git@github.com:pikasTech/HWLAB.git
readUrl: http://git-mirror-http.devops-infra.svc.cluster.local:8080/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.d601-v03.json
runtime:
path: deploy/gitops/node/d601/runtime-v03
namespace: hwlab-v03
renderDir: runtime-v03
runtimeStore:
postgres:
mode: local-k3s
secretName: hwlab-v03-postgres
statefulSet: hwlab-v03-postgres
serviceName: hwlab-v03-postgres
adminUser: hwlab_v03
adminPasswordSourceRef: hwlab/d601-v03-postgres.env
adminPasswordSourceKey: HWLAB_V03_POSTGRES_PASSWORD
cloudApi:
secretName: hwlab-cloud-api-v03-db
secretKey: database-url
database: hwlab_v03
role: hwlab_v03
openfga:
secretName: hwlab-v03-openfga
secretKey: datastore-uri
authnKey: authn-preshared-key
postgresPasswordKey: postgres-password
database: hwlab_openfga
role: hwlab_openfga
poolMax: 16
connectionTimeoutMs: 5000
queryRetryMaxAttempts: 5
queryRetryInitialDelayMs: 250
queryRetryMaxDelayMs: 5000
hwpodPreinstall:
enabled: true
configRefs:
preinstall: config/hwlab-hwpod-preinstalls/constart-71freq-c.yaml#hwpodPreinstall
projectManagementSource: config/hwlab-project-management/constart-71freq-mdtodo.yaml#projectManagement.sources[0]
gatewayProfile: config/hwlab-gateway/constart-71freq-d601-v03.yaml#gateway.profile
webProbe:
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
browserProcessSampleIntervalMs: 1000
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
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
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
observability:
prometheusOperator: false
traceExplorerUrlTemplate: /v1/workbench/traces/{trace_id}/events
metricsEndpoint:
serviceName: hwlab-cloud-api
containerName: hwlab-cloud-api
port: 6667
scheme: http
path: /v1/web-performance/metrics
scrapeMode: pod-loopback
publicRawMetrics: denied
webProbe:
sentinels:
- id: workbench-dsflash-go-tool-call-10x
enabled: true
configRef: config/hwlab-web-probe-sentinels/d601-v03/workbench-dsflash-go-tool-call-10x.yaml#sentinel
- id: workbench-auth-session-switch-2users
enabled: true
configRef: config/hwlab-web-probe-sentinels/d601-v03/workbench-auth-session-switch-2users.yaml#sentinel
- id: mdtodo-visual-regression
enabled: true
configRef: config/hwlab-web-probe-sentinels/d601-v03/mdtodo-visual-regression.yaml#sentinel
workbench:
enabled: true
summaryPath: /v1/web-performance/summary
lowSampleThreshold: 5
metricPrefixes:
- hwlab_workbench_
- hwlab_agentrun_
- hwlab_webui_
- hwlab_http_
requiredSeries: []
backendLabelDenylist:
- unknown
maxUnknownEventLines: 0
recordingRules:
- id: workbench_submit_first_visible_p95
metric: hwlab:workbench_submit_first_visible:p95_seconds
sourceMetric: hwlab_workbench_journey_duration_seconds
quantile: 0.95
window: 5m
minSamples: 5
groupBy: [namespace, gitops_target, journey, route, backend, transport, entry, outcome]
matchLabels:
journey: submit_to_first_visible
- id: workbench_backend_event_visible_p95
metric: hwlab:workbench_backend_event_visible:p95_seconds
sourceMetric: hwlab_workbench_backend_event_visible_latency_seconds
quantile: 0.95
window: 5m
minSamples: 5
groupBy: [namespace, gitops_target, event_type, backend, transport, outcome]
- id: workbench_session_switch_p95
metric: hwlab:workbench_session_switch:p95_seconds
sourceMetric: hwlab_workbench_journey_duration_seconds
quantile: 0.95
window: 5m
minSamples: 5
groupBy: [namespace, gitops_target, journey, route, target_state, cache, source, outcome]
matchLabels:
journey: session_switch_first_visible|session_switch_full_load
- id: workbench_open_p95
metric: hwlab:workbench_open:p95_seconds
sourceMetric: hwlab_workbench_journey_duration_seconds
quantile: 0.95
window: 5m
minSamples: 5
groupBy: [namespace, gitops_target, journey, route, cache, auth_state, outcome]
matchLabels:
journey: workbench_open_first_visible|workbench_open_full_load
- id: workbench_projection_lag_p95
metric: hwlab:workbench_projection_lag:p95_seconds
sourceMetric: hwlab_workbench_projection_lag_seconds
quantile: 0.95
window: 5m
minSamples: 1
groupBy: [namespace, gitops_target, node, lane, projection_status, source, status, reason]
- id: workbench_terminal_projection_delay_p95
metric: hwlab:workbench_terminal_projection_delay:p95_seconds
sourceMetric: hwlab_workbench_terminal_projection_delay_seconds
quantile: 0.95
window: 5m
minSamples: 1
groupBy: [namespace, gitops_target, node, lane, projection_status, source, status, reason]
- id: workbench_turn_get_p95
metric: hwlab:workbench_turn_get:p95_seconds
sourceMetric: hwlab_workbench_turn_get_duration_seconds
quantile: 0.95
window: 5m
minSamples: 1
groupBy: [namespace, gitops_target, node, lane, route, status, degraded_reason]
- id: agentrun_result_p95
metric: hwlab:agentrun_result:p95_seconds
sourceMetric: hwlab_agentrun_result_duration_seconds
quantile: 0.95
window: 5m
minSamples: 1
groupBy: [namespace, gitops_target, node, lane, event_count_bucket, status]
- id: workbench_projector_batch_p95
metric: hwlab:workbench_projector_batch:p95_seconds
sourceMetric: hwlab_workbench_projector_batch_duration_seconds
quantile: 0.95
window: 5m
minSamples: 1
groupBy: [namespace, gitops_target, node, lane, phase, status]
warningAlerts:
- id: HWLABWorkbenchSubmitFirstVisibleSlow
ruleId: workbench_submit_first_visible_p95
severity: warning
thresholdSeconds: 15
minSamples: 5
for: 10m
matchLabels:
journey: submit_to_first_visible
- id: HWLABWorkbenchBackendEventVisibleSlow
ruleId: workbench_backend_event_visible_p95
severity: warning
thresholdSeconds: 10
minSamples: 5
for: 10m
- id: HWLABWorkbenchSessionSwitchSlow
ruleId: workbench_session_switch_p95
severity: warning
thresholdSeconds: 8
minSamples: 5
for: 10m
- id: HWLABWorkbenchOpenSlow
ruleId: workbench_open_p95
severity: warning
thresholdSeconds: 13
minSamples: 5
for: 10m
- id: WorkbenchProjectionStuck
ruleId: workbench_projection_lag_p95
severity: warning
thresholdSeconds: 60
minSamples: 1
for: 10m
- id: WorkbenchTerminalProjectionMissing
ruleId: workbench_terminal_projection_delay_p95
severity: warning
thresholdSeconds: 60
minSamples: 1
for: 10m
- id: WorkbenchTurnReadSlow
ruleId: workbench_turn_get_p95
severity: warning
thresholdSeconds: 5
minSamples: 1
for: 10m
- id: AgentRunResultSlowLongTrace
ruleId: agentrun_result_p95
severity: warning
thresholdSeconds: 2.5
minSamples: 1
for: 10m
- id: WorkbenchProjectorNoProgress
ruleId: workbench_projector_batch_p95
severity: warning
thresholdSeconds: 10
minSamples: 1
for: 10m
runtimeImageRewrites:
- source: fatedier/frpc:v0.68.1
target: 127.0.0.1:5000/hwlab/frpc:v0.68.1
- source: openfga/openfga:v1.17.0
target: 127.0.0.1:5000/hwlab/openfga:v1.17.0
runtimeImageBuilds:
- 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
- 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
public:
webUrl: https://hwlab.pikapython.com
apiUrl: https://hwlab.pikapython.com
bootstrapAdmin:
username: admin
displayName: HWLAB v0.3 Admin
passwordSourceRef: hwlab/d601-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
publicExposure:
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-d601-v03-cloud-web
remotePort: 22096
localIP: hwlab-cloud-web.hwlab-v03.svc.cluster.local
localPort: 8080
apiProxy:
name: hwlab-d601-v03-edge-proxy
remotePort: 22095
localIP: hwlab-edge-proxy.hwlab-v03.svc.cluster.local
localPort: 6667
caddy:
route: PK01
configPath: /etc/caddy/Caddyfile
serviceName: caddy
email: ops@pikapython.com
tls: auto
responseHeaderTimeoutSeconds: 600
externalPostgres:
provider: PK01
configRef: config/platform-db/postgres-pk01.yaml
serviceName: d601-pk01-platform-postgres
endpointAddress: 82.156.23.220
port: 5432
runtimeAccess:
routeName: d601-pk01-postgres
endpointAddress: d601-tcp-egress-gateway.unidesk.svc.cluster.local
port: 25432
sslmode: require
database: hwlab_d601_v03
cloudApi:
secretName: hwlab-cloud-api-v03-db
secretKey: database-url
sourceRef: hwlab/d601-v03-cloud-api-db.env
envKey: DATABASE_URL
role: hwlab_d601_v03_app
openfga:
secretName: hwlab-v03-openfga
secretKey: datastore-uri
sourceRef: hwlab/d601-v03-openfga-db.env
envKey: DATASTORE_URI
authnKey: authn-preshared-key
role: hwlab_d601_v03_app
D518:
node: D518
workspace: /home/ubuntu/workspace/hwlab-v03
sourceWorkspace:
requiredCommands:
- git
- node
- npm
- npx
requiredFiles:
- AGENTS.md
- package.json
- package-lock.json
- scripts/src/browser-launcher.mjs
- scripts/web-live-dom-probe.mjs
install:
executor: k3s-job
dependencyCommand: npm ci
browserCommand: PLAYWRIGHT_BROWSERS_PATH=0 npx playwright install chromium
timeoutSeconds: 900
cicdRepo: /home/ubuntu/workspace/hwlab-v03-cicd.git
cicdRepoLock: /tmp/hwlab-v03-cicd-repo.lock
app: hwlab-node-v03
pipeline: hwlab-d518-v03-ci-image-publish
pipelineRunPrefix: hwlab-d518-v03-ci-poll
serviceAccountName: hwlab-d518-v03-tekton-runner
controlPlaneFieldManager: unidesk-hwlab-d518-v03-control-plane
git:
url: git@github.com:pikasTech/HWLAB.git
readUrl: http://git-mirror-http.devops-infra.svc.cluster.local:8080/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.d518-v03.json
runtime:
path: deploy/gitops/node/d518/runtime-v03
namespace: hwlab-v03
renderDir: runtime-v03
runtimeStore:
postgres:
mode: local-k3s
secretName: hwlab-v03-postgres
statefulSet: hwlab-v03-postgres
serviceName: hwlab-v03-postgres
adminUser: hwlab_v03
adminPasswordSourceRef: hwlab/d518-v03-postgres.env
adminPasswordSourceKey: HWLAB_V03_POSTGRES_PASSWORD
cloudApi:
secretName: hwlab-cloud-api-v03-db
secretKey: database-url
database: hwlab_v03
role: hwlab_v03
openfga:
secretName: hwlab-v03-openfga
secretKey: datastore-uri
authnKey: authn-preshared-key
postgresPasswordKey: postgres-password
database: hwlab_openfga
role: hwlab_openfga
poolMax: 16
connectionTimeoutMs: 5000
queryRetryMaxAttempts: 5
queryRetryInitialDelayMs: 250
queryRetryMaxDelayMs: 5000
webProbe:
browserProxyMode: direct
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
browserProcessSampleIntervalMs: 1000
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: 500
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
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
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
observability:
prometheusOperator: false
webProbe:
monitorRoot:
enabled: true
sentinelId: workbench-fake-echo-session-invariance-10x
publicBaseUrl: https://monitor.pikapython.com
routePrefix: /
caddyManagedBlockOwner: hwlab-web-probe-sentinel-active-root
sentinels:
- id: workbench-dsflash-go-tool-call-10x
enabled: true
configRef: config/hwlab-web-probe-sentinels/d518-v03/workbench-dsflash-go-tool-call-10x.yaml#sentinel
- id: workbench-fake-echo-session-invariance-10x
enabled: true
configRef: config/hwlab-web-probe-sentinels/d518-v03/workbench-fake-echo-session-invariance-10x.yaml#sentinel
runtimeImageRewrites:
- source: fatedier/frpc:v0.68.1
target: 127.0.0.1:5000/hwlab/frpc:v0.68.1
- source: openfga/openfga:v1.17.0
target: 127.0.0.1:5000/hwlab/openfga:v1.17.0
runtimeImageBuilds:
- 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
- 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
public:
webUrl: https://hwlab.pikapython.com
apiUrl: https://hwlab.pikapython.com
bootstrapAdmin:
username: admin
displayName: HWLAB v0.3 Admin
passwordSourceRef: hwlab/d518-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
codeAgentProvider:
secretName: hwlab-v03-code-agent-provider
sourceRef: hwlab/d518-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: fake-echo
codexStdioSupervisor: repo-owned
kafkaShadowProducer:
enabled: true
mode: shadow-produce-only
consumeEnabled: false
configRef: config/platform-infra/kafka.yaml#clients.hwlab-v03-cloud-api
bootstrapServers: platform-infra-kafka-kafka-bootstrap.platform-infra.svc.cluster.local:9092
commandTopic: hwlab.agentrun.command.v1
clientId: hwlab-v03-cloud-api
publicExposure:
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-d518-v03-cloud-web
remotePort: 22092
localIP: hwlab-cloud-web.hwlab-v03.svc.cluster.local
localPort: 8080
apiProxy:
name: hwlab-d518-v03-edge-proxy
remotePort: 22091
localIP: hwlab-edge-proxy.hwlab-v03.svc.cluster.local
localPort: 6667
caddy:
route: PK01
configPath: /etc/caddy/Caddyfile
serviceName: caddy
email: ops@pikapython.com
tls: auto
responseHeaderTimeoutSeconds: 600
externalPostgres:
provider: PK01
configRef: config/platform-db/postgres-pk01.yaml
serviceName: d518-pk01-platform-postgres
endpointAddress: 82.156.23.220
port: 5432
runtimeAccess:
routeName: d518-pk01-postgres
endpointAddress: d518-tcp-egress-gateway.unidesk.svc.cluster.local
port: 25432
sslmode: require
database: hwlab_d518_v03
cloudApi:
secretName: hwlab-cloud-api-v03-db
secretKey: database-url
sourceRef: hwlab/d518-v03-cloud-api-db.env
envKey: DATABASE_URL
role: hwlab_d518_v03_app
openfga:
secretName: hwlab-v03-openfga
secretKey: datastore-uri
sourceRef: hwlab/d518-v03-openfga-db.env
envKey: DATASTORE_URI
authnKey: authn-preshared-key
role: hwlab_d518_v03_app
JD01:
node: JD01
workspace: /root/workspace/hwlab-v03
sourceWorkspace:
git:
remoteName: origin
remoteUrl: git@github.com:pikasTech/HWLAB.git
identityTarget: JD01
identityId: github.com
proxyEnvPath: /etc/unidesk/proxy.env
verifyRemote: true
requireUpToDate: true
requiredCommands:
- git
- node
- npm
- npx
requiredFiles:
- AGENTS.md
- package.json
- package-lock.json
- scripts/src/browser-launcher.mjs
- scripts/web-live-dom-probe.mjs
hostDependencies:
checkCommands:
- git
- node
- npm
- npx
stateDir: /var/lib/unidesk/hwlab-source-workspace
install:
timeoutSeconds: 300
command: |
set -eu
. /etc/unidesk/proxy.env 2>/dev/null || true
export HTTP_PROXY HTTPS_PROXY ALL_PROXY NO_PROXY http_proxy https_proxy all_proxy no_proxy
npm_version=11.17.0
tmp_dir=$(mktemp -d)
trap 'rm -rf "$tmp_dir"' EXIT
curl -fsSL --retry 3 --connect-timeout 20 --max-time 300 "https://registry.npmmirror.com/npm/-/npm-${npm_version}.tgz" -o "$tmp_dir/npm.tgz"
mkdir -p /usr/local/lib/node_modules
rm -rf /usr/local/lib/node_modules/npm
tar -xzf "$tmp_dir/npm.tgz" -C "$tmp_dir"
mv "$tmp_dir/package" /usr/local/lib/node_modules/npm
ln -sfn /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm
ln -sfn /usr/local/lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx
npm --version
npx --version
install:
executor: host
dependencyCommand: |
set -eu
npm install --no-save --package-lock=false --ignore-scripts --no-audit --no-fund playwright@1.59.1
if [ -n "${HTTP_PROXY:-}" ]; then
cat >/etc/apt/apt.conf.d/99unidesk-host-proxy <<APT_PROXY
Acquire::http::Proxy "${HTTP_PROXY}";
Acquire::https::Proxy "${HTTPS_PROXY:-$HTTP_PROXY}";
Acquire::Retries "3";
Acquire::http::Timeout "60";
Acquire::https::Timeout "60";
APT_PROXY
fi
for apt_source in /etc/apt/sources.list /etc/apt/sources.list.d/*.list /etc/apt/sources.list.d/*.sources; do
[ -f "$apt_source" ] || continue
sed -i 's|http://mirrors.jdcloudcs.com/ubuntu|http://archive.ubuntu.com/ubuntu|g' "$apt_source"
done
npx playwright install-deps chromium
browserCommand: PLAYWRIGHT_BROWSERS_PATH=0 npx playwright install chromium
stateDir: /var/lib/unidesk/hwlab-source-workspace-install
timeoutSeconds: 900
cicdRepo: /root/workspace/hwlab-v03-cicd.git
cicdRepoLock: /tmp/hwlab-v03-cicd-repo.lock
app: hwlab-node-v03
pipeline: hwlab-jd01-v03-ci-image-publish
pipelineRunPrefix: hwlab-jd01-v03-ci-poll
serviceAccountName: hwlab-jd01-v03-tekton-runner
controlPlaneFieldManager: unidesk-hwlab-jd01-v03-control-plane
git:
url: git@github.com:pikasTech/HWLAB.git
readUrl: http://git-mirror-http.devops-infra.svc.cluster.local:8080/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.jd01-v03.json
runtime:
path: deploy/gitops/node/jd01/runtime-v03
namespace: hwlab-v03
renderDir: runtime-v03
runtimeStore:
postgres:
mode: local-k3s
secretName: hwlab-v03-postgres
statefulSet: hwlab-v03-postgres
serviceName: hwlab-v03-postgres
adminUser: hwlab_v03
adminPasswordSourceRef: hwlab/jd01-v03-postgres.env
adminPasswordSourceKey: HWLAB_V03_POSTGRES_PASSWORD
cloudApi:
secretName: hwlab-cloud-api-v03-db
secretKey: database-url
database: hwlab_v03
role: hwlab_v03
openfga:
secretName: hwlab-v03-openfga
secretKey: datastore-uri
authnKey: authn-preshared-key
postgresPasswordKey: postgres-password
database: hwlab_openfga
role: hwlab_openfga
poolMax: 16
connectionTimeoutMs: 5000
queryRetryMaxAttempts: 5
queryRetryInitialDelayMs: 250
queryRetryMaxDelayMs: 5000
webProbe:
browserProxyMode: auto
playwrightBrowsersPath: "0"
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
browserProcessSampleIntervalMs: 1000
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
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
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
observability:
prometheusOperator: false
webProbe:
monitorRoot:
enabled: true
sentinelId: jd01-web-probe-sentinel
publicBaseUrl: https://monitor.pikapython.com
routePrefix: /
caddyManagedBlockOwner: hwlab-web-probe-sentinel-active-root
sentinels:
- id: jd01-web-probe-sentinel
enabled: true
configRef: config/hwlab-web-probe-sentinel/profiles.yaml#nodes.${NODE}.sentinels.${nodeLower}-web-probe-sentinel.sentinel
runtimeImageRewrites:
- source: postgres:16-alpine
target: 127.0.0.1:5000/hwlab/postgres:16-alpine
- source: fatedier/frpc:v0.68.1
target: 127.0.0.1:5000/hwlab/frpc:v0.68.1
- source: openfga/openfga:v1.17.0
target: 127.0.0.1:5000/hwlab/openfga:v1.17.0
- source: ghcr.io/anomalyco/opencode:1.17.7
target: 127.0.0.1:5000/hwlab/opencode:1.17.7
runtimeImageBuilds:
- 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
- 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
public:
webUrl: https://hwlab.pikapython.com
apiUrl: https://hwlab.pikapython.com
bootstrapAdmin:
username: admin
displayName: HWLAB v0.3 Admin
usernameSourceRef: .env/HWLAB_admin.txt
usernameSourceLine: 1
passwordSourceRef: .env/HWLAB_admin.txt
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/jd01-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: dsflash-go
codexStdioSupervisor: repo-owned
publicExposure:
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-jd01-v03-cloud-web
remotePort: 22090
localIP: hwlab-cloud-web.hwlab-v03.svc.cluster.local
localPort: 8080
apiProxy:
name: hwlab-jd01-v03-edge-proxy
remotePort: 22088
localIP: hwlab-edge-proxy.hwlab-v03.svc.cluster.local
localPort: 6667
extraProxies:
- id: opencode
name: hwlab-jd01-v03-opencode
remotePort: 22095
localIP: hwlab-cloud-web.hwlab-v03.svc.cluster.local
localPort: 8080
hostname: opencode-jd01-v03.pikapython.com
publicBaseUrl: https://opencode-jd01-v03.pikapython.com
cloudWebEnvName: HWLAB_CLOUD_WEB_OPENCODE_URL
caddy:
route: PK01
configPath: /etc/caddy/Caddyfile
serviceName: caddy
email: ops@pikapython.com
tls: auto
responseHeaderTimeoutSeconds: 600
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