diff --git a/deploy/gitops/node/d601/web-probe-sentinel-mdtodo/web-probe-sentinel.yaml b/deploy/gitops/node/d601/web-probe-sentinel-mdtodo/web-probe-sentinel.yaml new file mode 100644 index 00000000..3ef6fee5 --- /dev/null +++ b/deploy/gitops/node/d601/web-probe-sentinel-mdtodo/web-probe-sentinel.yaml @@ -0,0 +1,13 @@ +{apiVersion: v1,kind: ServiceAccount,metadata: {name: hwlab-web-probe-sentinel-mdtodo,namespace: hwlab-v03,labels: {app.kubernetes.io/name: hwlab-web-probe-sentinel-mdtodo,app.kubernetes.io/part-of: hwlab-web-probe-sentinel,app.kubernetes.io/managed-by: unidesk,unidesk.ai/spec-ref: PJ2026-01060508,unidesk.ai/node: D601,unidesk.ai/lane: v03,unidesk.ai/web-probe-sentinel-id: mdtodo-visual-regression}}} +--- +{apiVersion: v1,kind: PersistentVolumeClaim,metadata: {name: hwlab-web-probe-sentinel-mdtodo-state,namespace: hwlab-v03,labels: {app.kubernetes.io/name: hwlab-web-probe-sentinel-mdtodo,app.kubernetes.io/part-of: hwlab-web-probe-sentinel,app.kubernetes.io/managed-by: unidesk,unidesk.ai/spec-ref: PJ2026-01060508,unidesk.ai/node: D601,unidesk.ai/lane: v03,unidesk.ai/web-probe-sentinel-id: mdtodo-visual-regression}},spec: {accessModes: [ReadWriteOnce],resources: {requests: {storage: 10Gi}}}} +--- +{apiVersion: v1,kind: ConfigMap,metadata: {name: hwlab-web-probe-sentinel-mdtodo-config,namespace: hwlab-v03,labels: {app.kubernetes.io/name: hwlab-web-probe-sentinel-mdtodo,app.kubernetes.io/part-of: hwlab-web-probe-sentinel,app.kubernetes.io/managed-by: unidesk,unidesk.ai/spec-ref: PJ2026-01060508,unidesk.ai/node: D601,unidesk.ai/lane: v03,unidesk.ai/web-probe-sentinel-id: mdtodo-visual-regression}},data: {config-summary.json: "{\n \"specRef\": \"PJ2026-01060508 Web哨兵 draft-2026-06-25-p0-web-probe-sentinel\",\n \"node\": \"D601\",\n \"lane\": \"v03\",\n \"sentinelId\": \"mdtodo-visual-regression\",\n \"publicBaseUrl\": \"https://monitor.pikapython.com/sentinels/mdtodo-visual-regression\",\n \"routePrefix\": \"/sentinels/mdtodo-visual-regression\",\n \"gitopsPath\": \"deploy/gitops/node/d601/web-probe-sentinel-mdtodo\",\n \"valuesRedacted\": true\n}"}} +--- +{apiVersion: apps/v1,kind: Deployment,metadata: {name: hwlab-web-probe-sentinel-mdtodo,namespace: hwlab-v03,labels: &labels {app.kubernetes.io/name: hwlab-web-probe-sentinel-mdtodo,app.kubernetes.io/part-of: hwlab-web-probe-sentinel,app.kubernetes.io/managed-by: unidesk,unidesk.ai/spec-ref: PJ2026-01060508,unidesk.ai/node: D601,unidesk.ai/lane: v03,unidesk.ai/web-probe-sentinel-id: mdtodo-visual-regression}},spec: {replicas: 1,selector: {matchLabels: {app.kubernetes.io/name: hwlab-web-probe-sentinel-mdtodo}},template: {metadata: {labels: *labels},spec: {serviceAccountName: hwlab-web-probe-sentinel-mdtodo,containers: [{name: sentinel,image: 127.0.0.1:5000/hwlab/web-probe-sentinel-mdtodo@sha256:df155be9c229ead7b362a2726f53cd42987f7cd08b39a8e523adf9bf813086c4,imagePullPolicy: IfNotPresent,args: ["--node",D601,"--lane",v03,"--sentinel",mdtodo-visual-regression,"--state-root",/var/lib/web-probe-sentinel-mdtodo,"--host",0.0.0.0,"--port","8080"],env: [{name: UNIDESK_WEB_PROBE_SENTINEL_ID,value: mdtodo-visual-regression}],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-mdtodo}]}],volumes: [{name: state,persistentVolumeClaim: {claimName: hwlab-web-probe-sentinel-mdtodo-state}}]}}}} +--- +{apiVersion: v1,kind: Service,metadata: {name: hwlab-web-probe-sentinel-mdtodo,namespace: hwlab-v03,labels: {app.kubernetes.io/name: hwlab-web-probe-sentinel-mdtodo,app.kubernetes.io/part-of: hwlab-web-probe-sentinel,app.kubernetes.io/managed-by: unidesk,unidesk.ai/spec-ref: PJ2026-01060508,unidesk.ai/node: D601,unidesk.ai/lane: v03,unidesk.ai/web-probe-sentinel-id: mdtodo-visual-regression}},spec: {type: ClusterIP,selector: {app.kubernetes.io/name: hwlab-web-probe-sentinel-mdtodo},ports: [{name: http,port: 8080,targetPort: http}]}} +--- +{apiVersion: apps/v1,kind: Deployment,metadata: {name: hwlab-web-probe-sentinel-mdtodo-frpc,namespace: hwlab-v03,labels: {app.kubernetes.io/name: hwlab-web-probe-sentinel-mdtodo,app.kubernetes.io/part-of: hwlab-web-probe-sentinel,app.kubernetes.io/managed-by: unidesk,unidesk.ai/spec-ref: PJ2026-01060508,unidesk.ai/node: D601,unidesk.ai/lane: v03,unidesk.ai/web-probe-sentinel-id: mdtodo-visual-regression,app.kubernetes.io/component: tunnel}},spec: {replicas: 1,selector: {matchLabels: {app.kubernetes.io/name: hwlab-web-probe-sentinel-mdtodo-frpc}},template: {metadata: {labels: {app.kubernetes.io/name: hwlab-web-probe-sentinel-mdtodo-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: D601,unidesk.ai/lane: v03,unidesk.ai/web-probe-sentinel-id: mdtodo-visual-regression,app.kubernetes.io/component: tunnel},annotations: {unidesk.ai/public-base-url: https://monitor.pikapython.com/sentinels/mdtodo-visual-regression,unidesk.ai/frp-server: 82.156.23.220:22000,unidesk.ai/frp-remote-port: "22092"}},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-mdtodo-frpc}}]}}}} +--- +{apiVersion: networking.k8s.io/v1,kind: NetworkPolicy,metadata: {name: hwlab-web-probe-sentinel-mdtodo-egress,namespace: hwlab-v03,labels: {app.kubernetes.io/name: hwlab-web-probe-sentinel-mdtodo,app.kubernetes.io/part-of: hwlab-web-probe-sentinel,app.kubernetes.io/managed-by: unidesk,unidesk.ai/spec-ref: PJ2026-01060508,unidesk.ai/node: D601,unidesk.ai/lane: v03,unidesk.ai/web-probe-sentinel-id: mdtodo-visual-regression}},spec: {podSelector: {matchLabels: {app.kubernetes.io/name: hwlab-web-probe-sentinel-mdtodo}},policyTypes: [Ingress,Egress],ingress: [{from: [{namespaceSelector: {}}],ports: [{protocol: TCP,port: 8080}]}],egress: [{to: [{namespaceSelector: {}}]}]}}