From 65e869d94a052f302aae26853b07d948ced6afc4 Mon Sep 17 00:00:00 2001 From: HWLAB node GitOps Bot Date: Fri, 12 Jun 2026 18:56:41 +0000 Subject: [PATCH] chore: promote node GitOps source da0ca25 --- deploy/artifact-catalog.d601-v03.json | 114 +++---- .../node/d601/runtime-v03/deepseek-proxy.yaml | 50 +-- .../d601/runtime-v03/external-postgres.yaml | 43 ++- .../node/d601/runtime-v03/node-frpc.yaml | 2 +- .../node/d601/runtime-v03/observability.yaml | 284 ++++++++++++++++++ .../node/d601/runtime-v03/workloads.yaml | 210 ++++++------- 6 files changed, 513 insertions(+), 190 deletions(-) diff --git a/deploy/artifact-catalog.d601-v03.json b/deploy/artifact-catalog.d601-v03.json index c7d04de6..682d0252 100644 --- a/deploy/artifact-catalog.d601-v03.json +++ b/deploy/artifact-catalog.d601-v03.json @@ -5,12 +5,12 @@ "profile": "v03", "namespace": "hwlab-v03", "endpoint": "https://v03.hwpod.com", - "commitId": "e1566e22c882b98de00041fafccffa2ffdc02ee6", + "commitId": "da0ca251527430cc667983c1926bb71b03b42af2", "artifactState": "published", "publish": { "ciPublished": true, "registryVerified": true, - "provenance": "node-ci-artifact:hwlab-v03-ci-poll-e1566e22c882-collect", + "provenance": "node-ci-artifact:hwlab-v03-ci-poll-da0ca2515274-collect", "note": "Digest fields were copied from a successful DEV artifact publish report for this source commit." }, "healthContract": { @@ -38,7 +38,7 @@ "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env:env-b0c5874f30a9", "imageTag": "env-b0c5874f30a9", "digest": "sha256:4291c2884e03a7895e2be1f6a5e5b929f3e09fe91da243f5c463ef692377d33d", - "publishState": "published", + "publishState": "reused", "profile": "v03", "namespace": "hwlab-v03", "healthPath": "/health/live", @@ -49,13 +49,13 @@ "notPublishedReason": null, "buildCreatedAt": "2026-06-12T18:29:16.785Z", "buildSource": "git-mirror-http.devops-infra.svc.cluster.local:8080/pikasTech/HWLAB@env:b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050", - "buildBackend": "buildkit-env-reuse", + "buildBackend": "reused-env-catalog", "componentCommitId": "56581a4373ef4273583e26e9938112f15fea15d6", "componentInputHash": "1939c4413344bc1d0c5398d776da55975eb179319ed1b81044ef288b27d1e043", "runtimeMode": "env-reuse-git-mirror-checkout", "envReuse": true, - "envChanged": true, - "codeChanged": true, + "envChanged": false, + "codeChanged": false, "environmentImage": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env:env-b0c5874f30a9", "environmentDigest": "sha256:4291c2884e03a7895e2be1f6a5e5b929f3e09fe91da243f5c463ef692377d33d", "environmentInputHash": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050", @@ -82,17 +82,17 @@ "baseImageReference": "127.0.0.1:5000/hwlab/hwlab-node20-base:20-bookworm-slim", "baseImageDigest": null, "buildArgsHash": "445d32282d642d5089290ffe5f621ccea3206cf1d9f11b24091f82a4434cbcd5", - "ciAffected": true, + "ciAffected": false, "ciReason": [ - "environment-input-changed", - "code-input-changed", - "build-system-changed" + "gitops-only-no-image-build" ], "reuse": { - "status": "not-reused", - "reason": "environment-affected" + "status": "ready", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env:env-b0c5874f30a9", + "digest": "sha256:4291c2884e03a7895e2be1f6a5e5b929f3e09fe91da243f5c463ef692377d33d", + "reusedFrom": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050" }, - "reusedFrom": null + "reusedFrom": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050" }, { "serviceId": "hwlab-cloud-web", @@ -101,7 +101,7 @@ "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web-env:env-b0c5874f30a9", "imageTag": "env-b0c5874f30a9", "digest": "sha256:a53c710c92c5253c1feca456294058c6a1e45ff6b6e0440ebc0794ad24e4337c", - "publishState": "published", + "publishState": "reused", "profile": "v03", "namespace": "hwlab-v03", "healthPath": "/health/live", @@ -112,13 +112,13 @@ "notPublishedReason": null, "buildCreatedAt": "2026-06-12T18:29:15.573Z", "buildSource": "git-mirror-http.devops-infra.svc.cluster.local:8080/pikasTech/HWLAB@env:b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050", - "buildBackend": "buildkit-env-reuse", + "buildBackend": "reused-env-catalog", "componentCommitId": "56581a4373ef4273583e26e9938112f15fea15d6", "componentInputHash": "2222ac86ab645ddbf375d46f48b76625914cad5e6d2c3b2d0d51ca2cbc7ac16c", "runtimeMode": "env-reuse-git-mirror-checkout", "envReuse": true, - "envChanged": true, - "codeChanged": true, + "envChanged": false, + "codeChanged": false, "environmentImage": "127.0.0.1:5000/hwlab/hwlab-cloud-web-env:env-b0c5874f30a9", "environmentDigest": "sha256:a53c710c92c5253c1feca456294058c6a1e45ff6b6e0440ebc0794ad24e4337c", "environmentInputHash": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050", @@ -145,17 +145,17 @@ "baseImageReference": "127.0.0.1:5000/hwlab/hwlab-node20-base:20-bookworm-slim", "baseImageDigest": null, "buildArgsHash": "39effb18af665e5e286cca9f84ef2a30f577ad11c9acca098589b7ee37f6950c", - "ciAffected": true, + "ciAffected": false, "ciReason": [ - "environment-input-changed", - "code-input-changed", - "build-system-changed" + "gitops-only-no-image-build" ], "reuse": { - "status": "not-reused", - "reason": "environment-affected" + "status": "ready", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web-env:env-b0c5874f30a9", + "digest": "sha256:a53c710c92c5253c1feca456294058c6a1e45ff6b6e0440ebc0794ad24e4337c", + "reusedFrom": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050" }, - "reusedFrom": null + "reusedFrom": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050" }, { "serviceId": "hwlab-gateway", @@ -164,7 +164,7 @@ "image": "127.0.0.1:5000/hwlab/hwlab-gateway-env:env-b0c5874f30a9", "imageTag": "env-b0c5874f30a9", "digest": "sha256:30aabe46d235788ebd7c59258f8b47217a6e79a9b1360a765db10d7f85fef1f3", - "publishState": "published", + "publishState": "reused", "profile": "v03", "namespace": "hwlab-v03", "healthPath": "/health/live", @@ -175,13 +175,13 @@ "notPublishedReason": null, "buildCreatedAt": "2026-06-12T18:29:16.787Z", "buildSource": "git-mirror-http.devops-infra.svc.cluster.local:8080/pikasTech/HWLAB@env:b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050", - "buildBackend": "buildkit-env-reuse", + "buildBackend": "reused-env-catalog", "componentCommitId": "56581a4373ef4273583e26e9938112f15fea15d6", "componentInputHash": "5bce8935993559e2e6516171fe8fab213eb288e4a7de7337473e74fa13b687b9", "runtimeMode": "env-reuse-git-mirror-checkout", "envReuse": true, - "envChanged": true, - "codeChanged": true, + "envChanged": false, + "codeChanged": false, "environmentImage": "127.0.0.1:5000/hwlab/hwlab-gateway-env:env-b0c5874f30a9", "environmentDigest": "sha256:30aabe46d235788ebd7c59258f8b47217a6e79a9b1360a765db10d7f85fef1f3", "environmentInputHash": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050", @@ -208,17 +208,17 @@ "baseImageReference": "127.0.0.1:5000/hwlab/hwlab-node20-base:20-bookworm-slim", "baseImageDigest": null, "buildArgsHash": "3fed509f00ba3448138a999f51dad3d38b822bb4a5c152011e3e57526972fd41", - "ciAffected": true, + "ciAffected": false, "ciReason": [ - "environment-input-changed", - "code-input-changed", - "build-system-changed" + "gitops-only-no-image-build" ], "reuse": { - "status": "not-reused", - "reason": "environment-affected" + "status": "ready", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-env:env-b0c5874f30a9", + "digest": "sha256:30aabe46d235788ebd7c59258f8b47217a6e79a9b1360a765db10d7f85fef1f3", + "reusedFrom": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050" }, - "reusedFrom": null + "reusedFrom": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050" }, { "serviceId": "hwlab-edge-proxy", @@ -227,7 +227,7 @@ "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy-env:env-b0c5874f30a9", "imageTag": "env-b0c5874f30a9", "digest": "sha256:0679fba942cb6b4580fb5dc1d24f6e37942a333c98050d262a41dffa4f82fe6a", - "publishState": "published", + "publishState": "reused", "profile": "v03", "namespace": "hwlab-v03", "healthPath": "/health/live", @@ -238,13 +238,13 @@ "notPublishedReason": null, "buildCreatedAt": "2026-06-12T18:29:16.875Z", "buildSource": "git-mirror-http.devops-infra.svc.cluster.local:8080/pikasTech/HWLAB@env:b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050", - "buildBackend": "buildkit-env-reuse", + "buildBackend": "reused-env-catalog", "componentCommitId": "56581a4373ef4273583e26e9938112f15fea15d6", "componentInputHash": "c0868e6f94cc7ddc1169bfccff149ced4d1db11ae64a58aefc570123e03a4f1d", "runtimeMode": "env-reuse-git-mirror-checkout", "envReuse": true, - "envChanged": true, - "codeChanged": true, + "envChanged": false, + "codeChanged": false, "environmentImage": "127.0.0.1:5000/hwlab/hwlab-edge-proxy-env:env-b0c5874f30a9", "environmentDigest": "sha256:0679fba942cb6b4580fb5dc1d24f6e37942a333c98050d262a41dffa4f82fe6a", "environmentInputHash": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050", @@ -271,17 +271,17 @@ "baseImageReference": "127.0.0.1:5000/hwlab/hwlab-node20-base:20-bookworm-slim", "baseImageDigest": null, "buildArgsHash": "8ff027eecc22049f7a368c9d01ccdcff523b860538d1c284d01068a67395f8e7", - "ciAffected": true, + "ciAffected": false, "ciReason": [ - "environment-input-changed", - "code-input-changed", - "build-system-changed" + "gitops-only-no-image-build" ], "reuse": { - "status": "not-reused", - "reason": "environment-affected" + "status": "ready", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy-env:env-b0c5874f30a9", + "digest": "sha256:0679fba942cb6b4580fb5dc1d24f6e37942a333c98050d262a41dffa4f82fe6a", + "reusedFrom": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050" }, - "reusedFrom": null + "reusedFrom": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050" }, { "serviceId": "hwlab-agent-skills", @@ -290,7 +290,7 @@ "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills-env:env-b0c5874f30a9", "imageTag": "env-b0c5874f30a9", "digest": "sha256:f5e71b0e02756f25ea1e82c36dc34aa79caeb17e25d222e94f1be44106b19664", - "publishState": "published", + "publishState": "reused", "profile": "v03", "namespace": "hwlab-v03", "healthPath": "/health/live", @@ -301,13 +301,13 @@ "notPublishedReason": null, "buildCreatedAt": "2026-06-12T18:29:16.642Z", "buildSource": "git-mirror-http.devops-infra.svc.cluster.local:8080/pikasTech/HWLAB@env:b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050", - "buildBackend": "buildkit-env-reuse", + "buildBackend": "reused-env-catalog", "componentCommitId": "56581a4373ef4273583e26e9938112f15fea15d6", "componentInputHash": "c65de456af26be9fe655c549fbbd2070d8bcc7fcf227d1c6f8b94b10df18c42d", "runtimeMode": "env-reuse-git-mirror-checkout", "envReuse": true, - "envChanged": true, - "codeChanged": true, + "envChanged": false, + "codeChanged": false, "environmentImage": "127.0.0.1:5000/hwlab/hwlab-agent-skills-env:env-b0c5874f30a9", "environmentDigest": "sha256:f5e71b0e02756f25ea1e82c36dc34aa79caeb17e25d222e94f1be44106b19664", "environmentInputHash": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050", @@ -334,17 +334,17 @@ "baseImageReference": "127.0.0.1:5000/hwlab/hwlab-node20-base:20-bookworm-slim", "baseImageDigest": null, "buildArgsHash": "d5e50a18e70c6a8b4896e527fa07b5dd2c85458ed9ef512c1d46775ef4e40a10", - "ciAffected": true, + "ciAffected": false, "ciReason": [ - "environment-input-changed", - "code-input-changed", - "build-system-changed" + "gitops-only-no-image-build" ], "reuse": { - "status": "not-reused", - "reason": "environment-affected" + "status": "ready", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills-env:env-b0c5874f30a9", + "digest": "sha256:f5e71b0e02756f25ea1e82c36dc34aa79caeb17e25d222e94f1be44106b19664", + "reusedFrom": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050" }, - "reusedFrom": null + "reusedFrom": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050" } ], "serviceInventory": { diff --git a/deploy/gitops/node/d601/runtime-v03/deepseek-proxy.yaml b/deploy/gitops/node/d601/runtime-v03/deepseek-proxy.yaml index c9e2ba39..efa6f695 100644 --- a/deploy/gitops/node/d601/runtime-v03/deepseek-proxy.yaml +++ b/deploy/gitops/node/d601/runtime-v03/deepseek-proxy.yaml @@ -40,16 +40,16 @@ "annotations": { "hwlab.pikastech.local/moonbridge-source-ref": "1b99888d3dae889b79ee602cb875c7907f7e76f2", "hwlab.pikastech.local/bridge-service-id": "hwlab-cloud-api", - "hwlab.pikastech.local/source-commit": "f3a8615bd5af9b20ae6b0aa7c83b5f6a2942c126", - "hwlab.pikastech.local/bridge-source-commit": "f3a8615bd5af9b20ae6b0aa7c83b5f6a2942c126", - "hwlab.pikastech.local/bridge-image-tag": "env-cc508eb657a4", - "hwlab.pikastech.local/bridge-image": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env@sha256:36005f0676a3aa36b27d20b931a515072a7448a42d39f0160faea1c2a82ddc36", + "hwlab.pikastech.local/source-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", + "hwlab.pikastech.local/bridge-source-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", + "hwlab.pikastech.local/bridge-image-tag": "env-b0c5874f30a9", + "hwlab.pikastech.local/bridge-image": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env@sha256:4291c2884e03a7895e2be1f6a5e5b929f3e09fe91da243f5c463ef692377d33d", "hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4", "hwlab.pikastech.local/bridge-runtime-mode": "env-reuse-git-mirror-checkout", "hwlab.pikastech.local/bridge-boot-repo": "git@github.com:pikasTech/HWLAB.git", - "hwlab.pikastech.local/bridge-boot-commit": "f3a8615bd5af9b20ae6b0aa7c83b5f6a2942c126", + "hwlab.pikastech.local/bridge-boot-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", "hwlab.pikastech.local/bridge-boot-sh": "deploy/runtime/boot/hwlab-deepseek-responses-bridge.sh", - "hwlab.pikastech.local/bridge-environment-digest": "sha256:36005f0676a3aa36b27d20b931a515072a7448a42d39f0160faea1c2a82ddc36" + "hwlab.pikastech.local/bridge-environment-digest": "sha256:4291c2884e03a7895e2be1f6a5e5b929f3e09fe91da243f5c463ef692377d33d" } }, "spec": { @@ -67,31 +67,31 @@ "hwlab.pikastech.local/environment": "v03", "hwlab.pikastech.local/gitops-target": "v03", "hwlab.pikastech.local/service-id": "hwlab-deepseek-proxy", - "hwlab.pikastech.local/source-commit": "f3a8615bd5af9b20ae6b0aa7c83b5f6a2942c126", + "hwlab.pikastech.local/source-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", "hwlab.pikastech.local/monitoring": "enabled", - "hwlab.pikastech.local/bridge-source-commit": "f3a8615bd5af9b20ae6b0aa7c83b5f6a2942c126", + "hwlab.pikastech.local/bridge-source-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", "hwlab.pikastech.local/bridge-runtime-mode": "env-reuse-git-mirror-checkout", - "hwlab.pikastech.local/bridge-boot-commit": "f3a8615bd5af9b20ae6b0aa7c83b5f6a2942c126" + "hwlab.pikastech.local/bridge-boot-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, "annotations": { "hwlab.pikastech.local/bridge-service-id": "hwlab-cloud-api", - "hwlab.pikastech.local/source-commit": "f3a8615bd5af9b20ae6b0aa7c83b5f6a2942c126", - "hwlab.pikastech.local/bridge-source-commit": "f3a8615bd5af9b20ae6b0aa7c83b5f6a2942c126", - "hwlab.pikastech.local/bridge-image-tag": "env-cc508eb657a4", - "hwlab.pikastech.local/bridge-image": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env@sha256:36005f0676a3aa36b27d20b931a515072a7448a42d39f0160faea1c2a82ddc36", + "hwlab.pikastech.local/source-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", + "hwlab.pikastech.local/bridge-source-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", + "hwlab.pikastech.local/bridge-image-tag": "env-b0c5874f30a9", + "hwlab.pikastech.local/bridge-image": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env@sha256:4291c2884e03a7895e2be1f6a5e5b929f3e09fe91da243f5c463ef692377d33d", "hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4", "hwlab.pikastech.local/bridge-runtime-mode": "env-reuse-git-mirror-checkout", "hwlab.pikastech.local/bridge-boot-repo": "git@github.com:pikasTech/HWLAB.git", - "hwlab.pikastech.local/bridge-boot-commit": "f3a8615bd5af9b20ae6b0aa7c83b5f6a2942c126", + "hwlab.pikastech.local/bridge-boot-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", "hwlab.pikastech.local/bridge-boot-sh": "deploy/runtime/boot/hwlab-deepseek-responses-bridge.sh", - "hwlab.pikastech.local/bridge-environment-digest": "sha256:36005f0676a3aa36b27d20b931a515072a7448a42d39f0160faea1c2a82ddc36" + "hwlab.pikastech.local/bridge-environment-digest": "sha256:4291c2884e03a7895e2be1f6a5e5b929f3e09fe91da243f5c463ef692377d33d" } }, "spec": { "initContainers": [ { "name": "moonbridge-config", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env@sha256:36005f0676a3aa36b27d20b931a515072a7448a42d39f0160faea1c2a82ddc36", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env@sha256:4291c2884e03a7895e2be1f6a5e5b929f3e09fe91da243f5c463ef692377d33d", "imagePullPolicy": "IfNotPresent", "command": [ "/bin/sh", @@ -136,7 +136,7 @@ "containers": [ { "name": "responses-bridge", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env@sha256:36005f0676a3aa36b27d20b931a515072a7448a42d39f0160faea1c2a82ddc36", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env@sha256:4291c2884e03a7895e2be1f6a5e5b929f3e09fe91da243f5c463ef692377d33d", "imagePullPolicy": "IfNotPresent", "env": [ { @@ -145,15 +145,15 @@ }, { "name": "HWLAB_COMMIT_ID", - "value": "f3a8615bd5af9b20ae6b0aa7c83b5f6a2942c126" + "value": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, { "name": "HWLAB_IMAGE", - "value": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env@sha256:36005f0676a3aa36b27d20b931a515072a7448a42d39f0160faea1c2a82ddc36" + "value": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env@sha256:4291c2884e03a7895e2be1f6a5e5b929f3e09fe91da243f5c463ef692377d33d" }, { "name": "HWLAB_IMAGE_TAG", - "value": "env-cc508eb657a4" + "value": "env-b0c5874f30a9" }, { "name": "HWLAB_DEEPSEEK_BRIDGE_UPSTREAM", @@ -173,7 +173,7 @@ }, { "name": "HWLAB_BOOT_COMMIT", - "value": "f3a8615bd5af9b20ae6b0aa7c83b5f6a2942c126" + "value": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, { "name": "HWLAB_BOOT_REF", @@ -189,15 +189,15 @@ }, { "name": "HWLAB_ENVIRONMENT_IMAGE", - "value": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env:env-cc508eb657a4" + "value": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env:env-b0c5874f30a9" }, { "name": "HWLAB_ENVIRONMENT_DIGEST", - "value": "sha256:36005f0676a3aa36b27d20b931a515072a7448a42d39f0160faea1c2a82ddc36" + "value": "sha256:4291c2884e03a7895e2be1f6a5e5b929f3e09fe91da243f5c463ef692377d33d" }, { "name": "HWLAB_ENVIRONMENT_INPUT_HASH", - "value": "9495896df9181f06492b0a0f8673eb5dd7e951b756e66e35bda0fd101a14e74a" + "value": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050" }, { "name": "HWLAB_CODE_INPUT_HASH", @@ -205,7 +205,7 @@ }, { "name": "HWLAB_IMAGE_DIGEST", - "value": "sha256:36005f0676a3aa36b27d20b931a515072a7448a42d39f0160faea1c2a82ddc36" + "value": "sha256:4291c2884e03a7895e2be1f6a5e5b929f3e09fe91da243f5c463ef692377d33d" } ], "ports": [ diff --git a/deploy/gitops/node/d601/runtime-v03/external-postgres.yaml b/deploy/gitops/node/d601/runtime-v03/external-postgres.yaml index 5fcc8fa5..745d7e28 100644 --- a/deploy/gitops/node/d601/runtime-v03/external-postgres.yaml +++ b/deploy/gitops/node/d601/runtime-v03/external-postgres.yaml @@ -6,10 +6,10 @@ "apiVersion": "v1", "kind": "Service", "metadata": { - "name": "g14-platform-postgres", + "name": "pk01-platform-postgres", "namespace": "hwlab-v03", "labels": { - "app.kubernetes.io/name": "g14-platform-postgres", + "app.kubernetes.io/name": "pk01-platform-postgres", "app.kubernetes.io/part-of": "hwlab", "hwlab.pikastech.local/component": "platform-db-bridge", "hwlab.pikastech.local/environment": "v03", @@ -32,6 +32,45 @@ } ] } + }, + { + "apiVersion": "discovery.k8s.io/v1", + "kind": "EndpointSlice", + "metadata": { + "name": "pk01-platform-postgres-host", + "namespace": "hwlab-v03", + "labels": { + "app.kubernetes.io/name": "pk01-platform-postgres", + "app.kubernetes.io/part-of": "hwlab", + "hwlab.pikastech.local/component": "platform-db-bridge", + "hwlab.pikastech.local/environment": "v03", + "hwlab.pikastech.local/gitops-target": "v03", + "hwlab.pikastech.local/profile": "v03", + "hwlab.pikastech.local/source-commit": "da0ca251527430cc667983c1926bb71b03b42af2", + "kubernetes.io/service-name": "pk01-platform-postgres" + }, + "annotations": { + "hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs" + } + }, + "addressType": "IPv4", + "ports": [ + { + "name": "postgres", + "port": 5432, + "protocol": "TCP" + } + ], + "endpoints": [ + { + "addresses": [ + "82.156.23.220" + ], + "conditions": { + "ready": true + } + } + ] } ] } diff --git a/deploy/gitops/node/d601/runtime-v03/node-frpc.yaml b/deploy/gitops/node/d601/runtime-v03/node-frpc.yaml index f1cbec79..9e7dd44f 100644 --- a/deploy/gitops/node/d601/runtime-v03/node-frpc.yaml +++ b/deploy/gitops/node/d601/runtime-v03/node-frpc.yaml @@ -63,7 +63,7 @@ "containers": [ { "name": "frpc", - "image": "127.0.0.1:5000/hwlab/frpc:v0.68.1", + "image": "fatedier/frpc:v0.68.1", "imagePullPolicy": "IfNotPresent", "args": [ "-c", diff --git a/deploy/gitops/node/d601/runtime-v03/observability.yaml b/deploy/gitops/node/d601/runtime-v03/observability.yaml index 25b1bc50..adc61f15 100644 --- a/deploy/gitops/node/d601/runtime-v03/observability.yaml +++ b/deploy/gitops/node/d601/runtime-v03/observability.yaml @@ -23,6 +23,290 @@ "data": { "metrics-sidecar.mjs": "import { createServer, request as httpRequest } from \"node:http\";\nimport { request as httpsRequest } from \"node:https\";\nimport { realpathSync } from \"node:fs\";\nimport { pathToFileURL } from \"node:url\";\n\nconst DEFAULT_PORT = 9100;\nconst DEFAULT_TARGET_TIMEOUT_MS = 2000;\nconst DEFAULT_EXTRA_METRICS_MAX_BYTES = 64 * 1024;\nconst startedAtMs = Date.now();\n\nexport function sanitizeLabelValue(value, fallback = \"unknown\") {\n const text = String(value ?? \"\").trim();\n const sanitized = text.replace(/[^A-Za-z0-9_.:-]/gu, \"_\").slice(0, 120);\n return sanitized || fallback;\n}\n\nexport function escapeLabelValue(value) {\n return String(value ?? \"\").replace(/\\\\/gu, \"\\\\\\\\\").replace(/\\n/gu, \"\\\\n\").replace(/\"/gu, \"\\\\\\\"\");\n}\n\nfunction metricLabels(env) {\n const service = sanitizeLabelValue(env.HWLAB_METRICS_SERVICE_ID || env.HWLAB_SERVICE_ID);\n const namespace = sanitizeLabelValue(env.HWLAB_METRICS_NAMESPACE || env.POD_NAMESPACE || \"hwlab-v02\");\n const gitopsTarget = sanitizeLabelValue(env.HWLAB_METRICS_GITOPS_TARGET || env.HWLAB_GITOPS_TARGET || \"v02\");\n return `service=\"${escapeLabelValue(service)}\",namespace=\"${escapeLabelValue(namespace)}\",gitops_target=\"${escapeLabelValue(gitopsTarget)}\"`;\n}\n\nexport function requestTarget({ targetUrl, timeoutMs = DEFAULT_TARGET_TIMEOUT_MS, collectBody = false, maxBodyBytes = DEFAULT_EXTRA_METRICS_MAX_BYTES } = {}) {\n const configured = typeof targetUrl === \"string\" && targetUrl.trim().length > 0;\n if (!configured) return Promise.resolve({ configured: false, success: false, statusCode: 0, durationSeconds: 0 });\n\n let url;\n try {\n url = new URL(targetUrl);\n } catch {\n return Promise.resolve({ configured: true, success: false, statusCode: 0, durationSeconds: 0 });\n }\n\n const requestImpl = url.protocol === \"https:\" ? httpsRequest : url.protocol === \"http:\" ? httpRequest : null;\n if (!requestImpl) return Promise.resolve({ configured: true, success: false, statusCode: 0, durationSeconds: 0 });\n\n const started = Date.now();\n return new Promise((resolve) => {\n const finish = (result) => resolve({\n configured: true,\n success: false,\n statusCode: 0,\n durationSeconds: (Date.now() - started) / 1000,\n ...result\n });\n const request = requestImpl(url, { method: \"GET\", timeout: timeoutMs }, (response) => {\n const chunks = [];\n let bytes = 0;\n if (collectBody) {\n response.on(\"data\", (chunk) => {\n const buffer = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);\n bytes += buffer.length;\n if (bytes <= maxBodyBytes) chunks.push(buffer);\n });\n } else {\n response.resume();\n }\n response.on(\"end\", () => finish({\n success: Boolean(response.statusCode && response.statusCode >= 200 && response.statusCode < 300),\n statusCode: response.statusCode || 0,\n body: collectBody ? Buffer.concat(chunks).toString(\"utf8\") : undefined,\n bodyBytes: collectBody ? Math.min(bytes, maxBodyBytes) : 0,\n truncated: collectBody ? bytes > maxBodyBytes : false\n }));\n });\n request.on(\"timeout\", () => request.destroy());\n request.on(\"error\", () => finish({}));\n request.end();\n });\n}\n\nexport async function probeExtraMetrics({ targetUrl, timeoutMs = DEFAULT_TARGET_TIMEOUT_MS, maxBodyBytes = DEFAULT_EXTRA_METRICS_MAX_BYTES, probeImpl = requestTarget } = {}) {\n const configured = typeof targetUrl === \"string\" && targetUrl.trim().length > 0;\n if (!configured || typeof probeImpl !== \"function\") {\n return { configured: false, success: false, statusCode: 0, durationSeconds: 0, text: \"\" };\n }\n try {\n const result = await probeImpl({ targetUrl, timeoutMs, collectBody: true, maxBodyBytes });\n return {\n configured: true,\n success: Boolean(result.success),\n statusCode: result.statusCode || 0,\n durationSeconds: result.durationSeconds || 0,\n text: result.success ? sanitizeExtraMetricsText(result.body || \"\") : \"\"\n };\n } catch {\n return { configured: true, success: false, statusCode: 0, durationSeconds: 0, text: \"\" };\n }\n}\n\nexport function sanitizeExtraMetricsText(text) {\n const lines = String(text ?? \"\").split(/\\r?\\n/gu);\n return lines.filter((line) => {\n if (!line) return true;\n if (/^#\\s+(?:HELP|TYPE)\\s+hwlab_[A-Za-z_:][A-Za-z0-9_:]*\\b/u.test(line)) return true;\n return /^hwlab_[A-Za-z_:][A-Za-z0-9_:]*(?:\\{[^\\n{}]*\\})?\\s+[-+0-9.eE]+$/u.test(line);\n }).join(\"\\n\");\n}\n\nexport async function probeTarget({ targetUrl, timeoutMs = DEFAULT_TARGET_TIMEOUT_MS, probeImpl = requestTarget } = {}) {\n const configured = typeof targetUrl === \"string\" && targetUrl.trim().length > 0;\n if (!configured || typeof probeImpl !== \"function\") {\n return { configured: false, success: false, statusCode: 0, durationSeconds: 0 };\n }\n try {\n return await probeImpl({ targetUrl, timeoutMs });\n } catch {\n const started = Date.now();\n return { configured: true, success: false, statusCode: 0, durationSeconds: (Date.now() - started) / 1000 };\n }\n}\n\nexport function buildMetricsText({ env = process.env, probe = null, extraMetrics = null, now = Date.now() } = {}) {\n const labels = metricLabels(env);\n const uptimeSeconds = Math.max(0, (now - startedAtMs) / 1000);\n const healthProbe = probe ?? { configured: false, success: false, statusCode: 0, durationSeconds: 0 };\n const extraProbe = extraMetrics ?? { configured: false, success: false, statusCode: 0, durationSeconds: 0, text: \"\" };\n const lines = [\n \"# HELP hwlab_service_up HWLAB metrics sidecar availability.\",\n \"# TYPE hwlab_service_up gauge\",\n `hwlab_service_up{${labels}} 1`,\n \"# HELP hwlab_service_info Static HWLAB service metrics identity without high-cardinality request identifiers.\",\n \"# TYPE hwlab_service_info gauge\",\n `hwlab_service_info{${labels}} 1`,\n \"# HELP hwlab_service_process_uptime_seconds Metrics sidecar process uptime in seconds.\",\n \"# TYPE hwlab_service_process_uptime_seconds gauge\",\n `hwlab_service_process_uptime_seconds{${labels}} ${uptimeSeconds.toFixed(3)}`,\n \"# HELP hwlab_service_health_probe_configured Whether the sidecar has a cluster-local health probe target.\",\n \"# TYPE hwlab_service_health_probe_configured gauge\",\n `hwlab_service_health_probe_configured{${labels}} ${healthProbe.configured ? 1 : 0}`,\n \"# HELP hwlab_service_health_probe_success Whether the most recent cluster-local health probe succeeded.\",\n \"# TYPE hwlab_service_health_probe_success gauge\",\n `hwlab_service_health_probe_success{${labels}} ${healthProbe.success ? 1 : 0}`,\n \"# HELP hwlab_service_health_probe_status_code Most recent cluster-local health probe HTTP status code, or 0 when unavailable.\",\n \"# TYPE hwlab_service_health_probe_status_code gauge\",\n `hwlab_service_health_probe_status_code{${labels}} ${Number.isInteger(healthProbe.statusCode) ? healthProbe.statusCode : 0}`,\n \"# HELP hwlab_service_health_probe_duration_seconds Most recent cluster-local health probe duration in seconds.\",\n \"# TYPE hwlab_service_health_probe_duration_seconds gauge\",\n `hwlab_service_health_probe_duration_seconds{${labels}} ${Number(healthProbe.durationSeconds || 0).toFixed(3)}`,\n \"# HELP hwlab_service_extra_metrics_configured Whether the sidecar has an additional cluster-local metrics target.\",\n \"# TYPE hwlab_service_extra_metrics_configured gauge\",\n `hwlab_service_extra_metrics_configured{${labels}} ${extraProbe.configured ? 1 : 0}`,\n \"# HELP hwlab_service_extra_metrics_success Whether the most recent additional metrics fetch succeeded.\",\n \"# TYPE hwlab_service_extra_metrics_success gauge\",\n `hwlab_service_extra_metrics_success{${labels}} ${extraProbe.success ? 1 : 0}`,\n \"# HELP hwlab_service_extra_metrics_status_code Most recent additional metrics HTTP status code, or 0 when unavailable.\",\n \"# TYPE hwlab_service_extra_metrics_status_code gauge\",\n `hwlab_service_extra_metrics_status_code{${labels}} ${Number.isInteger(extraProbe.statusCode) ? extraProbe.statusCode : 0}`,\n \"# HELP hwlab_service_extra_metrics_duration_seconds Most recent additional metrics fetch duration in seconds.\",\n \"# TYPE hwlab_service_extra_metrics_duration_seconds gauge\",\n `hwlab_service_extra_metrics_duration_seconds{${labels}} ${Number(extraProbe.durationSeconds || 0).toFixed(3)}`,\n \"\"\n ];\n if (extraProbe.text) {\n lines.push(extraProbe.text.trimEnd(), \"\");\n }\n return lines.join(\"\\n\");\n}\n\nfunction sendJson(response, statusCode, body) {\n const payload = JSON.stringify(body) + \"\\n\";\n response.writeHead(statusCode, {\n \"content-type\": \"application/json; charset=utf-8\",\n \"content-length\": Buffer.byteLength(payload)\n });\n response.end(payload);\n}\n\nexport function createMetricsSidecarServer({ env = process.env, probeImpl = requestTarget } = {}) {\n return createServer(async (request, response) => {\n const url = new URL(request.url || \"/\", \"http://hwlab-metrics.local\");\n if (request.method === \"GET\" && (url.pathname === \"/health\" || url.pathname === \"/health/live\")) {\n sendJson(response, 200, {\n serviceId: sanitizeLabelValue(env.HWLAB_METRICS_SERVICE_ID || env.HWLAB_SERVICE_ID),\n status: \"ok\",\n metricsPath: \"/metrics\"\n });\n return;\n }\n if (request.method === \"GET\" && url.pathname === \"/metrics\") {\n const timeoutMs = Number.parseInt(env.HWLAB_METRICS_TARGET_TIMEOUT_MS || \"\", 10) || DEFAULT_TARGET_TIMEOUT_MS;\n const probe = await probeTarget({ targetUrl: env.HWLAB_METRICS_TARGET_URL, timeoutMs, probeImpl });\n const extraTimeoutMs = Number.parseInt(env.HWLAB_METRICS_EXTRA_TIMEOUT_MS || \"\", 10) || DEFAULT_TARGET_TIMEOUT_MS;\n const extraMetrics = await probeExtraMetrics({ targetUrl: env.HWLAB_METRICS_EXTRA_URL, timeoutMs: extraTimeoutMs, probeImpl });\n const payload = buildMetricsText({ env, probe, extraMetrics });\n response.writeHead(200, {\n \"content-type\": \"text/plain; version=0.0.4; charset=utf-8\",\n \"content-length\": Buffer.byteLength(payload)\n });\n response.end(payload);\n return;\n }\n sendJson(response, 404, { error: \"not_found\", path: url.pathname });\n });\n}\n\nexport function startMetricsSidecar({ env = process.env } = {}) {\n const port = Number.parseInt(env.HWLAB_METRICS_PORT || env.PORT || \"\", 10) || DEFAULT_PORT;\n const server = createMetricsSidecarServer({ env });\n server.listen(port, \"0.0.0.0\", () => {\n process.stdout.write(JSON.stringify({ serviceId: env.HWLAB_METRICS_SERVICE_ID || \"hwlab-unknown\", status: \"metrics-listening\", port }) + \"\\n\");\n });\n return server;\n}\n\nexport function isMainModule({ moduleUrl = import.meta.url, argvPath = process.argv[1], realpath = realpathSync } = {}) {\n if (!argvPath) return false;\n if (moduleUrl === pathToFileURL(argvPath).href) return true;\n try {\n return moduleUrl === pathToFileURL(realpath(argvPath)).href;\n } catch {\n return false;\n }\n}\n\nif (isMainModule()) {\n startMetricsSidecar();\n}\n" } + }, + { + "apiVersion": "monitoring.coreos.com/v1", + "kind": "ServiceMonitor", + "metadata": { + "name": "hwlab-v03-hwlab-cloud-api", + "namespace": "hwlab-v03", + "labels": { + "hwlab.pikastech.local/gitops-target": "v03", + "hwlab.pikastech.local/source-commit": "da0ca251527430cc667983c1926bb71b03b42af2", + "hwlab.pikastech.local/environment": "v03", + "hwlab.pikastech.local/profile": "v03", + "app.kubernetes.io/part-of": "hwlab", + "hwlab.pikastech.local/monitoring": "enabled", + "hwlab.pikastech.local/service-id": "hwlab-cloud-api" + }, + "annotations": { + "hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs" + } + }, + "spec": { + "namespaceSelector": { + "matchNames": [ + "hwlab-v03" + ] + }, + "selector": { + "matchLabels": { + "hwlab.pikastech.local/gitops-target": "v03", + "hwlab.pikastech.local/monitoring": "enabled", + "hwlab.pikastech.local/service-id": "hwlab-cloud-api" + } + }, + "targetLabels": [ + "hwlab.pikastech.local/gitops-target", + "hwlab.pikastech.local/service-id" + ], + "endpoints": [ + { + "port": "metrics", + "path": "/metrics", + "interval": "30s", + "scrapeTimeout": "10s" + } + ] + } + }, + { + "apiVersion": "monitoring.coreos.com/v1", + "kind": "ServiceMonitor", + "metadata": { + "name": "hwlab-v03-hwlab-cloud-web", + "namespace": "hwlab-v03", + "labels": { + "hwlab.pikastech.local/gitops-target": "v03", + "hwlab.pikastech.local/source-commit": "da0ca251527430cc667983c1926bb71b03b42af2", + "hwlab.pikastech.local/environment": "v03", + "hwlab.pikastech.local/profile": "v03", + "app.kubernetes.io/part-of": "hwlab", + "hwlab.pikastech.local/monitoring": "enabled", + "hwlab.pikastech.local/service-id": "hwlab-cloud-web" + }, + "annotations": { + "hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs" + } + }, + "spec": { + "namespaceSelector": { + "matchNames": [ + "hwlab-v03" + ] + }, + "selector": { + "matchLabels": { + "hwlab.pikastech.local/gitops-target": "v03", + "hwlab.pikastech.local/monitoring": "enabled", + "hwlab.pikastech.local/service-id": "hwlab-cloud-web" + } + }, + "targetLabels": [ + "hwlab.pikastech.local/gitops-target", + "hwlab.pikastech.local/service-id" + ], + "endpoints": [ + { + "port": "metrics", + "path": "/metrics", + "interval": "30s", + "scrapeTimeout": "10s" + } + ] + } + }, + { + "apiVersion": "monitoring.coreos.com/v1", + "kind": "ServiceMonitor", + "metadata": { + "name": "hwlab-v03-hwlab-edge-proxy", + "namespace": "hwlab-v03", + "labels": { + "hwlab.pikastech.local/gitops-target": "v03", + "hwlab.pikastech.local/source-commit": "da0ca251527430cc667983c1926bb71b03b42af2", + "hwlab.pikastech.local/environment": "v03", + "hwlab.pikastech.local/profile": "v03", + "app.kubernetes.io/part-of": "hwlab", + "hwlab.pikastech.local/monitoring": "enabled", + "hwlab.pikastech.local/service-id": "hwlab-edge-proxy" + }, + "annotations": { + "hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs" + } + }, + "spec": { + "namespaceSelector": { + "matchNames": [ + "hwlab-v03" + ] + }, + "selector": { + "matchLabels": { + "hwlab.pikastech.local/gitops-target": "v03", + "hwlab.pikastech.local/monitoring": "enabled", + "hwlab.pikastech.local/service-id": "hwlab-edge-proxy" + } + }, + "targetLabels": [ + "hwlab.pikastech.local/gitops-target", + "hwlab.pikastech.local/service-id" + ], + "endpoints": [ + { + "port": "metrics", + "path": "/metrics", + "interval": "30s", + "scrapeTimeout": "10s" + } + ] + } + }, + { + "apiVersion": "monitoring.coreos.com/v1", + "kind": "ServiceMonitor", + "metadata": { + "name": "hwlab-v03-hwlab-agent-skills", + "namespace": "hwlab-v03", + "labels": { + "hwlab.pikastech.local/gitops-target": "v03", + "hwlab.pikastech.local/source-commit": "da0ca251527430cc667983c1926bb71b03b42af2", + "hwlab.pikastech.local/environment": "v03", + "hwlab.pikastech.local/profile": "v03", + "app.kubernetes.io/part-of": "hwlab", + "hwlab.pikastech.local/monitoring": "enabled", + "hwlab.pikastech.local/service-id": "hwlab-agent-skills" + }, + "annotations": { + "hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs" + } + }, + "spec": { + "namespaceSelector": { + "matchNames": [ + "hwlab-v03" + ] + }, + "selector": { + "matchLabels": { + "hwlab.pikastech.local/gitops-target": "v03", + "hwlab.pikastech.local/monitoring": "enabled", + "hwlab.pikastech.local/service-id": "hwlab-agent-skills" + } + }, + "targetLabels": [ + "hwlab.pikastech.local/gitops-target", + "hwlab.pikastech.local/service-id" + ], + "endpoints": [ + { + "port": "metrics", + "path": "/metrics", + "interval": "30s", + "scrapeTimeout": "10s" + } + ] + } + }, + { + "apiVersion": "monitoring.coreos.com/v1", + "kind": "ServiceMonitor", + "metadata": { + "name": "hwlab-v03-hwlab-deepseek-proxy", + "namespace": "hwlab-v03", + "labels": { + "hwlab.pikastech.local/gitops-target": "v03", + "hwlab.pikastech.local/source-commit": "da0ca251527430cc667983c1926bb71b03b42af2", + "hwlab.pikastech.local/environment": "v03", + "hwlab.pikastech.local/profile": "v03", + "app.kubernetes.io/part-of": "hwlab", + "hwlab.pikastech.local/monitoring": "enabled", + "hwlab.pikastech.local/service-id": "hwlab-deepseek-proxy" + }, + "annotations": { + "hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs" + } + }, + "spec": { + "namespaceSelector": { + "matchNames": [ + "hwlab-v03" + ] + }, + "selector": { + "matchLabels": { + "hwlab.pikastech.local/gitops-target": "v03", + "hwlab.pikastech.local/monitoring": "enabled", + "hwlab.pikastech.local/service-id": "hwlab-deepseek-proxy" + } + }, + "targetLabels": [ + "hwlab.pikastech.local/gitops-target", + "hwlab.pikastech.local/service-id" + ], + "endpoints": [ + { + "port": "metrics", + "path": "/metrics", + "interval": "30s", + "scrapeTimeout": "10s" + } + ] + } + }, + { + "apiVersion": "monitoring.coreos.com/v1", + "kind": "PrometheusRule", + "metadata": { + "name": "hwlab-v03-observability", + "namespace": "hwlab-v03", + "labels": { + "hwlab.pikastech.local/gitops-target": "v03", + "hwlab.pikastech.local/source-commit": "da0ca251527430cc667983c1926bb71b03b42af2", + "hwlab.pikastech.local/environment": "v03", + "hwlab.pikastech.local/profile": "v03", + "app.kubernetes.io/part-of": "hwlab", + "hwlab.pikastech.local/monitoring": "enabled" + }, + "annotations": { + "hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs" + } + }, + "spec": { + "groups": [ + { + "name": "hwlab-v03-observability", + "rules": [ + { + "alert": "HWLABV03MetricsTargetDown", + "expr": "up{namespace=\"hwlab-v03\"} == 0", + "for": "5m", + "labels": { + "severity": "warning", + "lane": "v03" + }, + "annotations": { + "summary": "HWLAB v0.3 metrics target is down", + "description": "Prometheus cannot scrape a HWLAB v0.3 metrics target." + } + }, + { + "alert": "HWLABV03ServiceHealthProbeFailed", + "expr": "hwlab_service_health_probe_success{namespace=\"hwlab-v03\"} == 0", + "for": "5m", + "labels": { + "severity": "warning", + "lane": "v03" + }, + "annotations": { + "summary": "HWLAB v0.2 service health probe failed", + "description": "The metrics sidecar cannot reach the service health endpoint inside the pod network." + } + } + ] + } + ] + } } ] } diff --git a/deploy/gitops/node/d601/runtime-v03/workloads.yaml b/deploy/gitops/node/d601/runtime-v03/workloads.yaml index 1a6d5e1f..4223c147 100644 --- a/deploy/gitops/node/d601/runtime-v03/workloads.yaml +++ b/deploy/gitops/node/d601/runtime-v03/workloads.yaml @@ -78,23 +78,23 @@ "hwlab.pikastech.local/environment": "v03", "hwlab.pikastech.local/profile": "v03", "hwlab.pikastech.local/gitops-target": "v03", - "hwlab.pikastech.local/source-commit": "f3a8615bd5af9b20ae6b0aa7c83b5f6a2942c126", - "hwlab.pikastech.local/artifact-source-commit": "f3a8615bd5af9b20ae6b0aa7c83b5f6a2942c126", + "hwlab.pikastech.local/source-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", + "hwlab.pikastech.local/artifact-source-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", "hwlab.pikastech.local/monitoring": "enabled", "hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout", - "hwlab.pikastech.local/boot-commit": "f3a8615bd5af9b20ae6b0aa7c83b5f6a2942c126" + "hwlab.pikastech.local/boot-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, "annotations": { "hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4", - "hwlab.pikastech.local/source-commit": "f3a8615bd5af9b20ae6b0aa7c83b5f6a2942c126", - "hwlab.pikastech.local/artifact-source-commit": "f3a8615bd5af9b20ae6b0aa7c83b5f6a2942c126", + "hwlab.pikastech.local/source-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", + "hwlab.pikastech.local/artifact-source-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", "hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs", "hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout", "hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git", - "hwlab.pikastech.local/boot-commit": "f3a8615bd5af9b20ae6b0aa7c83b5f6a2942c126", + "hwlab.pikastech.local/boot-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", "hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-cloud-api.sh", - "hwlab.pikastech.local/environment-digest": "sha256:36005f0676a3aa36b27d20b931a515072a7448a42d39f0160faea1c2a82ddc36", - "hwlab.pikastech.local/environment-input-hash": "9495896df9181f06492b0a0f8673eb5dd7e951b756e66e35bda0fd101a14e74a", + "hwlab.pikastech.local/environment-digest": "sha256:4291c2884e03a7895e2be1f6a5e5b929f3e09fe91da243f5c463ef692377d33d", + "hwlab.pikastech.local/environment-input-hash": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050", "hwlab.pikastech.local/code-input-hash": "e2d48031bdb318a3bf175c7eb33c62963c94aaebe20d15445b3a4690bfb2530e" } }, @@ -103,7 +103,7 @@ "containers": [ { "name": "hwlab-cloud-api", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env@sha256:36005f0676a3aa36b27d20b931a515072a7448a42d39f0160faea1c2a82ddc36", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env@sha256:4291c2884e03a7895e2be1f6a5e5b929f3e09fe91da243f5c463ef692377d33d", "ports": [ { "name": "http", @@ -125,15 +125,15 @@ }, { "name": "HWLAB_COMMIT_ID", - "value": "f3a8615bd5af9b20ae6b0aa7c83b5f6a2942c126" + "value": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, { "name": "HWLAB_IMAGE", - "value": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env@sha256:36005f0676a3aa36b27d20b931a515072a7448a42d39f0160faea1c2a82ddc36" + "value": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env@sha256:4291c2884e03a7895e2be1f6a5e5b929f3e09fe91da243f5c463ef692377d33d" }, { "name": "HWLAB_IMAGE_TAG", - "value": "env-cc508eb657a4" + "value": "env-b0c5874f30a9" }, { "name": "HWLAB_RUNTIME_SUBSTITUTE_FORBIDDEN", @@ -309,11 +309,11 @@ }, { "name": "HWLAB_GITOPS_SOURCE_COMMIT", - "value": "f3a8615bd5af9b20ae6b0aa7c83b5f6a2942c126" + "value": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, { "name": "HWLAB_CODE_AGENT_AGENTRUN_SOURCE_COMMIT", - "value": "f3a8615bd5af9b20ae6b0aa7c83b5f6a2942c126" + "value": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, { "name": "HWLAB_RUNTIME_MODE", @@ -325,7 +325,7 @@ }, { "name": "HWLAB_BOOT_COMMIT", - "value": "f3a8615bd5af9b20ae6b0aa7c83b5f6a2942c126" + "value": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, { "name": "HWLAB_BOOT_REF", @@ -341,15 +341,15 @@ }, { "name": "HWLAB_ENVIRONMENT_IMAGE", - "value": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env:env-cc508eb657a4" + "value": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env:env-b0c5874f30a9" }, { "name": "HWLAB_ENVIRONMENT_DIGEST", - "value": "sha256:36005f0676a3aa36b27d20b931a515072a7448a42d39f0160faea1c2a82ddc36" + "value": "sha256:4291c2884e03a7895e2be1f6a5e5b929f3e09fe91da243f5c463ef692377d33d" }, { "name": "HWLAB_ENVIRONMENT_INPUT_HASH", - "value": "9495896df9181f06492b0a0f8673eb5dd7e951b756e66e35bda0fd101a14e74a" + "value": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050" }, { "name": "HWLAB_CODE_INPUT_HASH", @@ -357,11 +357,11 @@ }, { "name": "HWLAB_IMAGE_DIGEST", - "value": "sha256:36005f0676a3aa36b27d20b931a515072a7448a42d39f0160faea1c2a82ddc36" + "value": "sha256:4291c2884e03a7895e2be1f6a5e5b929f3e09fe91da243f5c463ef692377d33d" }, { "name": "HWLAB_CODE_AGENT_AGENTRUN_PROVIDER_ID", - "value": "G14" + "value": "D601" }, { "name": "HWLAB_OPENFGA_MODE", @@ -408,7 +408,7 @@ }, { "name": "hwlab-codex-api-forwarder", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env@sha256:36005f0676a3aa36b27d20b931a515072a7448a42d39f0160faea1c2a82ddc36", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env@sha256:4291c2884e03a7895e2be1f6a5e5b929f3e09fe91da243f5c463ef692377d33d", "ports": [ { "name": "codex-api", @@ -598,15 +598,15 @@ }, { "name": "HWLAB_COMMIT_ID", - "value": "f3a8615bd5af9b20ae6b0aa7c83b5f6a2942c126" + "value": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, { "name": "HWLAB_IMAGE", - "value": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env@sha256:36005f0676a3aa36b27d20b931a515072a7448a42d39f0160faea1c2a82ddc36" + "value": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env@sha256:4291c2884e03a7895e2be1f6a5e5b929f3e09fe91da243f5c463ef692377d33d" }, { "name": "HWLAB_IMAGE_TAG", - "value": "env-cc508eb657a4" + "value": "env-b0c5874f30a9" }, { "name": "HWLAB_GITOPS_TARGET", @@ -618,11 +618,11 @@ }, { "name": "HWLAB_GITOPS_SOURCE_COMMIT", - "value": "f3a8615bd5af9b20ae6b0aa7c83b5f6a2942c126" + "value": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, { "name": "HWLAB_CODE_AGENT_AGENTRUN_SOURCE_COMMIT", - "value": "f3a8615bd5af9b20ae6b0aa7c83b5f6a2942c126" + "value": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, { "name": "HWLAB_RUNTIME_MODE", @@ -634,7 +634,7 @@ }, { "name": "HWLAB_BOOT_COMMIT", - "value": "f3a8615bd5af9b20ae6b0aa7c83b5f6a2942c126" + "value": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, { "name": "HWLAB_BOOT_REF", @@ -650,15 +650,15 @@ }, { "name": "HWLAB_ENVIRONMENT_IMAGE", - "value": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env:env-cc508eb657a4" + "value": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env:env-b0c5874f30a9" }, { "name": "HWLAB_ENVIRONMENT_DIGEST", - "value": "sha256:36005f0676a3aa36b27d20b931a515072a7448a42d39f0160faea1c2a82ddc36" + "value": "sha256:4291c2884e03a7895e2be1f6a5e5b929f3e09fe91da243f5c463ef692377d33d" }, { "name": "HWLAB_ENVIRONMENT_INPUT_HASH", - "value": "9495896df9181f06492b0a0f8673eb5dd7e951b756e66e35bda0fd101a14e74a" + "value": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050" }, { "name": "HWLAB_CODE_INPUT_HASH", @@ -666,11 +666,11 @@ }, { "name": "HWLAB_IMAGE_DIGEST", - "value": "sha256:36005f0676a3aa36b27d20b931a515072a7448a42d39f0160faea1c2a82ddc36" + "value": "sha256:4291c2884e03a7895e2be1f6a5e5b929f3e09fe91da243f5c463ef692377d33d" }, { "name": "HWLAB_CODE_AGENT_AGENTRUN_PROVIDER_ID", - "value": "G14" + "value": "D601" }, { "name": "HWLAB_OPENFGA_MODE", @@ -850,23 +850,23 @@ "hwlab.pikastech.local/environment": "v03", "hwlab.pikastech.local/profile": "v03", "hwlab.pikastech.local/gitops-target": "v03", - "hwlab.pikastech.local/source-commit": "6607ec65a60ed203969a0e52645508e967df91c5", - "hwlab.pikastech.local/artifact-source-commit": "6607ec65a60ed203969a0e52645508e967df91c5", + "hwlab.pikastech.local/source-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", + "hwlab.pikastech.local/artifact-source-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", "hwlab.pikastech.local/monitoring": "enabled", "hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout", - "hwlab.pikastech.local/boot-commit": "6607ec65a60ed203969a0e52645508e967df91c5" + "hwlab.pikastech.local/boot-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, "annotations": { "hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4", - "hwlab.pikastech.local/source-commit": "6607ec65a60ed203969a0e52645508e967df91c5", - "hwlab.pikastech.local/artifact-source-commit": "6607ec65a60ed203969a0e52645508e967df91c5", + "hwlab.pikastech.local/source-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", + "hwlab.pikastech.local/artifact-source-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", "hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs", "hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout", "hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git", - "hwlab.pikastech.local/boot-commit": "6607ec65a60ed203969a0e52645508e967df91c5", + "hwlab.pikastech.local/boot-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", "hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-cloud-web.sh", - "hwlab.pikastech.local/environment-digest": "sha256:155ed77fa7841d13dd1f97de75e4923f85ab63e2a74bf6908138044dfa64afd4", - "hwlab.pikastech.local/environment-input-hash": "9495896df9181f06492b0a0f8673eb5dd7e951b756e66e35bda0fd101a14e74a", + "hwlab.pikastech.local/environment-digest": "sha256:a53c710c92c5253c1feca456294058c6a1e45ff6b6e0440ebc0794ad24e4337c", + "hwlab.pikastech.local/environment-input-hash": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050", "hwlab.pikastech.local/code-input-hash": "fc88b16995fd65a887e8840762cfa656058fc4f5a8f099ec7762354b70918985" } }, @@ -874,7 +874,7 @@ "containers": [ { "name": "hwlab-cloud-web", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web-env@sha256:155ed77fa7841d13dd1f97de75e4923f85ab63e2a74bf6908138044dfa64afd4", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web-env@sha256:a53c710c92c5253c1feca456294058c6a1e45ff6b6e0440ebc0794ad24e4337c", "ports": [ { "name": "http", @@ -892,15 +892,15 @@ }, { "name": "HWLAB_COMMIT_ID", - "value": "6607ec65a60ed203969a0e52645508e967df91c5" + "value": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, { "name": "HWLAB_IMAGE", - "value": "127.0.0.1:5000/hwlab/hwlab-cloud-web-env@sha256:155ed77fa7841d13dd1f97de75e4923f85ab63e2a74bf6908138044dfa64afd4" + "value": "127.0.0.1:5000/hwlab/hwlab-cloud-web-env@sha256:a53c710c92c5253c1feca456294058c6a1e45ff6b6e0440ebc0794ad24e4337c" }, { "name": "HWLAB_IMAGE_TAG", - "value": "env-cc508eb657a4" + "value": "env-b0c5874f30a9" }, { "name": "HWLAB_ENVIRONMENT", @@ -916,7 +916,7 @@ }, { "name": "HWLAB_GITOPS_SOURCE_COMMIT", - "value": "6607ec65a60ed203969a0e52645508e967df91c5" + "value": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, { "name": "HWLAB_RUNTIME_MODE", @@ -928,7 +928,7 @@ }, { "name": "HWLAB_BOOT_COMMIT", - "value": "6607ec65a60ed203969a0e52645508e967df91c5" + "value": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, { "name": "HWLAB_BOOT_REF", @@ -944,15 +944,15 @@ }, { "name": "HWLAB_ENVIRONMENT_IMAGE", - "value": "127.0.0.1:5000/hwlab/hwlab-cloud-web-env:env-cc508eb657a4" + "value": "127.0.0.1:5000/hwlab/hwlab-cloud-web-env:env-b0c5874f30a9" }, { "name": "HWLAB_ENVIRONMENT_DIGEST", - "value": "sha256:155ed77fa7841d13dd1f97de75e4923f85ab63e2a74bf6908138044dfa64afd4" + "value": "sha256:a53c710c92c5253c1feca456294058c6a1e45ff6b6e0440ebc0794ad24e4337c" }, { "name": "HWLAB_ENVIRONMENT_INPUT_HASH", - "value": "9495896df9181f06492b0a0f8673eb5dd7e951b756e66e35bda0fd101a14e74a" + "value": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050" }, { "name": "HWLAB_CODE_INPUT_HASH", @@ -960,7 +960,7 @@ }, { "name": "HWLAB_IMAGE_DIGEST", - "value": "sha256:155ed77fa7841d13dd1f97de75e4923f85ab63e2a74bf6908138044dfa64afd4" + "value": "sha256:a53c710c92c5253c1feca456294058c6a1e45ff6b6e0440ebc0794ad24e4337c" }, { "name": "HWLAB_PUBLIC_ENDPOINT", @@ -1099,21 +1099,21 @@ "hwlab.pikastech.local/environment": "v03", "hwlab.pikastech.local/profile": "v03", "hwlab.pikastech.local/gitops-target": "v03", - "hwlab.pikastech.local/source-commit": "187fb80a5d10022fb2ddca213bf6233251b7e41f", - "hwlab.pikastech.local/artifact-source-commit": "187fb80a5d10022fb2ddca213bf6233251b7e41f", + "hwlab.pikastech.local/source-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", + "hwlab.pikastech.local/artifact-source-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", "hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout", - "hwlab.pikastech.local/boot-commit": "187fb80a5d10022fb2ddca213bf6233251b7e41f" + "hwlab.pikastech.local/boot-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, "annotations": { - "hwlab.pikastech.local/source-commit": "187fb80a5d10022fb2ddca213bf6233251b7e41f", - "hwlab.pikastech.local/artifact-source-commit": "187fb80a5d10022fb2ddca213bf6233251b7e41f", + "hwlab.pikastech.local/source-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", + "hwlab.pikastech.local/artifact-source-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", "hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs", "hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout", "hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git", - "hwlab.pikastech.local/boot-commit": "187fb80a5d10022fb2ddca213bf6233251b7e41f", + "hwlab.pikastech.local/boot-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", "hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-gateway.sh", - "hwlab.pikastech.local/environment-digest": "sha256:4936afee9b574c1d2ffcd313c40fc7a4b2f0d6a240102cd89f5e6e60c6975811", - "hwlab.pikastech.local/environment-input-hash": "9495896df9181f06492b0a0f8673eb5dd7e951b756e66e35bda0fd101a14e74a", + "hwlab.pikastech.local/environment-digest": "sha256:30aabe46d235788ebd7c59258f8b47217a6e79a9b1360a765db10d7f85fef1f3", + "hwlab.pikastech.local/environment-input-hash": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050", "hwlab.pikastech.local/code-input-hash": "9693556c71091e3e85d61efc6ef7d62e1064fba145ec83b3b9c196477f0b2870" } }, @@ -1121,7 +1121,7 @@ "containers": [ { "name": "hwlab-gateway", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-env@sha256:4936afee9b574c1d2ffcd313c40fc7a4b2f0d6a240102cd89f5e6e60c6975811", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-env@sha256:30aabe46d235788ebd7c59258f8b47217a6e79a9b1360a765db10d7f85fef1f3", "ports": [ { "name": "http", @@ -1139,15 +1139,15 @@ }, { "name": "HWLAB_COMMIT_ID", - "value": "187fb80a5d10022fb2ddca213bf6233251b7e41f" + "value": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, { "name": "HWLAB_IMAGE", - "value": "127.0.0.1:5000/hwlab/hwlab-gateway-env@sha256:4936afee9b574c1d2ffcd313c40fc7a4b2f0d6a240102cd89f5e6e60c6975811" + "value": "127.0.0.1:5000/hwlab/hwlab-gateway-env@sha256:30aabe46d235788ebd7c59258f8b47217a6e79a9b1360a765db10d7f85fef1f3" }, { "name": "HWLAB_IMAGE_TAG", - "value": "env-cc508eb657a4" + "value": "env-b0c5874f30a9" }, { "name": "HWLAB_GITOPS_TARGET", @@ -1159,7 +1159,7 @@ }, { "name": "HWLAB_GITOPS_SOURCE_COMMIT", - "value": "187fb80a5d10022fb2ddca213bf6233251b7e41f" + "value": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, { "name": "HWLAB_RUNTIME_MODE", @@ -1171,7 +1171,7 @@ }, { "name": "HWLAB_BOOT_COMMIT", - "value": "187fb80a5d10022fb2ddca213bf6233251b7e41f" + "value": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, { "name": "HWLAB_BOOT_REF", @@ -1187,15 +1187,15 @@ }, { "name": "HWLAB_ENVIRONMENT_IMAGE", - "value": "127.0.0.1:5000/hwlab/hwlab-gateway-env:env-cc508eb657a4" + "value": "127.0.0.1:5000/hwlab/hwlab-gateway-env:env-b0c5874f30a9" }, { "name": "HWLAB_ENVIRONMENT_DIGEST", - "value": "sha256:4936afee9b574c1d2ffcd313c40fc7a4b2f0d6a240102cd89f5e6e60c6975811" + "value": "sha256:30aabe46d235788ebd7c59258f8b47217a6e79a9b1360a765db10d7f85fef1f3" }, { "name": "HWLAB_ENVIRONMENT_INPUT_HASH", - "value": "9495896df9181f06492b0a0f8673eb5dd7e951b756e66e35bda0fd101a14e74a" + "value": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050" }, { "name": "HWLAB_CODE_INPUT_HASH", @@ -1203,7 +1203,7 @@ }, { "name": "HWLAB_IMAGE_DIGEST", - "value": "sha256:4936afee9b574c1d2ffcd313c40fc7a4b2f0d6a240102cd89f5e6e60c6975811" + "value": "sha256:30aabe46d235788ebd7c59258f8b47217a6e79a9b1360a765db10d7f85fef1f3" } ], "readinessProbe": { @@ -1266,23 +1266,23 @@ "hwlab.pikastech.local/environment": "v03", "hwlab.pikastech.local/profile": "v03", "hwlab.pikastech.local/gitops-target": "v03", - "hwlab.pikastech.local/source-commit": "187fb80a5d10022fb2ddca213bf6233251b7e41f", - "hwlab.pikastech.local/artifact-source-commit": "187fb80a5d10022fb2ddca213bf6233251b7e41f", + "hwlab.pikastech.local/source-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", + "hwlab.pikastech.local/artifact-source-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", "hwlab.pikastech.local/monitoring": "enabled", "hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout", - "hwlab.pikastech.local/boot-commit": "187fb80a5d10022fb2ddca213bf6233251b7e41f" + "hwlab.pikastech.local/boot-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, "annotations": { "hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4", - "hwlab.pikastech.local/source-commit": "187fb80a5d10022fb2ddca213bf6233251b7e41f", - "hwlab.pikastech.local/artifact-source-commit": "187fb80a5d10022fb2ddca213bf6233251b7e41f", + "hwlab.pikastech.local/source-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", + "hwlab.pikastech.local/artifact-source-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", "hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs", "hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout", "hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git", - "hwlab.pikastech.local/boot-commit": "187fb80a5d10022fb2ddca213bf6233251b7e41f", + "hwlab.pikastech.local/boot-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", "hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-edge-proxy.sh", - "hwlab.pikastech.local/environment-digest": "sha256:d031ad59f7f85bde11ad30dce5cdbd92bdd5db79bcf0282f073dbc12cdb42db2", - "hwlab.pikastech.local/environment-input-hash": "9495896df9181f06492b0a0f8673eb5dd7e951b756e66e35bda0fd101a14e74a", + "hwlab.pikastech.local/environment-digest": "sha256:0679fba942cb6b4580fb5dc1d24f6e37942a333c98050d262a41dffa4f82fe6a", + "hwlab.pikastech.local/environment-input-hash": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050", "hwlab.pikastech.local/code-input-hash": "feaa7c30c37eb42248165bd2f574362dc91908d531d79f4211733b32929b1fa6" } }, @@ -1290,7 +1290,7 @@ "containers": [ { "name": "hwlab-edge-proxy", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy-env@sha256:d031ad59f7f85bde11ad30dce5cdbd92bdd5db79bcf0282f073dbc12cdb42db2", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy-env@sha256:0679fba942cb6b4580fb5dc1d24f6e37942a333c98050d262a41dffa4f82fe6a", "ports": [ { "name": "http", @@ -1316,15 +1316,15 @@ }, { "name": "HWLAB_COMMIT_ID", - "value": "187fb80a5d10022fb2ddca213bf6233251b7e41f" + "value": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, { "name": "HWLAB_IMAGE", - "value": "127.0.0.1:5000/hwlab/hwlab-edge-proxy-env@sha256:d031ad59f7f85bde11ad30dce5cdbd92bdd5db79bcf0282f073dbc12cdb42db2" + "value": "127.0.0.1:5000/hwlab/hwlab-edge-proxy-env@sha256:0679fba942cb6b4580fb5dc1d24f6e37942a333c98050d262a41dffa4f82fe6a" }, { "name": "HWLAB_IMAGE_TAG", - "value": "env-cc508eb657a4" + "value": "env-b0c5874f30a9" }, { "name": "HWLAB_GITOPS_TARGET", @@ -1336,7 +1336,7 @@ }, { "name": "HWLAB_GITOPS_SOURCE_COMMIT", - "value": "187fb80a5d10022fb2ddca213bf6233251b7e41f" + "value": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, { "name": "HWLAB_RUNTIME_MODE", @@ -1348,7 +1348,7 @@ }, { "name": "HWLAB_BOOT_COMMIT", - "value": "187fb80a5d10022fb2ddca213bf6233251b7e41f" + "value": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, { "name": "HWLAB_BOOT_REF", @@ -1364,15 +1364,15 @@ }, { "name": "HWLAB_ENVIRONMENT_IMAGE", - "value": "127.0.0.1:5000/hwlab/hwlab-edge-proxy-env:env-cc508eb657a4" + "value": "127.0.0.1:5000/hwlab/hwlab-edge-proxy-env:env-b0c5874f30a9" }, { "name": "HWLAB_ENVIRONMENT_DIGEST", - "value": "sha256:d031ad59f7f85bde11ad30dce5cdbd92bdd5db79bcf0282f073dbc12cdb42db2" + "value": "sha256:0679fba942cb6b4580fb5dc1d24f6e37942a333c98050d262a41dffa4f82fe6a" }, { "name": "HWLAB_ENVIRONMENT_INPUT_HASH", - "value": "9495896df9181f06492b0a0f8673eb5dd7e951b756e66e35bda0fd101a14e74a" + "value": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050" }, { "name": "HWLAB_CODE_INPUT_HASH", @@ -1380,7 +1380,7 @@ }, { "name": "HWLAB_IMAGE_DIGEST", - "value": "sha256:d031ad59f7f85bde11ad30dce5cdbd92bdd5db79bcf0282f073dbc12cdb42db2" + "value": "sha256:0679fba942cb6b4580fb5dc1d24f6e37942a333c98050d262a41dffa4f82fe6a" }, { "name": "HWLAB_PUBLIC_ENDPOINT", @@ -1519,23 +1519,23 @@ "hwlab.pikastech.local/environment": "v03", "hwlab.pikastech.local/profile": "v03", "hwlab.pikastech.local/gitops-target": "v03", - "hwlab.pikastech.local/source-commit": "187fb80a5d10022fb2ddca213bf6233251b7e41f", - "hwlab.pikastech.local/artifact-source-commit": "187fb80a5d10022fb2ddca213bf6233251b7e41f", + "hwlab.pikastech.local/source-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", + "hwlab.pikastech.local/artifact-source-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", "hwlab.pikastech.local/monitoring": "enabled", "hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout", - "hwlab.pikastech.local/boot-commit": "187fb80a5d10022fb2ddca213bf6233251b7e41f" + "hwlab.pikastech.local/boot-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, "annotations": { "hwlab.pikastech.local/metrics-sidecar-sha256": "782e26256b5a5cddff52a165a0eb5f852973eee1aac1b19acac4a313db7968f4", - "hwlab.pikastech.local/source-commit": "187fb80a5d10022fb2ddca213bf6233251b7e41f", - "hwlab.pikastech.local/artifact-source-commit": "187fb80a5d10022fb2ddca213bf6233251b7e41f", + "hwlab.pikastech.local/source-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", + "hwlab.pikastech.local/artifact-source-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", "hwlab.pikastech.local/rendered-by": "scripts/gitops-render.mjs", "hwlab.pikastech.local/runtime-mode": "env-reuse-git-mirror-checkout", "hwlab.pikastech.local/boot-repo": "git@github.com:pikasTech/HWLAB.git", - "hwlab.pikastech.local/boot-commit": "187fb80a5d10022fb2ddca213bf6233251b7e41f", + "hwlab.pikastech.local/boot-commit": "e1566e22c882b98de00041fafccffa2ffdc02ee6", "hwlab.pikastech.local/boot-sh": "deploy/runtime/boot/hwlab-agent-skills.sh", - "hwlab.pikastech.local/environment-digest": "sha256:0dc8979e40d401fccca375f54ecd4aabad29c98829cef12b36b92a0f722ca0fb", - "hwlab.pikastech.local/environment-input-hash": "9495896df9181f06492b0a0f8673eb5dd7e951b756e66e35bda0fd101a14e74a", + "hwlab.pikastech.local/environment-digest": "sha256:f5e71b0e02756f25ea1e82c36dc34aa79caeb17e25d222e94f1be44106b19664", + "hwlab.pikastech.local/environment-input-hash": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050", "hwlab.pikastech.local/code-input-hash": "369ca524ae4010fb5d9adfd30b4290808a035804b4674755bc193fee743f3d5a" } }, @@ -1543,7 +1543,7 @@ "containers": [ { "name": "hwlab-agent-skills", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills-env@sha256:0dc8979e40d401fccca375f54ecd4aabad29c98829cef12b36b92a0f722ca0fb", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills-env@sha256:f5e71b0e02756f25ea1e82c36dc34aa79caeb17e25d222e94f1be44106b19664", "ports": [ { "name": "http", @@ -1553,7 +1553,7 @@ "env": [ { "name": "HWLAB_SKILLS_COMMIT_ID", - "value": "187fb80a5d10022fb2ddca213bf6233251b7e41f" + "value": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, { "name": "HWLAB_ENVIRONMENT", @@ -1561,15 +1561,15 @@ }, { "name": "HWLAB_COMMIT_ID", - "value": "187fb80a5d10022fb2ddca213bf6233251b7e41f" + "value": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, { "name": "HWLAB_IMAGE", - "value": "127.0.0.1:5000/hwlab/hwlab-agent-skills-env@sha256:0dc8979e40d401fccca375f54ecd4aabad29c98829cef12b36b92a0f722ca0fb" + "value": "127.0.0.1:5000/hwlab/hwlab-agent-skills-env@sha256:f5e71b0e02756f25ea1e82c36dc34aa79caeb17e25d222e94f1be44106b19664" }, { "name": "HWLAB_IMAGE_TAG", - "value": "env-cc508eb657a4" + "value": "env-b0c5874f30a9" }, { "name": "HWLAB_GITOPS_TARGET", @@ -1581,7 +1581,7 @@ }, { "name": "HWLAB_GITOPS_SOURCE_COMMIT", - "value": "187fb80a5d10022fb2ddca213bf6233251b7e41f" + "value": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, { "name": "HWLAB_RUNTIME_MODE", @@ -1593,7 +1593,7 @@ }, { "name": "HWLAB_BOOT_COMMIT", - "value": "187fb80a5d10022fb2ddca213bf6233251b7e41f" + "value": "e1566e22c882b98de00041fafccffa2ffdc02ee6" }, { "name": "HWLAB_BOOT_REF", @@ -1609,15 +1609,15 @@ }, { "name": "HWLAB_ENVIRONMENT_IMAGE", - "value": "127.0.0.1:5000/hwlab/hwlab-agent-skills-env:env-cc508eb657a4" + "value": "127.0.0.1:5000/hwlab/hwlab-agent-skills-env:env-b0c5874f30a9" }, { "name": "HWLAB_ENVIRONMENT_DIGEST", - "value": "sha256:0dc8979e40d401fccca375f54ecd4aabad29c98829cef12b36b92a0f722ca0fb" + "value": "sha256:f5e71b0e02756f25ea1e82c36dc34aa79caeb17e25d222e94f1be44106b19664" }, { "name": "HWLAB_ENVIRONMENT_INPUT_HASH", - "value": "9495896df9181f06492b0a0f8673eb5dd7e951b756e66e35bda0fd101a14e74a" + "value": "b0c5874f30a91469c823685cbb8dbb5b9875b4430cf914d2fd741f52f8531050" }, { "name": "HWLAB_CODE_INPUT_HASH", @@ -1625,7 +1625,7 @@ }, { "name": "HWLAB_IMAGE_DIGEST", - "value": "sha256:0dc8979e40d401fccca375f54ecd4aabad29c98829cef12b36b92a0f722ca0fb" + "value": "sha256:f5e71b0e02756f25ea1e82c36dc34aa79caeb17e25d222e94f1be44106b19664" } ], "readinessProbe": {