fix(hwlab): close d518 yaml cutover gaps

This commit is contained in:
Codex
2026-06-27 15:40:25 +00:00
parent fc032d829a
commit 1968c43a6a
14 changed files with 831 additions and 13 deletions
+2 -2
View File
@@ -344,8 +344,8 @@ targets:
syncConfigMapName: git-mirror-sync-script
syncJobPrefix: git-mirror-hwlab-d518-v03-sync-manual
flushJobPrefix: git-mirror-hwlab-d518-v03-flush-manual
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
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
egressProxy:
mode: node-global
required: true
+21
View File
@@ -509,6 +509,22 @@ lanes:
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:
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
@@ -636,6 +652,11 @@ lanes:
XDG_CONFIG_HOME: /tekton/home/.config
observability:
prometheusOperator: false
webProbe:
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
runtimeImageRewrites:
- source: fatedier/frpc:v0.68.1
target: 127.0.0.1:5000/hwlab/frpc:v0.68.1
@@ -0,0 +1,64 @@
version: 1
kind: HwlabWebProbeSentinelCicd
metadata:
id: d518-v03-web-probe-sentinel-cicd
owner: UniDesk
specRef: PJ2026-01060508
sentinel:
cicd:
controlPlaneConfigRef: config/hwlab-node-control-plane.yaml#targets[1]
source:
repository: pikasTech/unidesk
branch: master
gitSshUrl: ssh://git@ssh.github.com:443/pikasTech/unidesk.git
gitMirrorReadUrl: http://git-mirror-http.devops-infra.svc.cluster.local:8080/pikasTech/unidesk.git
buildContext: .
entrypoint: scripts/web-probe-sentinel-service.ts
checkoutPaths:
- scripts
- config
- package.json
- bun.lock
- bun.lockb
builder:
namespace: devops-infra
sourceMode: sparse-git-checkout
jobPrefix: web-probe-sentinel-publish
gitSshSecretName: git-mirror-github-ssh
dockerSocketPath: /var/run/docker.sock
activeDeadlineSeconds: 900
ttlSecondsAfterFinished: 3600
gitopsPath: deploy/gitops/node/d518/web-probe-sentinel
argo:
namespace: argocd
projectName: hwlab-d518
applicationName: hwlab-web-probe-sentinel
repoURL: http://git-mirror-http.devops-infra.svc.cluster.local:8080/pikasTech/HWLAB.git
targetRevision: v0.3-gitops
image:
repository: 127.0.0.1:5000/hwlab/web-probe-sentinel
tagSource: source-commit
baseImageRef: config/hwlab-node-control-plane.yaml#targets[1].tekton.toolsImage.output
envRecipeRef: config/hwlab-web-probe-sentinel/runtime.d518-v03.yaml#sentinel.runtime
maintenance:
startCommand: sentinel maintenance start
stopCommand: sentinel maintenance stop
monitorWeb:
frontendStack: vue3-vendored-browser-build
runtimeMode: runner-served-bridge
assetRoot: scripts/assets/web-probe-sentinel-monitor-web
envReuse:
mode: docker-layer-and-ci-node-deps
nodeDepsPath: /opt/hwlab-ci-node-deps/node_modules
gitMirror:
source: source.gitMirrorReadUrl
preSync: required
postFlush: required
ciBudget:
maxSeconds: 120
confirmWait:
maxSeconds: 120
targetValidation:
scenarioId: workbench-dsflash-go-tool-call-10x
maxSeconds: 300
serviceUnavailablePolicy: structured-failure
@@ -0,0 +1,37 @@
version: 1
kind: HwlabWebProbeSentinelPublicExposure
metadata:
id: d518-v03-web-probe-sentinel-public-exposure
owner: UniDesk
specRef: PJ2026-01060508
sentinel:
publicExposure:
enabled: true
mode: pk01-caddy-frp
publicBaseUrl: https://monitor.pikapython.com/sentinels/d518-workbench-dsflash-go-tool-call-10x
hostname: monitor.pikapython.com
routePrefix: /sentinels/d518-workbench-dsflash-go-tool-call-10x
expectedA: 82.156.23.220
frpc:
deploymentName: hwlab-web-probe-sentinel-frpc
image: 127.0.0.1:5000/hwlab/frpc:v0.68.1
serverAddr: 82.156.23.220
serverPort: 22000
tokenSourceRef: platform-infra/pk01-frp.env
tokenSourceKey: FRP_TOKEN
secretName: hwlab-web-probe-sentinel-frpc
secretKey: frpc.toml
tokenKey: token
httpProxy:
name: hwlab-d518-v03-web-probe-sentinel
remotePort: 22093
localIP: hwlab-web-probe-sentinel.hwlab-v03.svc.cluster.local
localPort: 8080
caddy:
route: PK01
configPath: /etc/caddy/Caddyfile
serviceName: caddy
email: ops@pikapython.com
tls: auto
responseHeaderTimeoutSeconds: 600
managedBlockOwner: hwlab-web-probe-sentinel-d518-v03
@@ -0,0 +1,33 @@
version: 1
kind: HwlabWebProbeSentinelRuntime
metadata:
id: d518-v03-web-probe-sentinel-runtime
owner: UniDesk
specRef: PJ2026-01060508
sentinel:
runtime:
target:
node: D518
lane: v03
publicOriginRef: config/hwlab-node-lanes.yaml#lanes.v03.targets.D518.public.webUrl
observeWrapperRef: config/hwlab-node-lanes.yaml#lanes.v03.targets.D518.observability.webProbe.sentinels[0]
namespace: hwlab-v03
serviceAccountName: hwlab-web-probe-sentinel
deploymentName: hwlab-web-probe-sentinel
serviceName: hwlab-web-probe-sentinel
listenHost: 0.0.0.0
servicePort: 8080
pvcName: hwlab-web-probe-sentinel-state
pvcStorage: 10Gi
stateRoot: /var/lib/web-probe-sentinel
imageRef: 127.0.0.1:5000/hwlab/web-probe-sentinel:p3-service
replicas: 1
healthPath: /api/health
metricsPath: /metrics
scheduler:
intervalMs: 600000
heartbeatStaleSeconds: 900
maxConcurrentRuns: 1
sqlite:
path: /var/lib/web-probe-sentinel/index.sqlite
busyTimeoutMs: 2000
@@ -0,0 +1,34 @@
version: 1
kind: HwlabWebProbeSentinelSecrets
metadata:
id: d518-v03-web-probe-sentinel-secrets
owner: UniDesk
specRef: PJ2026-01060508
sentinel:
secrets:
sources:
- purpose: bootstrap-admin
sourceRef: hwlab/d518-v03-bootstrap-admin.env
sourceKey: HWLAB_BOOTSTRAP_ADMIN_PASSWORD
- purpose: prompt-set
sourceRef: hwlab/web-probe-sentinel-dsflash-go.env
sourceKey: DSFLASH_GO_TOOL_CALL_10X_PROMPTS_JSON
- purpose: frp-token
sourceRef: platform-infra/pk01-frp.env
sourceKey: FRP_TOKEN
runtimeSecrets:
- name: hwlab-web-probe-sentinel-bootstrap
namespace: hwlab-v03
data:
- sourcePurpose: bootstrap-admin
targetKey: bootstrap-admin-password
- name: hwlab-web-probe-sentinel-prompt-set
namespace: hwlab-v03
data:
- sourcePurpose: prompt-set
targetKey: prompts.json
- name: hwlab-web-probe-sentinel-frpc
namespace: hwlab-v03
data:
- sourcePurpose: frp-token
targetKey: token
@@ -0,0 +1,18 @@
version: 1
kind: HwlabWebProbeSentinel
metadata:
id: d518-v03-workbench-dsflash-go-tool-call-10x
owner: UniDesk
specRef: PJ2026-01060508
sentinel:
id: workbench-dsflash-go-tool-call-10x
enabled: true
mode: web-probe-observe-wrapper
configRefs:
runtime: config/hwlab-web-probe-sentinel/runtime.d518-v03.yaml#sentinel.runtime
scenarios: config/hwlab-web-probe-sentinel/scenarios.workbench.yaml#sentinel.scenarios
promptSet: config/hwlab-web-probe-sentinel/prompt-set.dsflash-go.yaml#sentinel.promptSet
reportViews: config/hwlab-web-probe-sentinel/report-views.yaml#sentinel.reportViews
publicExposure: config/hwlab-web-probe-sentinel/public-exposure.d518-v03.yaml#sentinel.publicExposure
cicd: config/hwlab-web-probe-sentinel/cicd.d518-v03.yaml#sentinel.cicd
secrets: config/hwlab-web-probe-sentinel/secrets.d518-v03.yaml#sentinel.secrets