deploy: render web-probe sentinel bfa2ac8fac0149bb7696e9f1aa9c92c3af5117fa

This commit is contained in:
UniDesk Web Probe Sentinel
2026-07-10 06:13:45 +00:00
parent 1474f9b888
commit fc27742760
@@ -8,11 +8,11 @@
---
{apiVersion: v1,kind: ConfigMap,metadata: {name: hwlab-web-probe-sentinel-nc01-config,namespace: hwlab-v03,labels: {app.kubernetes.io/name: hwlab-web-probe-sentinel-nc01,app.kubernetes.io/part-of: hwlab-web-probe-sentinel,app.kubernetes.io/managed-by: unidesk,unidesk.ai/spec-ref: PJ2026-01060508,unidesk.ai/node: NC01,unidesk.ai/lane: v03,unidesk.ai/web-probe-sentinel-id: nc01-web-probe-sentinel}},data: {config-summary.json: "{\n \"specRef\": \"PJ2026-01060508 Web哨兵 draft-2026-07-01-p16-cicd-source-snapshot\",\n \"node\": \"NC01\",\n \"lane\": \"v03\",\n \"sentinelId\": \"nc01-web-probe-sentinel\",\n \"publicBaseUrl\": \"https://monitor.pikapython.com\",\n \"routePrefix\": \"/\",\n \"gitopsPath\": \"deploy/gitops/node/nc01/web-probe-sentinel\",\n \"valuesRedacted\": true\n}"}}
---
{apiVersion: apps/v1,kind: Deployment,metadata: {name: hwlab-web-probe-sentinel-nc01,namespace: hwlab-v03,labels: &labels {app.kubernetes.io/name: hwlab-web-probe-sentinel-nc01,app.kubernetes.io/part-of: hwlab-web-probe-sentinel,app.kubernetes.io/managed-by: unidesk,unidesk.ai/spec-ref: PJ2026-01060508,unidesk.ai/node: NC01,unidesk.ai/lane: v03,unidesk.ai/web-probe-sentinel-id: nc01-web-probe-sentinel},annotations: &annotations {unidesk.ai/source-commit: 9a5976f7b4d12452fdc6bf86000fab0853fa4c3a,hwlab.pikastech.local/source-commit: 9a5976f7b4d12452fdc6bf86000fab0853fa4c3a}},spec: {replicas: 1,selector: {matchLabels: {app.kubernetes.io/name: hwlab-web-probe-sentinel-nc01}},template: {metadata: {labels: *labels,annotations: *annotations},spec: {serviceAccountName: hwlab-web-probe-sentinel-nc01,containers: [{name: sentinel,image: 127.0.0.1:5000/hwlab/web-probe-sentinel-nc01@sha256:5511bd03a4a409876c68fa98b9a7f371ec2e757f8ae28761e334807e4c77f496,imagePullPolicy: IfNotPresent,args: ["--node",NC01,"--lane",v03,"--sentinel",nc01-web-probe-sentinel,"--state-root",/var/lib/web-probe-sentinel-nc01,"--host",0.0.0.0,"--port","8080"],env: [{name: UNIDESK_WEB_PROBE_SENTINEL_ID,value: nc01-web-probe-sentinel},{name: UNIDESK_SOURCE_COMMIT,value: 9a5976f7b4d12452fdc6bf86000fab0853fa4c3a},{name: WEB_PROBE_SENTINEL_SOURCE_COMMIT,value: 9a5976f7b4d12452fdc6bf86000fab0853fa4c3a},{name: OTEL_EXPORTER_OTLP_TRACES_ENDPOINT,value: http://otel-collector.platform-infra.svc.cluster.local:4318/v1/traces},{name: OTEL_SERVICE_NAME,value: hwlab-web-probe-sentinel-nc01},{name: OTEL_TRACES_SAMPLER,value: parentbased_traceidratio},{name: OTEL_TRACES_SAMPLER_ARG,value: "1"},{name: HWLAB_BOOTSTRAP_ADMIN_PASSWORD,valueFrom: {secretKeyRef: {name: hwlab-web-probe-sentinel-nc01-bootstrap,key: bootstrap-admin-password}}},{name: DSFLASH_GO_TOOL_CALL_10X_PROMPTS_JSON,valueFrom: {secretKeyRef: {name: hwlab-web-probe-sentinel-nc01-prompt-set,key: prompts.json}}},{name: HWLAB_WEB_ACCOUNT_A_JSON,valueFrom: {secretKeyRef: {name: hwlab-web-probe-sentinel-nc01-accounts,key: account-a.json}}},{name: HWLAB_WEB_ACCOUNT_B_JSON,valueFrom: {secretKeyRef: {name: hwlab-web-probe-sentinel-nc01-accounts,key: account-b.json}}}],ports: [{name: http,containerPort: 8080}],readinessProbe: {httpGet: {path: /api/health,port: http}},livenessProbe: {httpGet: {path: /api/health,port: http}},volumeMounts: [{name: state,mountPath: /var/lib/web-probe-sentinel-nc01}]}],volumes: [{name: state,persistentVolumeClaim: {claimName: hwlab-web-probe-sentinel-nc01-state}}]}}}}
{apiVersion: apps/v1,kind: Deployment,metadata: {name: hwlab-web-probe-sentinel-nc01,namespace: hwlab-v03,labels: &labels {app.kubernetes.io/name: hwlab-web-probe-sentinel-nc01,app.kubernetes.io/part-of: hwlab-web-probe-sentinel,app.kubernetes.io/managed-by: unidesk,unidesk.ai/spec-ref: PJ2026-01060508,unidesk.ai/node: NC01,unidesk.ai/lane: v03,unidesk.ai/web-probe-sentinel-id: nc01-web-probe-sentinel},annotations: &annotations {unidesk.ai/source-commit: bfa2ac8fac0149bb7696e9f1aa9c92c3af5117fa,hwlab.pikastech.local/source-commit: bfa2ac8fac0149bb7696e9f1aa9c92c3af5117fa}},spec: {replicas: 1,selector: {matchLabels: {app.kubernetes.io/name: hwlab-web-probe-sentinel-nc01}},template: {metadata: {labels: *labels,annotations: *annotations},spec: {serviceAccountName: hwlab-web-probe-sentinel-nc01,containers: [{name: sentinel,image: 127.0.0.1:5000/hwlab/web-probe-sentinel-nc01@sha256:ba708594aed027a4cc51687cd579635fd29a96e1afd6643bb9583b1d393854da,imagePullPolicy: IfNotPresent,args: ["--node",NC01,"--lane",v03,"--sentinel",nc01-web-probe-sentinel,"--state-root",/var/lib/web-probe-sentinel-nc01,"--host",0.0.0.0,"--port","8080"],env: [{name: UNIDESK_WEB_PROBE_SENTINEL_ID,value: nc01-web-probe-sentinel},{name: UNIDESK_SOURCE_COMMIT,value: bfa2ac8fac0149bb7696e9f1aa9c92c3af5117fa},{name: WEB_PROBE_SENTINEL_SOURCE_COMMIT,value: bfa2ac8fac0149bb7696e9f1aa9c92c3af5117fa},{name: OTEL_EXPORTER_OTLP_TRACES_ENDPOINT,value: http://otel-collector.platform-infra.svc.cluster.local:4318/v1/traces},{name: OTEL_SERVICE_NAME,value: hwlab-web-probe-sentinel-nc01},{name: OTEL_TRACES_SAMPLER,value: parentbased_traceidratio},{name: OTEL_TRACES_SAMPLER_ARG,value: "1"},{name: HWLAB_BOOTSTRAP_ADMIN_PASSWORD,valueFrom: {secretKeyRef: {name: hwlab-web-probe-sentinel-nc01-bootstrap,key: bootstrap-admin-password}}},{name: DSFLASH_GO_TOOL_CALL_10X_PROMPTS_JSON,valueFrom: {secretKeyRef: {name: hwlab-web-probe-sentinel-nc01-prompt-set,key: prompts.json}}},{name: HWLAB_WEB_ACCOUNT_A_JSON,valueFrom: {secretKeyRef: {name: hwlab-web-probe-sentinel-nc01-accounts,key: account-a.json}}},{name: HWLAB_WEB_ACCOUNT_B_JSON,valueFrom: {secretKeyRef: {name: hwlab-web-probe-sentinel-nc01-accounts,key: account-b.json}}}],ports: [{name: http,containerPort: 8080}],readinessProbe: {httpGet: {path: /api/health,port: http}},livenessProbe: {httpGet: {path: /api/health,port: http}},volumeMounts: [{name: state,mountPath: /var/lib/web-probe-sentinel-nc01}]}],volumes: [{name: state,persistentVolumeClaim: {claimName: hwlab-web-probe-sentinel-nc01-state}}]}}}}
---
{apiVersion: v1,kind: Service,metadata: {name: hwlab-web-probe-sentinel-nc01,namespace: hwlab-v03,labels: {app.kubernetes.io/name: hwlab-web-probe-sentinel-nc01,app.kubernetes.io/part-of: hwlab-web-probe-sentinel,app.kubernetes.io/managed-by: unidesk,unidesk.ai/spec-ref: PJ2026-01060508,unidesk.ai/node: NC01,unidesk.ai/lane: v03,unidesk.ai/web-probe-sentinel-id: nc01-web-probe-sentinel}},spec: {type: ClusterIP,selector: {app.kubernetes.io/name: hwlab-web-probe-sentinel-nc01},ports: [{name: http,port: 8080,targetPort: http}]}}
---
{apiVersion: batch/v1,kind: CronJob,metadata: {name: hwlab-web-probe-sentinel-nc01-quick-verify,namespace: hwlab-v03,labels: &labels {app.kubernetes.io/name: hwlab-web-probe-sentinel-nc01-quick-verify,app.kubernetes.io/part-of: hwlab-web-probe-sentinel,app.kubernetes.io/component: cadence-scheduler,app.kubernetes.io/managed-by: unidesk,unidesk.ai/spec-ref: PJ2026-01060508,unidesk.ai/node: NC01,unidesk.ai/lane: v03,unidesk.ai/web-probe-sentinel-id: nc01-web-probe-sentinel},annotations: {unidesk.ai/cadence: 10m,unidesk.ai/target-validation-max-seconds: "600",unidesk.ai/source: targetValidation.cadenceScheduler}},spec: {schedule: "*/10 * * * *",concurrencyPolicy: Forbid,successfulJobsHistoryLimit: 3,failedJobsHistoryLimit: 5,startingDeadlineSeconds: 600,jobTemplate: {spec: {activeDeadlineSeconds: 660,ttlSecondsAfterFinished: 86400,backoffLimit: 0,template: {metadata: {labels: *labels},spec: {restartPolicy: Never,serviceAccountName: hwlab-web-probe-sentinel-nc01,containers: [{name: quick-verify,image: 127.0.0.1:5000/hwlab/web-probe-sentinel-nc01@sha256:5511bd03a4a409876c68fa98b9a7f371ec2e757f8ae28761e334807e4c77f496,imagePullPolicy: IfNotPresent,command: [bun,scripts/cli.ts],args: [web-probe,sentinel,validate,"--node",NC01,"--lane",v03,"--sentinel",nc01-web-probe-sentinel,"--quick-verify","--confirm","--wait","--timeout-seconds","600"],env: [{name: UNIDESK_WEB_PROBE_SENTINEL_ID,value: nc01-web-probe-sentinel},{name: UNIDESK_SOURCE_COMMIT,value: 9a5976f7b4d12452fdc6bf86000fab0853fa4c3a},{name: WEB_PROBE_SENTINEL_SOURCE_COMMIT,value: 9a5976f7b4d12452fdc6bf86000fab0853fa4c3a},{name: OTEL_EXPORTER_OTLP_TRACES_ENDPOINT,value: http://otel-collector.platform-infra.svc.cluster.local:4318/v1/traces},{name: OTEL_SERVICE_NAME,value: hwlab-web-probe-sentinel-nc01},{name: OTEL_TRACES_SAMPLER,value: parentbased_traceidratio},{name: OTEL_TRACES_SAMPLER_ARG,value: "1"},{name: HWLAB_BOOTSTRAP_ADMIN_PASSWORD,valueFrom: {secretKeyRef: {name: hwlab-web-probe-sentinel-nc01-bootstrap,key: bootstrap-admin-password}}},{name: DSFLASH_GO_TOOL_CALL_10X_PROMPTS_JSON,valueFrom: {secretKeyRef: {name: hwlab-web-probe-sentinel-nc01-prompt-set,key: prompts.json}}},{name: HWLAB_WEB_ACCOUNT_A_JSON,valueFrom: {secretKeyRef: {name: hwlab-web-probe-sentinel-nc01-accounts,key: account-a.json}}},{name: HWLAB_WEB_ACCOUNT_B_JSON,valueFrom: {secretKeyRef: {name: hwlab-web-probe-sentinel-nc01-accounts,key: account-b.json}}},{name: UNIDESK_WEB_PROBE_SENTINEL_DIRECT_SERVICE,value: "1"}]}]}}}}}}
{apiVersion: batch/v1,kind: CronJob,metadata: {name: hwlab-web-probe-sentinel-nc01-quick-verify,namespace: hwlab-v03,labels: &labels {app.kubernetes.io/name: hwlab-web-probe-sentinel-nc01-quick-verify,app.kubernetes.io/part-of: hwlab-web-probe-sentinel,app.kubernetes.io/component: cadence-scheduler,app.kubernetes.io/managed-by: unidesk,unidesk.ai/spec-ref: PJ2026-01060508,unidesk.ai/node: NC01,unidesk.ai/lane: v03,unidesk.ai/web-probe-sentinel-id: nc01-web-probe-sentinel},annotations: {unidesk.ai/cadence: 10m,unidesk.ai/target-validation-max-seconds: "600",unidesk.ai/source: targetValidation.cadenceScheduler}},spec: {schedule: "*/10 * * * *",concurrencyPolicy: Forbid,successfulJobsHistoryLimit: 3,failedJobsHistoryLimit: 5,startingDeadlineSeconds: 600,jobTemplate: {spec: {activeDeadlineSeconds: 660,ttlSecondsAfterFinished: 86400,backoffLimit: 0,template: {metadata: {labels: *labels},spec: {restartPolicy: Never,serviceAccountName: hwlab-web-probe-sentinel-nc01,containers: [{name: quick-verify,image: 127.0.0.1:5000/hwlab/web-probe-sentinel-nc01@sha256:ba708594aed027a4cc51687cd579635fd29a96e1afd6643bb9583b1d393854da,imagePullPolicy: IfNotPresent,command: [bun,scripts/cli.ts],args: [web-probe,sentinel,validate,"--node",NC01,"--lane",v03,"--sentinel",nc01-web-probe-sentinel,"--quick-verify","--confirm","--wait","--timeout-seconds","600"],env: [{name: UNIDESK_WEB_PROBE_SENTINEL_ID,value: nc01-web-probe-sentinel},{name: UNIDESK_SOURCE_COMMIT,value: bfa2ac8fac0149bb7696e9f1aa9c92c3af5117fa},{name: WEB_PROBE_SENTINEL_SOURCE_COMMIT,value: bfa2ac8fac0149bb7696e9f1aa9c92c3af5117fa},{name: OTEL_EXPORTER_OTLP_TRACES_ENDPOINT,value: http://otel-collector.platform-infra.svc.cluster.local:4318/v1/traces},{name: OTEL_SERVICE_NAME,value: hwlab-web-probe-sentinel-nc01},{name: OTEL_TRACES_SAMPLER,value: parentbased_traceidratio},{name: OTEL_TRACES_SAMPLER_ARG,value: "1"},{name: HWLAB_BOOTSTRAP_ADMIN_PASSWORD,valueFrom: {secretKeyRef: {name: hwlab-web-probe-sentinel-nc01-bootstrap,key: bootstrap-admin-password}}},{name: DSFLASH_GO_TOOL_CALL_10X_PROMPTS_JSON,valueFrom: {secretKeyRef: {name: hwlab-web-probe-sentinel-nc01-prompt-set,key: prompts.json}}},{name: HWLAB_WEB_ACCOUNT_A_JSON,valueFrom: {secretKeyRef: {name: hwlab-web-probe-sentinel-nc01-accounts,key: account-a.json}}},{name: HWLAB_WEB_ACCOUNT_B_JSON,valueFrom: {secretKeyRef: {name: hwlab-web-probe-sentinel-nc01-accounts,key: account-b.json}}},{name: UNIDESK_WEB_PROBE_SENTINEL_DIRECT_SERVICE,value: "1"}]}]}}}}}}
---
{apiVersion: apps/v1,kind: Deployment,metadata: {name: hwlab-web-probe-sentinel-nc01-frpc,namespace: hwlab-v03,labels: {app.kubernetes.io/name: hwlab-web-probe-sentinel-nc01,app.kubernetes.io/part-of: hwlab-web-probe-sentinel,app.kubernetes.io/managed-by: unidesk,unidesk.ai/spec-ref: PJ2026-01060508,unidesk.ai/node: NC01,unidesk.ai/lane: v03,unidesk.ai/web-probe-sentinel-id: nc01-web-probe-sentinel,app.kubernetes.io/component: tunnel}},spec: {replicas: 1,selector: {matchLabels: {app.kubernetes.io/name: hwlab-web-probe-sentinel-nc01-frpc}},template: {metadata: {labels: {app.kubernetes.io/name: hwlab-web-probe-sentinel-nc01-frpc,app.kubernetes.io/part-of: hwlab-web-probe-sentinel,app.kubernetes.io/managed-by: unidesk,unidesk.ai/spec-ref: PJ2026-01060508,unidesk.ai/node: NC01,unidesk.ai/lane: v03,unidesk.ai/web-probe-sentinel-id: nc01-web-probe-sentinel,app.kubernetes.io/component: tunnel},annotations: {unidesk.ai/public-base-url: https://monitor.pikapython.com,unidesk.ai/frp-server: 82.156.23.220:22000,unidesk.ai/frp-remote-port: "22084"}},spec: {containers: [{name: frpc,image: 127.0.0.1:5000/hwlab/frpc:v0.68.1,imagePullPolicy: IfNotPresent,args: ["-c",/etc/frp/frpc.toml],volumeMounts: [{name: frpc-config,mountPath: /etc/frp/frpc.toml,subPath: frpc.toml,readOnly: true}]}],volumes: [{name: frpc-config,secret: {secretName: hwlab-web-probe-sentinel-nc01-frpc}}]}}}}
---