diff --git a/deploy/artifact-catalog.dev.json b/deploy/artifact-catalog.dev.json index dae94d45..ce1c8358 100644 --- a/deploy/artifact-catalog.dev.json +++ b/deploy/artifact-catalog.dev.json @@ -5,13 +5,13 @@ "profile": "dev", "namespace": "hwlab-dev", "endpoint": "http://74.48.78.17:16667", - "commitId": "3df89fe", - "artifactState": "contract-skeleton", + "commitId": "48dfbf9", + "artifactState": "published", "publish": { - "ciPublished": false, - "registryVerified": false, - "provenance": "not_available_until_publish", - "note": "Artifact identity was refreshed to this source commit, but no publish report proved registry digests." + "ciPublished": true, + "registryVerified": true, + "provenance": "reports/dev-gate/dev-artifacts.json", + "note": "Digest fields were copied from a successful DEV artifact publish report for this source commit." }, "healthContract": { "method": "GET", @@ -66,11 +66,11 @@ "services": [ { "serviceId": "hwlab-cloud-api", - "commitId": "3df89fe", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:3df89fe", - "imageTag": "3df89fe", - "digest": "not_published", - "publishState": "skeleton-only", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:15a9dec43d0ad6b750ea4eda860c1c157c6502441732c1de20ef3b92696d0dfc", + "publishState": "published", "profile": "dev", "namespace": "hwlab-dev", "healthPath": "/health/live", @@ -78,17 +78,17 @@ "publishEnabled": true, "artifactRequired": true, "artifactScope": "required", - "notPublishedReason": "publish_not_run", - "buildCreatedAt": null, - "buildSource": null + "notPublishedReason": null, + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5" }, { "serviceId": "hwlab-cloud-web", - "commitId": "3df89fe", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:3df89fe", - "imageTag": "3df89fe", - "digest": "not_published", - "publishState": "skeleton-only", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:fc1841a6e3e8d427d23b5a0187abbe9d73208e3ad2c638e31b9512aaf075699f", + "publishState": "published", "profile": "dev", "namespace": "hwlab-dev", "healthPath": "/health/live", @@ -96,17 +96,17 @@ "publishEnabled": true, "artifactRequired": true, "artifactScope": "required", - "notPublishedReason": "publish_not_run", - "buildCreatedAt": null, - "buildSource": null + "notPublishedReason": null, + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5" }, { "serviceId": "hwlab-agent-mgr", - "commitId": "3df89fe", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:3df89fe", - "imageTag": "3df89fe", - "digest": "not_published", - "publishState": "skeleton-only", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:bdb3dffd0a82e7cf1c48de3d130cbd6e733c242dd5667be4ba098a46888a13d6", + "publishState": "published", "profile": "dev", "namespace": "hwlab-dev", "healthPath": "/health/live", @@ -114,17 +114,17 @@ "publishEnabled": true, "artifactRequired": true, "artifactScope": "required", - "notPublishedReason": "publish_not_run", - "buildCreatedAt": null, - "buildSource": null + "notPublishedReason": null, + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5" }, { "serviceId": "hwlab-agent-worker", - "commitId": "3df89fe", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:3df89fe", - "imageTag": "3df89fe", - "digest": "not_published", - "publishState": "skeleton-only", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:902590cd05c9af8dcf347b74c05e1fb9fb399eefa54d91ff105dd2fa276ae785", + "publishState": "published", "profile": "dev", "namespace": "hwlab-dev", "healthPath": "/health/live", @@ -132,17 +132,17 @@ "publishEnabled": true, "artifactRequired": true, "artifactScope": "required", - "notPublishedReason": "publish_not_run", - "buildCreatedAt": null, - "buildSource": null + "notPublishedReason": null, + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5" }, { "serviceId": "hwlab-gateway", - "commitId": "3df89fe", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:3df89fe", - "imageTag": "3df89fe", - "digest": "not_published", - "publishState": "skeleton-only", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:015916d05ccbd8448e3f32d754335f7c221aaaadf5ae2b63007d7698f7583d04", + "publishState": "published", "profile": "dev", "namespace": "hwlab-dev", "healthPath": "/health/live", @@ -150,17 +150,17 @@ "publishEnabled": true, "artifactRequired": true, "artifactScope": "required", - "notPublishedReason": "publish_not_run", - "buildCreatedAt": null, - "buildSource": null + "notPublishedReason": null, + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5" }, { "serviceId": "hwlab-gateway-simu", - "commitId": "3df89fe", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:3df89fe", - "imageTag": "3df89fe", - "digest": "not_published", - "publishState": "skeleton-only", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:74793df73dfeb27fc45b1085ac1c29839f6545ccfea79d033dfddc89d6f3a553", + "publishState": "published", "profile": "dev", "namespace": "hwlab-dev", "healthPath": "/health/live", @@ -168,17 +168,17 @@ "publishEnabled": true, "artifactRequired": true, "artifactScope": "required", - "notPublishedReason": "publish_not_run", - "buildCreatedAt": null, - "buildSource": null + "notPublishedReason": null, + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5" }, { "serviceId": "hwlab-box-simu", - "commitId": "3df89fe", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:3df89fe", - "imageTag": "3df89fe", - "digest": "not_published", - "publishState": "skeleton-only", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:89d80def71130db7e0f4d9a0ec1dadfcb5d8963bd1f13b71c67eab0a301efb94", + "publishState": "published", "profile": "dev", "namespace": "hwlab-dev", "healthPath": "/health/live", @@ -186,17 +186,17 @@ "publishEnabled": true, "artifactRequired": true, "artifactScope": "required", - "notPublishedReason": "publish_not_run", - "buildCreatedAt": null, - "buildSource": null + "notPublishedReason": null, + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5" }, { "serviceId": "hwlab-patch-panel", - "commitId": "3df89fe", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:3df89fe", - "imageTag": "3df89fe", - "digest": "not_published", - "publishState": "skeleton-only", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:160a47204b2263e750cbf412f0d266047eeb6baf8b2be839e5d1987fc6082fea", + "publishState": "published", "profile": "dev", "namespace": "hwlab-dev", "healthPath": "/health/live", @@ -204,17 +204,17 @@ "publishEnabled": true, "artifactRequired": true, "artifactScope": "required", - "notPublishedReason": "publish_not_run", - "buildCreatedAt": null, - "buildSource": null + "notPublishedReason": null, + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5" }, { "serviceId": "hwlab-router", - "commitId": "3df89fe", - "image": "127.0.0.1:5000/hwlab/hwlab-router:3df89fe", - "imageTag": "3df89fe", - "digest": "not_published", - "publishState": "skeleton-only", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-router:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:0ab02340575ec7e910427f8ea06db2b8f8095922e207ae5e11a64c065fa26df7", + "publishState": "published", "profile": "dev", "namespace": "hwlab-dev", "healthPath": "/health/live", @@ -222,17 +222,17 @@ "publishEnabled": true, "artifactRequired": true, "artifactScope": "required", - "notPublishedReason": "publish_not_run", - "buildCreatedAt": null, - "buildSource": null + "notPublishedReason": null, + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5" }, { "serviceId": "hwlab-tunnel-client", - "commitId": "3df89fe", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:3df89fe", - "imageTag": "3df89fe", - "digest": "not_published", - "publishState": "skeleton-only", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:75af6caa96ec03d3f4130e512052f666d75b1e5470fa67f8f66f355e1068e43f", + "publishState": "published", "profile": "dev", "namespace": "hwlab-dev", "healthPath": "/health/live", @@ -240,17 +240,17 @@ "publishEnabled": true, "artifactRequired": true, "artifactScope": "required", - "notPublishedReason": "publish_not_run", - "buildCreatedAt": null, - "buildSource": null + "notPublishedReason": null, + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5" }, { "serviceId": "hwlab-edge-proxy", - "commitId": "3df89fe", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:3df89fe", - "imageTag": "3df89fe", - "digest": "not_published", - "publishState": "skeleton-only", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:f8b954ad76ab0162e3df0edc26c115f6c697f8f5c4e9d93e24112285b57b9b05", + "publishState": "published", "profile": "dev", "namespace": "hwlab-dev", "healthPath": "/health/live", @@ -258,17 +258,17 @@ "publishEnabled": true, "artifactRequired": true, "artifactScope": "required", - "notPublishedReason": "publish_not_run", - "buildCreatedAt": null, - "buildSource": null + "notPublishedReason": null, + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5" }, { "serviceId": "hwlab-cli", - "commitId": "3df89fe", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:3df89fe", - "imageTag": "3df89fe", - "digest": "not_published", - "publishState": "skeleton-only", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:ae6564b6b0f8ceaf35ab5d2e7f7c04ca8f5e51aa7daedb01e4a6aa31e4bcc16b", + "publishState": "published", "profile": "dev", "namespace": "hwlab-dev", "healthPath": "/health/live", @@ -276,17 +276,17 @@ "publishEnabled": true, "artifactRequired": true, "artifactScope": "required", - "notPublishedReason": "publish_not_run", - "buildCreatedAt": null, - "buildSource": null + "notPublishedReason": null, + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5" }, { "serviceId": "hwlab-agent-skills", - "commitId": "3df89fe", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:3df89fe", - "imageTag": "3df89fe", - "digest": "not_published", - "publishState": "skeleton-only", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:6fc9b4fda9bea32607774a24d72ecc7999007d910d17e11764abce2bdc35c03d", + "publishState": "published", "profile": "dev", "namespace": "hwlab-dev", "healthPath": "/health/live", @@ -294,9 +294,9 @@ "publishEnabled": true, "artifactRequired": true, "artifactScope": "required", - "notPublishedReason": "publish_not_run", - "buildCreatedAt": null, - "buildSource": null + "notPublishedReason": null, + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5" } ], "serviceInventory": { diff --git a/deploy/deploy.json b/deploy/deploy.json index 5ad4facb..ab2c8d5b 100644 --- a/deploy/deploy.json +++ b/deploy/deploy.json @@ -1,7 +1,7 @@ { "manifestVersion": "v1", "environment": "dev", - "commitId": "3df89fe", + "commitId": "48dfbf9", "namespace": "hwlab-dev", "endpoint": "http://74.48.78.17:16667", "health": { @@ -181,7 +181,7 @@ "services": [ { "serviceId": "hwlab-cloud-api", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -189,9 +189,9 @@ "env": { "HWLAB_ENVIRONMENT": "dev", "HWLAB_PUBLIC_ENDPOINT": "http://74.48.78.17:16667", - "HWLAB_COMMIT_ID": "3df89fe", - "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-api:3df89fe", - "HWLAB_IMAGE_TAG": "3df89fe", + "HWLAB_COMMIT_ID": "48dfbf9", + "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", + "HWLAB_IMAGE_TAG": "48dfbf9", "HWLAB_RUNTIME_SUBSTITUTE_FORBIDDEN": "unidesk-backend,provider-gateway,microservice-proxy", "HWLAB_CLOUD_DB_URL": "secretRef:hwlab-cloud-api-dev-db/database-url", "HWLAB_CLOUD_DB_SSL_MODE": "disable", @@ -220,7 +220,7 @@ }, { "serviceId": "hwlab-cloud-web", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -229,14 +229,14 @@ "HWLAB_ENVIRONMENT": "dev", "HWLAB_API_BASE_URL": "http://hwlab-cloud-api.hwlab-dev.svc.cluster.local:6667", "HWLAB_CLOUD_WEB_PROXY_TIMEOUT_MS": "180000", - "HWLAB_COMMIT_ID": "3df89fe", - "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-web:3df89fe", - "HWLAB_IMAGE_TAG": "3df89fe" + "HWLAB_COMMIT_ID": "48dfbf9", + "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "HWLAB_IMAGE_TAG": "48dfbf9" } }, { "serviceId": "hwlab-agent-mgr", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -248,7 +248,7 @@ }, { "serviceId": "hwlab-agent-worker", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -260,7 +260,7 @@ }, { "serviceId": "hwlab-gateway", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -272,7 +272,7 @@ }, { "serviceId": "hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -292,7 +292,7 @@ }, { "serviceId": "hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -311,7 +311,7 @@ }, { "serviceId": "hwlab-patch-panel", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -332,7 +332,7 @@ }, { "serviceId": "hwlab-router", - "image": "127.0.0.1:5000/hwlab/hwlab-router:3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-router:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -344,7 +344,7 @@ }, { "serviceId": "hwlab-tunnel-client", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -358,7 +358,7 @@ }, { "serviceId": "hwlab-edge-proxy", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -371,7 +371,7 @@ }, { "serviceId": "hwlab-cli", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -382,13 +382,13 @@ }, { "serviceId": "hwlab-agent-skills", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", "replicas": 1, "env": { - "HWLAB_SKILLS_COMMIT_ID": "3df89fe" + "HWLAB_SKILLS_COMMIT_ID": "48dfbf9" } } ], diff --git a/deploy/k8s/base/workloads.yaml b/deploy/k8s/base/workloads.yaml index 85086a19..532f396a 100644 --- a/deploy/k8s/base/workloads.yaml +++ b/deploy/k8s/base/workloads.yaml @@ -31,7 +31,7 @@ "containers": [ { "name": "hwlab-cloud-api", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", "ports": [ { "name": "http", @@ -49,15 +49,15 @@ }, { "name": "HWLAB_COMMIT_ID", - "value": "3df89fe" + "value": "48dfbf9" }, { "name": "HWLAB_IMAGE", - "value": "127.0.0.1:5000/hwlab/hwlab-cloud-api:3df89fe" + "value": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9" }, { "name": "HWLAB_IMAGE_TAG", - "value": "3df89fe" + "value": "48dfbf9" }, { "name": "HWLAB_RUNTIME_SUBSTITUTE_FORBIDDEN", @@ -235,7 +235,7 @@ "containers": [ { "name": "hwlab-cloud-web", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", "ports": [ { "name": "http", @@ -253,15 +253,15 @@ }, { "name": "HWLAB_COMMIT_ID", - "value": "3df89fe" + "value": "48dfbf9" }, { "name": "HWLAB_IMAGE", - "value": "127.0.0.1:5000/hwlab/hwlab-cloud-web:3df89fe" + "value": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9" }, { "name": "HWLAB_IMAGE_TAG", - "value": "3df89fe" + "value": "48dfbf9" } ], "readinessProbe": { @@ -311,7 +311,7 @@ "containers": [ { "name": "hwlab-agent-mgr", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:48dfbf9", "ports": [ { "name": "http", @@ -367,7 +367,7 @@ "containers": [ { "name": "hwlab-agent-worker", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9", "env": [ { "name": "HWLAB_AGENT_SESSION_MODE", @@ -410,7 +410,7 @@ "containers": [ { "name": "hwlab-gateway", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:48dfbf9", "ports": [ { "name": "http", @@ -471,7 +471,7 @@ "containers": [ { "name": "hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9", "ports": [ { "name": "http", @@ -544,7 +544,7 @@ "containers": [ { "name": "hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9", "ports": [ { "name": "http", @@ -612,7 +612,7 @@ "containers": [ { "name": "hwlab-patch-panel", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:48dfbf9", "ports": [ { "name": "http", @@ -676,7 +676,7 @@ "containers": [ { "name": "hwlab-router", - "image": "127.0.0.1:5000/hwlab/hwlab-router:3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-router:48dfbf9", "ports": [ { "name": "http", @@ -736,7 +736,7 @@ "containers": [ { "name": "hwlab-tunnel-client", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9", "ports": [ { "name": "http", @@ -808,7 +808,7 @@ "containers": [ { "name": "hwlab-edge-proxy", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9", "ports": [ { "name": "http", @@ -873,7 +873,7 @@ "containers": [ { "name": "hwlab-cli", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9", "env": [ { "name": "HWLAB_CLI_ENDPOINT", @@ -915,7 +915,7 @@ "containers": [ { "name": "hwlab-agent-skills", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9", "ports": [ { "name": "http", @@ -925,7 +925,7 @@ "env": [ { "name": "HWLAB_SKILLS_COMMIT_ID", - "value": "3df89fe" + "value": "48dfbf9" } ], "readinessProbe": { diff --git a/reports/dev-gate/dev-artifacts.json b/reports/dev-gate/dev-artifacts.json index 06cd7fd5..c7886708 100644 --- a/reports/dev-gate/dev-artifacts.json +++ b/reports/dev-gate/dev-artifacts.json @@ -4,7 +4,7 @@ "reportVersion": "v1", "issue": "pikasTech/HWLAB#35", "taskId": "dev-artifact-publish", - "commitId": "606156f", + "commitId": "48dfbf9", "acceptanceLevel": "dev_artifact_publish", "devOnly": true, "prodDisabled": true, @@ -75,12 +75,12 @@ "status": "published", "mode": "publish", "repo": "pikasTech/HWLAB", - "sourceCommitId": "606156f604e507f8725f6ae9040cea8204375a86", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryPrefix": "127.0.0.1:5000/hwlab", "registryCapabilities": { "version": "v1", "registryPrefix": "127.0.0.1:5000/hwlab", - "generatedAt": "2026-05-23T22:10:57.343Z", + "generatedAt": "2026-05-24T00:07:33.358Z", "classification": "degraded", "dimensions": { "processHttpAccess": { @@ -128,7 +128,7 @@ "names": "unidesk-artifact-registry", "ports": "127.0.0.1:5000->5000/tcp", "state": "running", - "status": "Up 8 hours" + "status": "Up 10 hours" } ], "pushAttempted": false, @@ -165,46 +165,46 @@ "podCount": 13, "pulledImages": [ { - "pod": "hwlab-agent-mgr-6b674fffc8-2glnh", + "pod": "hwlab-agent-mgr-6f4cc98885-6bl9w", "container": "hwlab-agent-mgr", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:e6d4bd5", - "imageID": "127.0.0.1:5000/hwlab/hwlab-agent-mgr@sha256:f37e9b4dd6262ff4c30826fae1a0e01b184d0e57812c7876de73566263ff0c35" + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-agent-mgr@sha256:c5f796204e9609a191230d9faa3bd7740ad50c4977a7eee7ef545665ccf4097c" }, { - "pod": "hwlab-agent-skills-7d8bc4f4b6-mt7jc", + "pod": "hwlab-agent-skills-69485c4dc4-mpgdb", "container": "hwlab-agent-skills", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:e6d4bd5", - "imageID": "127.0.0.1:5000/hwlab/hwlab-agent-skills@sha256:45602b9d09ef22095ab75bd95e2f310626bce61bc4e39a7205009fe9620c2d4f" + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-agent-skills@sha256:4b006f52cf27438956f5269d39483d2ebcf8966b30cf19cd378616b423f93e1f" }, { "pod": "hwlab-box-simu-0", "container": "hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5", - "imageID": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:d551c22242fff6016f15672c4b8b06dbfc85da2c00ecfdd4e40486668b58a56f" + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:e8aa955c810724ca9990fede69c54866dd7abe789ccee9da83ded75a75a99850" }, { "pod": "hwlab-box-simu-1", "container": "hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5", - "imageID": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:d551c22242fff6016f15672c4b8b06dbfc85da2c00ecfdd4e40486668b58a56f" + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:e8aa955c810724ca9990fede69c54866dd7abe789ccee9da83ded75a75a99850" }, { - "pod": "hwlab-cloud-api-77f8f48c77-gzmbl", + "pod": "hwlab-cloud-api-54cdcb57dc-xw9gb", "container": "hwlab-cloud-api", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", - "imageID": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:8a0677290ce3626d3589d1d22a943b49290e74451d75263cdbda3044a6ba105d" + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:fff35a6eec4a70375122f87636759de62039465449053c584d9bc9572b7d1b0d" }, { - "pod": "hwlab-cloud-web-554bb8dfc4-hhtrv", + "pod": "hwlab-cloud-web-5bd7bf9c6-d67jc", "container": "hwlab-cloud-web", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "imageID": "127.0.0.1:5000/hwlab/hwlab-cloud-web@sha256:f43ac97da69212e3ff74cfed36a04d65f0cd9cc7b8cb48f0eaf6f1f19d7dd6da" + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-cloud-web@sha256:cd46ef24e97f430d7761b2cb7100990eda9f79ddf35f8ffc58fba81cd75e9acf" }, { - "pod": "hwlab-edge-proxy-6f984648d4-mp4fm", + "pod": "hwlab-edge-proxy-58984dcc7c-8bvqj", "container": "hwlab-edge-proxy", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:e6d4bd5", - "imageID": "127.0.0.1:5000/hwlab/hwlab-edge-proxy@sha256:6ce280c0fd17218dd5719d1118b5e72fd0c4107dc33951e09b35c374f7affacd" + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-edge-proxy@sha256:a95189dd0cabf9197b7a15dc4cc2995eccf27898e2b0e26c7fd9cbf952fe8119" }, { "pod": "hwlab-frpc-59f57d479c-tgjhl", @@ -215,32 +215,32 @@ { "pod": "hwlab-gateway-simu-0", "container": "hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5", - "imageID": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:38c0372ec72e8f17b26f2fcf83d35718023a81c48529e459d83e36f8cc56ec3a" + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:1a5145313c95c6dfd1e8fca9f10f89cb81178dd545cd43fa158f8c9ac40ca25f" }, { "pod": "hwlab-gateway-simu-1", "container": "hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5", - "imageID": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:38c0372ec72e8f17b26f2fcf83d35718023a81c48529e459d83e36f8cc56ec3a" + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:1a5145313c95c6dfd1e8fca9f10f89cb81178dd545cd43fa158f8c9ac40ca25f" }, { - "pod": "hwlab-patch-panel-655b8ffc8d-kms2q", + "pod": "hwlab-patch-panel-55b9c584d7-7rzqb", "container": "hwlab-patch-panel", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:e6d4bd5", - "imageID": "127.0.0.1:5000/hwlab/hwlab-patch-panel@sha256:6c7f3600a71131c11b994a625fd6ced65ac3bb7f109f3c7f941513cbd1d2def5" + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-patch-panel@sha256:36f569ce71dd9da2c8432ded7f00be9b9e51d0ec5409eeee871dfc3efbd9dbc9" }, { - "pod": "hwlab-router-748d5cbbc5-dzpk6", + "pod": "hwlab-router-76fd584bdb-t26cs", "container": "hwlab-router", - "image": "127.0.0.1:5000/hwlab/hwlab-router:e6d4bd5", - "imageID": "127.0.0.1:5000/hwlab/hwlab-router@sha256:8d9084f3d23e44d3ffe628e9d100ebbad260c857d06b1fbb5791ecd11bfc4d9f" + "image": "127.0.0.1:5000/hwlab/hwlab-router:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-router@sha256:258cc4231a7e0c4de47cce9a8be37b60c9a8a942d09d91b695b006f0dfc396d9" }, { - "pod": "hwlab-tunnel-client-5f54868ddf-dbf57", + "pod": "hwlab-tunnel-client-69d7d6d6d8-pv8b9", "container": "hwlab-tunnel-client", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:e6d4bd5", - "imageID": "127.0.0.1:5000/hwlab/hwlab-tunnel-client@sha256:d6dff1383912ccfed1b1b91dc5ae8323e345f42f57145d7bda788e9941a4ca5a" + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-tunnel-client@sha256:e44e0a0f5b3e88014c85414feeecc892a34e73e2137160cc905d526aede6cf02" } ], "pullFailures": [], @@ -258,8 +258,8 @@ "baseImage": "node:20-bookworm-slim", "baseImagePreflight": { "status": "ready", - "imageSource": "env:HWLAB_DEV_BASE_IMAGE", - "requestedImage": "node:20-bookworm-slim", + "imageSource": "local-docker-node:20-*", + "requestedImage": null, "localTag": "node:20-bookworm-slim", "imageId": "sha256:9da6b4e352d0d5c94963eba1832408f5b7b08839cd8be9b6610c05de5118c704", "repoDigests": [ @@ -267,13 +267,15 @@ ], "candidates": [ { - "source": "env:HWLAB_DEV_BASE_IMAGE", + "source": "local-docker-node:20-*", "approval": { "approved": true, "reason": "local Node 20 builder base image" }, "localTag": "node:20-bookworm-slim", - "imageId": "sha256:9da6b4e352d0d5c94963eba1832408f5b7b08839cd8be9b6610c05de5118c704" + "imageId": "9da6b4e352d0", + "size": "200MB", + "createdSince": "4 weeks ago" } ], "rejectedCandidates": [], @@ -334,7 +336,7 @@ } }, "environment": "dev", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", "serviceInventory": { "version": "v2", "serviceCount": 13, @@ -505,13 +507,13 @@ "publishPlan": { "version": "v2", "mode": "publish", - "sourceCommitId": "606156f604e507f8725f6ae9040cea8204375a86", - "imageTag": "606156f", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "imageTag": "48dfbf9", "registryTarget": "127.0.0.1:5000/hwlab", "registryCapabilities": { "version": "v1", "registryPrefix": "127.0.0.1:5000/hwlab", - "generatedAt": "2026-05-23T22:10:57.343Z", + "generatedAt": "2026-05-24T00:07:33.358Z", "classification": "degraded", "dimensions": { "processHttpAccess": { @@ -559,7 +561,7 @@ "names": "unidesk-artifact-registry", "ports": "127.0.0.1:5000->5000/tcp", "state": "running", - "status": "Up 8 hours" + "status": "Up 10 hours" } ], "pushAttempted": false, @@ -596,46 +598,46 @@ "podCount": 13, "pulledImages": [ { - "pod": "hwlab-agent-mgr-6b674fffc8-2glnh", + "pod": "hwlab-agent-mgr-6f4cc98885-6bl9w", "container": "hwlab-agent-mgr", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:e6d4bd5", - "imageID": "127.0.0.1:5000/hwlab/hwlab-agent-mgr@sha256:f37e9b4dd6262ff4c30826fae1a0e01b184d0e57812c7876de73566263ff0c35" + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-agent-mgr@sha256:c5f796204e9609a191230d9faa3bd7740ad50c4977a7eee7ef545665ccf4097c" }, { - "pod": "hwlab-agent-skills-7d8bc4f4b6-mt7jc", + "pod": "hwlab-agent-skills-69485c4dc4-mpgdb", "container": "hwlab-agent-skills", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:e6d4bd5", - "imageID": "127.0.0.1:5000/hwlab/hwlab-agent-skills@sha256:45602b9d09ef22095ab75bd95e2f310626bce61bc4e39a7205009fe9620c2d4f" + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-agent-skills@sha256:4b006f52cf27438956f5269d39483d2ebcf8966b30cf19cd378616b423f93e1f" }, { "pod": "hwlab-box-simu-0", "container": "hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5", - "imageID": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:d551c22242fff6016f15672c4b8b06dbfc85da2c00ecfdd4e40486668b58a56f" + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:e8aa955c810724ca9990fede69c54866dd7abe789ccee9da83ded75a75a99850" }, { "pod": "hwlab-box-simu-1", "container": "hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5", - "imageID": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:d551c22242fff6016f15672c4b8b06dbfc85da2c00ecfdd4e40486668b58a56f" + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:e8aa955c810724ca9990fede69c54866dd7abe789ccee9da83ded75a75a99850" }, { - "pod": "hwlab-cloud-api-77f8f48c77-gzmbl", + "pod": "hwlab-cloud-api-54cdcb57dc-xw9gb", "container": "hwlab-cloud-api", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", - "imageID": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:8a0677290ce3626d3589d1d22a943b49290e74451d75263cdbda3044a6ba105d" + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:fff35a6eec4a70375122f87636759de62039465449053c584d9bc9572b7d1b0d" }, { - "pod": "hwlab-cloud-web-554bb8dfc4-hhtrv", + "pod": "hwlab-cloud-web-5bd7bf9c6-d67jc", "container": "hwlab-cloud-web", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "imageID": "127.0.0.1:5000/hwlab/hwlab-cloud-web@sha256:f43ac97da69212e3ff74cfed36a04d65f0cd9cc7b8cb48f0eaf6f1f19d7dd6da" + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-cloud-web@sha256:cd46ef24e97f430d7761b2cb7100990eda9f79ddf35f8ffc58fba81cd75e9acf" }, { - "pod": "hwlab-edge-proxy-6f984648d4-mp4fm", + "pod": "hwlab-edge-proxy-58984dcc7c-8bvqj", "container": "hwlab-edge-proxy", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:e6d4bd5", - "imageID": "127.0.0.1:5000/hwlab/hwlab-edge-proxy@sha256:6ce280c0fd17218dd5719d1118b5e72fd0c4107dc33951e09b35c374f7affacd" + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-edge-proxy@sha256:a95189dd0cabf9197b7a15dc4cc2995eccf27898e2b0e26c7fd9cbf952fe8119" }, { "pod": "hwlab-frpc-59f57d479c-tgjhl", @@ -646,32 +648,32 @@ { "pod": "hwlab-gateway-simu-0", "container": "hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5", - "imageID": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:38c0372ec72e8f17b26f2fcf83d35718023a81c48529e459d83e36f8cc56ec3a" + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:1a5145313c95c6dfd1e8fca9f10f89cb81178dd545cd43fa158f8c9ac40ca25f" }, { "pod": "hwlab-gateway-simu-1", "container": "hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5", - "imageID": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:38c0372ec72e8f17b26f2fcf83d35718023a81c48529e459d83e36f8cc56ec3a" + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:1a5145313c95c6dfd1e8fca9f10f89cb81178dd545cd43fa158f8c9ac40ca25f" }, { - "pod": "hwlab-patch-panel-655b8ffc8d-kms2q", + "pod": "hwlab-patch-panel-55b9c584d7-7rzqb", "container": "hwlab-patch-panel", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:e6d4bd5", - "imageID": "127.0.0.1:5000/hwlab/hwlab-patch-panel@sha256:6c7f3600a71131c11b994a625fd6ced65ac3bb7f109f3c7f941513cbd1d2def5" + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-patch-panel@sha256:36f569ce71dd9da2c8432ded7f00be9b9e51d0ec5409eeee871dfc3efbd9dbc9" }, { - "pod": "hwlab-router-748d5cbbc5-dzpk6", + "pod": "hwlab-router-76fd584bdb-t26cs", "container": "hwlab-router", - "image": "127.0.0.1:5000/hwlab/hwlab-router:e6d4bd5", - "imageID": "127.0.0.1:5000/hwlab/hwlab-router@sha256:8d9084f3d23e44d3ffe628e9d100ebbad260c857d06b1fbb5791ecd11bfc4d9f" + "image": "127.0.0.1:5000/hwlab/hwlab-router:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-router@sha256:258cc4231a7e0c4de47cce9a8be37b60c9a8a942d09d91b695b006f0dfc396d9" }, { - "pod": "hwlab-tunnel-client-5f54868ddf-dbf57", + "pod": "hwlab-tunnel-client-69d7d6d6d8-pv8b9", "container": "hwlab-tunnel-client", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:e6d4bd5", - "imageID": "127.0.0.1:5000/hwlab/hwlab-tunnel-client@sha256:d6dff1383912ccfed1b1b91dc5ae8323e345f42f57145d7bda788e9941a4ca5a" + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-tunnel-client@sha256:e44e0a0f5b3e88014c85414feeecc892a34e73e2137160cc905d526aede6cf02" } ], "pullFailures": [], @@ -693,14 +695,14 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "606156f604e507f8725f6ae9040cea8204375a86", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-cloud-api", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:606156f", - "imageTag": "606156f", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", - "buildSource": "pikasTech/HWLAB@606156f604e507f8725f6ae9040cea8204375a86", - "digest": "sha256:cfcdf32ecd7703ccce3843ff59df5dab90f033953d849cb1da7d05700baabac2", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:cfcdf32ecd7703ccce3843ff59df5dab90f033953d849cb1da7d05700baabac2", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:15a9dec43d0ad6b750ea4eda860c1c157c6502441732c1de20ef3b92696d0dfc", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:15a9dec43d0ad6b750ea4eda860c1c157c6502441732c1de20ef3b92696d0dfc", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -710,14 +712,14 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "606156f604e507f8725f6ae9040cea8204375a86", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-cloud-web", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:606156f", - "imageTag": "606156f", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", - "buildSource": "pikasTech/HWLAB@606156f604e507f8725f6ae9040cea8204375a86", - "digest": "sha256:c3e4996cacabcf3f3f66e71f8232c508bf3fdfff5e66ca465e2aef4c060a7006", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cloud-web@sha256:c3e4996cacabcf3f3f66e71f8232c508bf3fdfff5e66ca465e2aef4c060a7006", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:fc1841a6e3e8d427d23b5a0187abbe9d73208e3ad2c638e31b9512aaf075699f", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cloud-web@sha256:fc1841a6e3e8d427d23b5a0187abbe9d73208e3ad2c638e31b9512aaf075699f", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -727,14 +729,14 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "606156f604e507f8725f6ae9040cea8204375a86", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-agent-mgr", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:606156f", - "imageTag": "606156f", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", - "buildSource": "pikasTech/HWLAB@606156f604e507f8725f6ae9040cea8204375a86", - "digest": "sha256:bc857be4e26832119114acbf97365912a51bc96556f869308e95c57d9c44ad8b", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-mgr@sha256:bc857be4e26832119114acbf97365912a51bc96556f869308e95c57d9c44ad8b", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:bdb3dffd0a82e7cf1c48de3d130cbd6e733c242dd5667be4ba098a46888a13d6", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-mgr@sha256:bdb3dffd0a82e7cf1c48de3d130cbd6e733c242dd5667be4ba098a46888a13d6", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -744,14 +746,14 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "606156f604e507f8725f6ae9040cea8204375a86", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-agent-worker", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:606156f", - "imageTag": "606156f", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", - "buildSource": "pikasTech/HWLAB@606156f604e507f8725f6ae9040cea8204375a86", - "digest": "sha256:fd9b975004b0d0979f715dd3fb16f5c0986917198e9097918940b5cdab392bcd", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-worker@sha256:fd9b975004b0d0979f715dd3fb16f5c0986917198e9097918940b5cdab392bcd", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:902590cd05c9af8dcf347b74c05e1fb9fb399eefa54d91ff105dd2fa276ae785", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-worker@sha256:902590cd05c9af8dcf347b74c05e1fb9fb399eefa54d91ff105dd2fa276ae785", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -761,14 +763,14 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "606156f604e507f8725f6ae9040cea8204375a86", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-gateway", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:606156f", - "imageTag": "606156f", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", - "buildSource": "pikasTech/HWLAB@606156f604e507f8725f6ae9040cea8204375a86", - "digest": "sha256:309b3c2bba8610aef0fcf9b9826552d1e8503e3aba378a62b04af1f9649bb71f", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-gateway@sha256:309b3c2bba8610aef0fcf9b9826552d1e8503e3aba378a62b04af1f9649bb71f", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:015916d05ccbd8448e3f32d754335f7c221aaaadf5ae2b63007d7698f7583d04", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-gateway@sha256:015916d05ccbd8448e3f32d754335f7c221aaaadf5ae2b63007d7698f7583d04", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -778,14 +780,14 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "606156f604e507f8725f6ae9040cea8204375a86", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:606156f", - "imageTag": "606156f", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", - "buildSource": "pikasTech/HWLAB@606156f604e507f8725f6ae9040cea8204375a86", - "digest": "sha256:03abc63eb2fe4bbdc4f7e61c4370202c17a4ed99d2b871412872be52926a8431", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:03abc63eb2fe4bbdc4f7e61c4370202c17a4ed99d2b871412872be52926a8431", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:74793df73dfeb27fc45b1085ac1c29839f6545ccfea79d033dfddc89d6f3a553", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:74793df73dfeb27fc45b1085ac1c29839f6545ccfea79d033dfddc89d6f3a553", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -795,14 +797,14 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "606156f604e507f8725f6ae9040cea8204375a86", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:606156f", - "imageTag": "606156f", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", - "buildSource": "pikasTech/HWLAB@606156f604e507f8725f6ae9040cea8204375a86", - "digest": "sha256:b66b3da5158387a02220c5c62fc5ab1790f875c85b73a281bd63ddd8caf8c0b8", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:b66b3da5158387a02220c5c62fc5ab1790f875c85b73a281bd63ddd8caf8c0b8", + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:89d80def71130db7e0f4d9a0ec1dadfcb5d8963bd1f13b71c67eab0a301efb94", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:89d80def71130db7e0f4d9a0ec1dadfcb5d8963bd1f13b71c67eab0a301efb94", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -812,14 +814,14 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "606156f604e507f8725f6ae9040cea8204375a86", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-patch-panel", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:606156f", - "imageTag": "606156f", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", - "buildSource": "pikasTech/HWLAB@606156f604e507f8725f6ae9040cea8204375a86", - "digest": "sha256:dcc13b843ab21ba2499955a47bd0c3aaa4f31e14af8b061b8aff6b2fb6ab880b", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-patch-panel@sha256:dcc13b843ab21ba2499955a47bd0c3aaa4f31e14af8b061b8aff6b2fb6ab880b", + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:160a47204b2263e750cbf412f0d266047eeb6baf8b2be839e5d1987fc6082fea", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-patch-panel@sha256:160a47204b2263e750cbf412f0d266047eeb6baf8b2be839e5d1987fc6082fea", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -829,14 +831,14 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "606156f604e507f8725f6ae9040cea8204375a86", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-router", - "image": "127.0.0.1:5000/hwlab/hwlab-router:606156f", - "imageTag": "606156f", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", - "buildSource": "pikasTech/HWLAB@606156f604e507f8725f6ae9040cea8204375a86", - "digest": "sha256:29ed28b662364c074b39fa4d40cfcbcd1f460f924b5ccd2f199a69c9294783da", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-router@sha256:29ed28b662364c074b39fa4d40cfcbcd1f460f924b5ccd2f199a69c9294783da", + "image": "127.0.0.1:5000/hwlab/hwlab-router:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:0ab02340575ec7e910427f8ea06db2b8f8095922e207ae5e11a64c065fa26df7", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-router@sha256:0ab02340575ec7e910427f8ea06db2b8f8095922e207ae5e11a64c065fa26df7", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -846,14 +848,14 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "606156f604e507f8725f6ae9040cea8204375a86", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-tunnel-client", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:606156f", - "imageTag": "606156f", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", - "buildSource": "pikasTech/HWLAB@606156f604e507f8725f6ae9040cea8204375a86", - "digest": "sha256:089777e979d8d1dd906b3fea1779ec6c8a247394aabc81a61400bf9b222ee44f", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-tunnel-client@sha256:089777e979d8d1dd906b3fea1779ec6c8a247394aabc81a61400bf9b222ee44f", + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:75af6caa96ec03d3f4130e512052f666d75b1e5470fa67f8f66f355e1068e43f", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-tunnel-client@sha256:75af6caa96ec03d3f4130e512052f666d75b1e5470fa67f8f66f355e1068e43f", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -863,14 +865,14 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "606156f604e507f8725f6ae9040cea8204375a86", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-edge-proxy", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:606156f", - "imageTag": "606156f", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", - "buildSource": "pikasTech/HWLAB@606156f604e507f8725f6ae9040cea8204375a86", - "digest": "sha256:eee764ffd41700dd364e8f142ca6944e627f6f6ea789798a82c5f00133df18a5", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-edge-proxy@sha256:eee764ffd41700dd364e8f142ca6944e627f6f6ea789798a82c5f00133df18a5", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:f8b954ad76ab0162e3df0edc26c115f6c697f8f5c4e9d93e24112285b57b9b05", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-edge-proxy@sha256:f8b954ad76ab0162e3df0edc26c115f6c697f8f5c4e9d93e24112285b57b9b05", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -880,14 +882,14 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "606156f604e507f8725f6ae9040cea8204375a86", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-cli", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:606156f", - "imageTag": "606156f", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", - "buildSource": "pikasTech/HWLAB@606156f604e507f8725f6ae9040cea8204375a86", - "digest": "sha256:b5129e9769e797bb8943e556d8a30c46814ab2aad0403e53f8ceaa3446da0ca6", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cli@sha256:b5129e9769e797bb8943e556d8a30c46814ab2aad0403e53f8ceaa3446da0ca6", + "image": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:ae6564b6b0f8ceaf35ab5d2e7f7c04ca8f5e51aa7daedb01e4a6aa31e4bcc16b", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cli@sha256:ae6564b6b0f8ceaf35ab5d2e7f7c04ca8f5e51aa7daedb01e4a6aa31e4bcc16b", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -897,14 +899,14 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "606156f604e507f8725f6ae9040cea8204375a86", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-agent-skills", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:606156f", - "imageTag": "606156f", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", - "buildSource": "pikasTech/HWLAB@606156f604e507f8725f6ae9040cea8204375a86", - "digest": "sha256:5269fb5778b81f2d6aee9087b5ab521bdf3a13bc2d741ef80ed820f71374ed94", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-skills@sha256:5269fb5778b81f2d6aee9087b5ab521bdf3a13bc2d741ef80ed820f71374ed94", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:6fc9b4fda9bea32607774a24d72ecc7999007d910d17e11764abce2bdc35c03d", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-skills@sha256:6fc9b4fda9bea32607774a24d72ecc7999007d910d17e11764abce2bdc35c03d", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -916,17 +918,17 @@ "disabledServiceCount": 0, "builtCount": 13, "publishedCount": 13, - "generatedAt": "2026-05-23T22:22:09.629Z", + "generatedAt": "2026-05-24T00:18:16.112Z", "services": [ { "serviceId": "hwlab-cloud-api", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:606156f", - "imageTag": "606156f", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", - "buildSource": "pikasTech/HWLAB@606156f604e507f8725f6ae9040cea8204375a86", - "digest": "sha256:cfcdf32ecd7703ccce3843ff59df5dab90f033953d849cb1da7d05700baabac2", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:cfcdf32ecd7703ccce3843ff59df5dab90f033953d849cb1da7d05700baabac2", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:15a9dec43d0ad6b750ea4eda860c1c157c6502441732c1de20ef3b92696d0dfc", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:15a9dec43d0ad6b750ea4eda860c1c157c6502441732c1de20ef3b92696d0dfc", "runtimeKind": "node-command", "implementationState": "repo-entrypoint", "sourceState": "source-present", @@ -935,17 +937,17 @@ "artifactRequired": true, "artifactScope": "required", "notPublishedReason": null, - "localImageId": "sha256:f50cfc82d8e31aa586a41260afae8d68b700635d5876e6a1b095cfff4d8d6290" + "localImageId": "sha256:9c816bbd693420beb2f776341ca6af1013123923396a6327e010d85b51e510d8" }, { "serviceId": "hwlab-cloud-web", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:606156f", - "imageTag": "606156f", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", - "buildSource": "pikasTech/HWLAB@606156f604e507f8725f6ae9040cea8204375a86", - "digest": "sha256:c3e4996cacabcf3f3f66e71f8232c508bf3fdfff5e66ca465e2aef4c060a7006", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cloud-web@sha256:c3e4996cacabcf3f3f66e71f8232c508bf3fdfff5e66ca465e2aef4c060a7006", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:fc1841a6e3e8d427d23b5a0187abbe9d73208e3ad2c638e31b9512aaf075699f", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cloud-web@sha256:fc1841a6e3e8d427d23b5a0187abbe9d73208e3ad2c638e31b9512aaf075699f", "runtimeKind": "cloud-web", "distFreshness": { "status": "pass", @@ -956,127 +958,127 @@ { "kind": "runtime", "path": "index.html", - "sourcePath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/index.html", - "distPath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/dist/index.html", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/index.html", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/index.html", "status": "match" }, { "kind": "runtime", "path": "styles.css", - "sourcePath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/styles.css", - "distPath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/dist/styles.css", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/styles.css", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/styles.css", "status": "match" }, { "kind": "runtime", "path": "auth.mjs", - "sourcePath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/auth.mjs", - "distPath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/dist/auth.mjs", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/auth.mjs", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/auth.mjs", "status": "match" }, { "kind": "runtime", "path": "app.mjs", - "sourcePath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/app.mjs", - "distPath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/dist/app.mjs", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/app.mjs", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/app.mjs", "status": "match" }, { "kind": "runtime", "path": "code-agent-facts.mjs", - "sourcePath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/code-agent-facts.mjs", - "distPath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/dist/code-agent-facts.mjs", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/code-agent-facts.mjs", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/code-agent-facts.mjs", "status": "match" }, { "kind": "runtime", "path": "code-agent-status.mjs", - "sourcePath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/code-agent-status.mjs", - "distPath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/dist/code-agent-status.mjs", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/code-agent-status.mjs", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/code-agent-status.mjs", "status": "match" }, { "kind": "runtime", "path": "code-agent-m3-evidence.mjs", - "sourcePath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/code-agent-m3-evidence.mjs", - "distPath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/dist/code-agent-m3-evidence.mjs", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/code-agent-m3-evidence.mjs", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/code-agent-m3-evidence.mjs", "status": "match" }, { "kind": "runtime", "path": "live-status.mjs", - "sourcePath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/live-status.mjs", - "distPath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/dist/live-status.mjs", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/live-status.mjs", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/live-status.mjs", "status": "match" }, { "kind": "runtime", "path": "gate-summary.mjs", - "sourcePath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/gate-summary.mjs", - "distPath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/dist/gate-summary.mjs", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/gate-summary.mjs", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/gate-summary.mjs", "status": "match" }, { "kind": "runtime", "path": "runtime.mjs", - "sourcePath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/runtime.mjs", - "distPath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/dist/runtime.mjs", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/runtime.mjs", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/runtime.mjs", "status": "match" }, { "kind": "runtime", "path": "wiring-status.mjs", - "sourcePath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/wiring-status.mjs", - "distPath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/dist/wiring-status.mjs", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/wiring-status.mjs", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/wiring-status.mjs", "status": "match" }, { "kind": "runtime", "path": "workbench-hardware-panel.mjs", - "sourcePath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/workbench-hardware-panel.mjs", - "distPath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/dist/workbench-hardware-panel.mjs", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/workbench-hardware-panel.mjs", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/workbench-hardware-panel.mjs", "status": "match" }, { "kind": "runtime", "path": "help.md", - "sourcePath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/help.md", - "distPath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/dist/help.md", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/help.md", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/help.md", "status": "match" }, { "kind": "runtime", "path": "third_party/marked/marked.esm.js", - "sourcePath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/third_party/marked/marked.esm.js", - "distPath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/dist/third_party/marked/marked.esm.js", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/third_party/marked/marked.esm.js", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/third_party/marked/marked.esm.js", "status": "match" }, { "kind": "runtime", "path": "third_party/marked/LICENSE", - "sourcePath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/third_party/marked/LICENSE", - "distPath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/dist/third_party/marked/LICENSE", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/third_party/marked/LICENSE", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/third_party/marked/LICENSE", "status": "match" }, { "kind": "alias", "path": "gate/index.html", - "sourcePath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/index.html", - "distPath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/dist/gate/index.html", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/index.html", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/gate/index.html", "status": "match" }, { "kind": "alias", "path": "diagnostics/gate/index.html", - "sourcePath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/index.html", - "distPath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/dist/diagnostics/gate/index.html", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/index.html", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/diagnostics/gate/index.html", "status": "match" }, { "kind": "alias", "path": "help/index.html", - "sourcePath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/index.html", - "distPath": "/home/ubuntu/hwlab-278-postmerge-artifact/web/hwlab-cloud-web/dist/help/index.html", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/index.html", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/help/index.html", "status": "match" } ], @@ -1089,17 +1091,17 @@ "artifactRequired": true, "artifactScope": "required", "notPublishedReason": null, - "localImageId": "sha256:6e2a2fdd5a1bed7cef173be824979da42912d56ff2e982f151b5b3477b7f85aa" + "localImageId": "sha256:3318fd51a8778fa713c7c1cd8697f0a49d59457a9df50011692e2161d90d01e5" }, { "serviceId": "hwlab-agent-mgr", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:606156f", - "imageTag": "606156f", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", - "buildSource": "pikasTech/HWLAB@606156f604e507f8725f6ae9040cea8204375a86", - "digest": "sha256:bc857be4e26832119114acbf97365912a51bc96556f869308e95c57d9c44ad8b", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-mgr@sha256:bc857be4e26832119114acbf97365912a51bc96556f869308e95c57d9c44ad8b", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:bdb3dffd0a82e7cf1c48de3d130cbd6e733c242dd5667be4ba098a46888a13d6", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-mgr@sha256:bdb3dffd0a82e7cf1c48de3d130cbd6e733c242dd5667be4ba098a46888a13d6", "runtimeKind": "node-command", "implementationState": "repo-entrypoint", "sourceState": "source-present", @@ -1108,17 +1110,17 @@ "artifactRequired": true, "artifactScope": "required", "notPublishedReason": null, - "localImageId": "sha256:4898b322bf7494ba15e3de765710c2756a12a7f8fa25f4801620649cb4b13a68" + "localImageId": "sha256:07f95021ca29226179f93b3c04134f7015e2a0adc55f1855da29a35faf345fc8" }, { "serviceId": "hwlab-agent-worker", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:606156f", - "imageTag": "606156f", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", - "buildSource": "pikasTech/HWLAB@606156f604e507f8725f6ae9040cea8204375a86", - "digest": "sha256:fd9b975004b0d0979f715dd3fb16f5c0986917198e9097918940b5cdab392bcd", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-worker@sha256:fd9b975004b0d0979f715dd3fb16f5c0986917198e9097918940b5cdab392bcd", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:902590cd05c9af8dcf347b74c05e1fb9fb399eefa54d91ff105dd2fa276ae785", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-worker@sha256:902590cd05c9af8dcf347b74c05e1fb9fb399eefa54d91ff105dd2fa276ae785", "runtimeKind": "node-command", "implementationState": "repo-entrypoint", "sourceState": "source-present", @@ -1127,17 +1129,17 @@ "artifactRequired": true, "artifactScope": "required", "notPublishedReason": null, - "localImageId": "sha256:7e0590d579ec4da1f4121155bb0e36a84d6277d52ac5fbd1944576c038933e22" + "localImageId": "sha256:7fcc27b11dbdfdbbb099f29f6d0299b5858172a432d8c69540a53331f62eeccc" }, { "serviceId": "hwlab-gateway", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:606156f", - "imageTag": "606156f", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", - "buildSource": "pikasTech/HWLAB@606156f604e507f8725f6ae9040cea8204375a86", - "digest": "sha256:309b3c2bba8610aef0fcf9b9826552d1e8503e3aba378a62b04af1f9649bb71f", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-gateway@sha256:309b3c2bba8610aef0fcf9b9826552d1e8503e3aba378a62b04af1f9649bb71f", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:015916d05ccbd8448e3f32d754335f7c221aaaadf5ae2b63007d7698f7583d04", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-gateway@sha256:015916d05ccbd8448e3f32d754335f7c221aaaadf5ae2b63007d7698f7583d04", "runtimeKind": "node-command", "implementationState": "repo-entrypoint", "sourceState": "source-present", @@ -1146,17 +1148,17 @@ "artifactRequired": true, "artifactScope": "required", "notPublishedReason": null, - "localImageId": "sha256:7a0bae73a61b9ee318fc5ac9b8a31125b309428542217ecf4a412b767328c4d7" + "localImageId": "sha256:9a7a4df65534a20e87b9e3c772b4dc7521dc28f0a3f6e83fd9c4893a716962cf" }, { "serviceId": "hwlab-gateway-simu", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:606156f", - "imageTag": "606156f", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", - "buildSource": "pikasTech/HWLAB@606156f604e507f8725f6ae9040cea8204375a86", - "digest": "sha256:03abc63eb2fe4bbdc4f7e61c4370202c17a4ed99d2b871412872be52926a8431", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:03abc63eb2fe4bbdc4f7e61c4370202c17a4ed99d2b871412872be52926a8431", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:74793df73dfeb27fc45b1085ac1c29839f6545ccfea79d033dfddc89d6f3a553", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:74793df73dfeb27fc45b1085ac1c29839f6545ccfea79d033dfddc89d6f3a553", "runtimeKind": "node-command", "implementationState": "repo-entrypoint", "sourceState": "source-present", @@ -1165,17 +1167,17 @@ "artifactRequired": true, "artifactScope": "required", "notPublishedReason": null, - "localImageId": "sha256:105562a7b1ec4139a9d0b838ac2183b499c1f661581b861b1a051bfa5f2dd9e1" + "localImageId": "sha256:49336246347a76b52992b3101d068128cb56aa8f00d06bf50e8170959e5ace08" }, { "serviceId": "hwlab-box-simu", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:606156f", - "imageTag": "606156f", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", - "buildSource": "pikasTech/HWLAB@606156f604e507f8725f6ae9040cea8204375a86", - "digest": "sha256:b66b3da5158387a02220c5c62fc5ab1790f875c85b73a281bd63ddd8caf8c0b8", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:b66b3da5158387a02220c5c62fc5ab1790f875c85b73a281bd63ddd8caf8c0b8", + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:89d80def71130db7e0f4d9a0ec1dadfcb5d8963bd1f13b71c67eab0a301efb94", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:89d80def71130db7e0f4d9a0ec1dadfcb5d8963bd1f13b71c67eab0a301efb94", "runtimeKind": "node-command", "implementationState": "repo-entrypoint", "sourceState": "source-present", @@ -1184,17 +1186,17 @@ "artifactRequired": true, "artifactScope": "required", "notPublishedReason": null, - "localImageId": "sha256:239a8fb87c71c618003a976a8e63905716b44d8f8a1841fa048b9dce54cc7c9b" + "localImageId": "sha256:396feaf03e04de49b28323fe3604690b3ae3032fb942ddc451aa195b936ac2ef" }, { "serviceId": "hwlab-patch-panel", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:606156f", - "imageTag": "606156f", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", - "buildSource": "pikasTech/HWLAB@606156f604e507f8725f6ae9040cea8204375a86", - "digest": "sha256:dcc13b843ab21ba2499955a47bd0c3aaa4f31e14af8b061b8aff6b2fb6ab880b", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-patch-panel@sha256:dcc13b843ab21ba2499955a47bd0c3aaa4f31e14af8b061b8aff6b2fb6ab880b", + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:160a47204b2263e750cbf412f0d266047eeb6baf8b2be839e5d1987fc6082fea", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-patch-panel@sha256:160a47204b2263e750cbf412f0d266047eeb6baf8b2be839e5d1987fc6082fea", "runtimeKind": "node-command", "implementationState": "repo-entrypoint", "sourceState": "source-present", @@ -1203,17 +1205,17 @@ "artifactRequired": true, "artifactScope": "required", "notPublishedReason": null, - "localImageId": "sha256:ee8aac95ccbcc3e6fedccb21e23d4c2cf9f815fb81f2d9aaf759911eb82cafbf" + "localImageId": "sha256:ddb03264993e56e8c69ac98f9b59cc1e3bbb04ea6a6ce8f5deac99d2830f3390" }, { "serviceId": "hwlab-router", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-router:606156f", - "imageTag": "606156f", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", - "buildSource": "pikasTech/HWLAB@606156f604e507f8725f6ae9040cea8204375a86", - "digest": "sha256:29ed28b662364c074b39fa4d40cfcbcd1f460f924b5ccd2f199a69c9294783da", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-router@sha256:29ed28b662364c074b39fa4d40cfcbcd1f460f924b5ccd2f199a69c9294783da", + "image": "127.0.0.1:5000/hwlab/hwlab-router:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:0ab02340575ec7e910427f8ea06db2b8f8095922e207ae5e11a64c065fa26df7", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-router@sha256:0ab02340575ec7e910427f8ea06db2b8f8095922e207ae5e11a64c065fa26df7", "runtimeKind": "node-command", "implementationState": "repo-entrypoint", "sourceState": "source-present", @@ -1222,17 +1224,17 @@ "artifactRequired": true, "artifactScope": "required", "notPublishedReason": null, - "localImageId": "sha256:8734330403cb7f7474968330b503589ae28ada889bf3cfa9800556fd3f4f275f" + "localImageId": "sha256:a62d9de35de70c79d1c4ded8f29fd0e17f9c326130f5e5891de1e3486bcb0a32" }, { "serviceId": "hwlab-tunnel-client", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:606156f", - "imageTag": "606156f", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", - "buildSource": "pikasTech/HWLAB@606156f604e507f8725f6ae9040cea8204375a86", - "digest": "sha256:089777e979d8d1dd906b3fea1779ec6c8a247394aabc81a61400bf9b222ee44f", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-tunnel-client@sha256:089777e979d8d1dd906b3fea1779ec6c8a247394aabc81a61400bf9b222ee44f", + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:75af6caa96ec03d3f4130e512052f666d75b1e5470fa67f8f66f355e1068e43f", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-tunnel-client@sha256:75af6caa96ec03d3f4130e512052f666d75b1e5470fa67f8f66f355e1068e43f", "runtimeKind": "node-command", "implementationState": "repo-entrypoint", "sourceState": "source-present", @@ -1241,17 +1243,17 @@ "artifactRequired": true, "artifactScope": "required", "notPublishedReason": null, - "localImageId": "sha256:a4c8057b139bd3f6a0cb4a952f1be46bb4f5eb5c3cc0d065e1afe54783406e99" + "localImageId": "sha256:8f8d93f293f9bc431cbc6141a667728d4e5fbbdc2da63088e640309910239d3f" }, { "serviceId": "hwlab-edge-proxy", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:606156f", - "imageTag": "606156f", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", - "buildSource": "pikasTech/HWLAB@606156f604e507f8725f6ae9040cea8204375a86", - "digest": "sha256:eee764ffd41700dd364e8f142ca6944e627f6f6ea789798a82c5f00133df18a5", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-edge-proxy@sha256:eee764ffd41700dd364e8f142ca6944e627f6f6ea789798a82c5f00133df18a5", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:f8b954ad76ab0162e3df0edc26c115f6c697f8f5c4e9d93e24112285b57b9b05", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-edge-proxy@sha256:f8b954ad76ab0162e3df0edc26c115f6c697f8f5c4e9d93e24112285b57b9b05", "runtimeKind": "node-command", "implementationState": "repo-entrypoint", "sourceState": "source-present", @@ -1260,17 +1262,17 @@ "artifactRequired": true, "artifactScope": "required", "notPublishedReason": null, - "localImageId": "sha256:3c1e04db006e39a5c6ea4ac763baaf65e0b9f0bea17cdccc34deeeb4d8d7cf95" + "localImageId": "sha256:2884b8ce00a38b74696d8d49780390ba8df2dd0b1558922f348cafd5b107b933" }, { "serviceId": "hwlab-cli", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:606156f", - "imageTag": "606156f", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", - "buildSource": "pikasTech/HWLAB@606156f604e507f8725f6ae9040cea8204375a86", - "digest": "sha256:b5129e9769e797bb8943e556d8a30c46814ab2aad0403e53f8ceaa3446da0ca6", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cli@sha256:b5129e9769e797bb8943e556d8a30c46814ab2aad0403e53f8ceaa3446da0ca6", + "image": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:ae6564b6b0f8ceaf35ab5d2e7f7c04ca8f5e51aa7daedb01e4a6aa31e4bcc16b", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cli@sha256:ae6564b6b0f8ceaf35ab5d2e7f7c04ca8f5e51aa7daedb01e4a6aa31e4bcc16b", "runtimeKind": "cli", "implementationState": "repo-entrypoint", "sourceState": "source-present", @@ -1279,17 +1281,17 @@ "artifactRequired": true, "artifactScope": "required", "notPublishedReason": null, - "localImageId": "sha256:ef2cb293c4879d9beadada036198754d9b33d3daf83c0972be36e5c883e0fe71" + "localImageId": "sha256:ca36b3a47ba312d09230547f3c6880b3353b89962228aba7509f705ef02dfd9f" }, { "serviceId": "hwlab-agent-skills", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:606156f", - "imageTag": "606156f", - "buildCreatedAt": "2026-05-23T22:10:57.349Z", - "buildSource": "pikasTech/HWLAB@606156f604e507f8725f6ae9040cea8204375a86", - "digest": "sha256:5269fb5778b81f2d6aee9087b5ab521bdf3a13bc2d741ef80ed820f71374ed94", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-skills@sha256:5269fb5778b81f2d6aee9087b5ab521bdf3a13bc2d741ef80ed820f71374ed94", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:6fc9b4fda9bea32607774a24d72ecc7999007d910d17e11764abce2bdc35c03d", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-skills@sha256:6fc9b4fda9bea32607774a24d72ecc7999007d910d17e11764abce2bdc35c03d", "runtimeKind": "skills-bundle", "implementationState": "repo-bundle", "sourceState": "source-present", @@ -1298,7 +1300,7 @@ "artifactRequired": true, "artifactScope": "required", "notPublishedReason": null, - "localImageId": "sha256:3b8c2fd2568103cde10ba72bb36f1c65b2f3fc4bb6cb6899600a459db44310a4" + "localImageId": "sha256:907bc7cead49aa9b82b2c3b905752808c8b692d6140340e255e5f201f4d7cb46" } ], "blockers": [] diff --git a/reports/dev-gate/dev-cd-apply.json b/reports/dev-gate/dev-cd-apply.json index 0d0791af..f457afc3 100644 --- a/reports/dev-gate/dev-cd-apply.json +++ b/reports/dev-gate/dev-cd-apply.json @@ -4,12 +4,12 @@ "reportVersion": "v1", "issue": "pikasTech/HWLAB#274", "taskId": "dev-cd-apply", - "commitId": "e6d4bd5", + "commitId": "48dfbf9", "acceptanceLevel": "dev_cd_apply", "devOnly": true, "prodDisabled": true, "status": "blocked", - "generatedAt": "2026-05-23T21:48:18.309Z", + "generatedAt": "2026-05-24T00:18:39.740Z", "reportLifecycle": { "version": "v1", "state": "active", @@ -86,34 +86,34 @@ "summary": "One or more DEV CD transaction preconditions failed." }, "transaction": { - "transactionId": "35e3d897-c90f-42bf-b41c-c1b042ffbae9", - "ownerTaskId": "DC-DCSN-P0-2026-003-HWLAB-DEV-CD-ROLLOUT-20260523T2138Z", + "transactionId": "5332b2f8-5619-490e-8100-e79fa427f6f9", + "ownerTaskId": "DC-DCSN-P0-2026-003-D601", "targetNamespace": "hwlab-dev", "lockName": "hwlab-dev-cd-lock", "lockBackend": "Lease", - "startedAt": "2026-05-23T21:37:52.909Z", - "finishedAt": "2026-05-23T21:48:18.309Z", + "startedAt": "2026-05-24T00:07:29.282Z", + "finishedAt": "2026-05-24T00:18:39.740Z", "ttlSeconds": 3600, "phases": [ { "phase": "publishing", "status": "entered", - "at": "2026-05-23T21:37:54.541Z" + "at": "2026-05-24T00:07:31.483Z" }, { "phase": "applying", "status": "entered", - "at": "2026-05-23T21:47:57.434Z" + "at": "2026-05-24T00:18:16.303Z" }, { "phase": "verifying", "status": "entered", - "at": "2026-05-23T21:48:14.217Z" + "at": "2026-05-24T00:18:29.423Z" }, { "phase": "released", "status": "released", - "at": "2026-05-23T21:48:18.309Z" + "at": "2026-05-24T00:18:39.740Z" } ], "release": { @@ -122,15 +122,15 @@ "lock": { "lockBackend": "Lease", "lockName": "hwlab-dev-cd-lock", - "resourceVersion": "1495698", + "resourceVersion": "1519233", "holderIdentity": "", - "promotionCommit": "e6d4bd5", - "deployJsonHash": "sha256:4a0a031deb54812637cc083d2cf1bc3dca9ed16418cd7da52970a6e9b2ace70e", - "ownerTaskId": "DC-DCSN-P0-2026-003-HWLAB-DEV-CD-ROLLOUT-20260523T2138Z", - "transactionId": "35e3d897-c90f-42bf-b41c-c1b042ffbae9", + "promotionCommit": "48dfbf9", + "deployJsonHash": "sha256:b23766b798d1ecacb87d30b94ee8ffe77e2ccbe7772ce27e5c94ee152d06f543", + "ownerTaskId": "DC-DCSN-P0-2026-003-D601", + "transactionId": "5332b2f8-5619-490e-8100-e79fa427f6f9", "phase": "released", - "startedAt": "2026-05-23T21:37:53.176000Z", - "updatedAt": "2026-05-23T21:48:18.271000Z", + "startedAt": "2026-05-24T00:07:29.483000Z", + "updatedAt": "2026-05-24T00:18:39.700000Z", "ttlSeconds": 3600, "liveBefore": { "status": "pass", @@ -143,17 +143,17 @@ "httpStatus": 200, "reachable": true, "identityMatches": true, - "startedAt": "2026-05-23T21:37:53.244Z", - "finishedAt": "2026-05-23T21:37:53.799Z", + "startedAt": "2026-05-24T00:07:29.593Z", + "finishedAt": "2026-05-24T00:07:30.157Z", "expectedServiceId": "hwlab-cloud-web", "expectedCommit": null, "serviceId": "hwlab-cloud-web", "environment": "dev", "applicationStatus": "ok", "ready": null, - "observedCommit": "b02ac5b", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:b02ac5b", - "imageTag": "b02ac5b", + "observedCommit": "3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:3df89fe", + "imageTag": "3df89fe", "observedAt": null, "serviceMatches": true, "environmentMatches": true, @@ -167,24 +167,22 @@ "httpStatus": 200, "reachable": true, "identityMatches": true, - "startedAt": "2026-05-23T21:37:53.246Z", - "finishedAt": "2026-05-23T21:37:54.477Z", + "startedAt": "2026-05-24T00:07:29.594Z", + "finishedAt": "2026-05-24T00:07:31.417Z", "expectedServiceId": "hwlab-cloud-api", "expectedCommit": null, "serviceId": "hwlab-cloud-api", "environment": "dev", - "applicationStatus": "degraded", - "ready": false, - "observedCommit": "b02ac5b", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:b02ac5b", - "imageTag": "b02ac5b", - "observedAt": "2026-05-23T21:37:53.704Z", + "applicationStatus": "ok", + "ready": true, + "observedCommit": "3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:3df89fe", + "imageTag": "3df89fe", + "observedAt": "2026-05-24T00:07:30.656Z", "serviceMatches": true, "environmentMatches": true, "commitMatches": null, - "blockerCodes": [ - "stdio_protocol_not_wired" - ] + "blockerCodes": [] } ], "summary": { @@ -199,8 +197,8 @@ } }, "targetNamespace": "hwlab-dev", - "targetRef": "origin/main", - "releasedAt": "2026-05-23T21:48:18.271000Z", + "targetRef": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "releasedAt": "2026-05-24T00:18:39.700000Z", "releaseStatus": "blocked", "staleLockBrokenAt": null, "staleLockPrevious": null @@ -210,35 +208,35 @@ "devCdApply": { "mode": "apply", "target": { - "ref": "origin/main", - "promotionCommit": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "shortCommitId": "e6d4bd5", + "ref": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "promotionCommit": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "shortCommitId": "48dfbf9", "promotionSource": "target-ref", "publishRequired": true, "controlRef": { - "ref": "origin/main", - "commitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "shortCommitId": "e6d4bd5" + "ref": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "commitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "shortCommitId": "48dfbf9" }, - "headCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", + "headCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "headMatchesTarget": true, "desiredStateCheck": null, "artifactBoundary": { "status": "degraded", "controlCommit": { - "commitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "shortCommitId": "e6d4bd5" + "commitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "shortCommitId": "48dfbf9" }, "artifactMergeCommit": { - "commitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "shortCommitId": "e6d4bd5", + "commitId": "b893116e59f54d671b88dcab34072c2f1671540e", + "shortCommitId": "b893116", "isMergeCommit": true, "parents": [ - "cb79b9dac7815dd86d49e9b0c44502064713a37a", - "3c8a146eee8286315d11a60ac1a42de02c24e546" + "034c90763cdcff5083db02612cb9d0d137904860", + "1f292ffd683a124acbfe019396ec2cd200c117e8" ], - "promotionParent": "cb79b9dac7815dd86d49e9b0c44502064713a37a", - "artifactParent": "3c8a146eee8286315d11a60ac1a42de02c24e546", + "promotionParent": "034c90763cdcff5083db02612cb9d0d137904860", + "artifactParent": "1f292ffd683a124acbfe019396ec2cd200c117e8", "promotionParentMatches": false, "changedPaths": [ "deploy/deploy.json", @@ -246,21 +244,21 @@ ] }, "artifactCommit": { - "commitId": "3c8a146eee8286315d11a60ac1a42de02c24e546", - "shortCommitId": "3c8a146", + "commitId": "1f292ffd683a124acbfe019396ec2cd200c117e8", + "shortCommitId": "1f292ff", "parents": [ - "cb79b9dac7815dd86d49e9b0c44502064713a37a" + "034c90763cdcff5083db02612cb9d0d137904860" ], "promotionParentMatches": false }, "desiredState": { - "deployCommitId": "e6d4bd5", - "deployJsonHash": "sha256:4a0a031deb54812637cc083d2cf1bc3dca9ed16418cd7da52970a6e9b2ace70e", - "catalogCommitId": "e6d4bd5", - "catalogHash": "sha256:6195e2ed01c7f0fcad407b454b306b07a81270f8b6e79119158af295c6fd744e", - "reportCommitId": "b02ac5b", - "reportSourceCommitId": "b02ac5becad13aeeab0d5cb7d8f01300bccb78c2", - "reportHash": "sha256:2679ba1b2f89d554e99031fd5fa7df6067a6b42ef7b3fdfc2ee04c0f1880b41b", + "deployCommitId": "48dfbf9", + "deployJsonHash": "sha256:b23766b798d1ecacb87d30b94ee8ffe77e2ccbe7772ce27e5c94ee152d06f543", + "catalogCommitId": "48dfbf9", + "catalogHash": "sha256:0a501437652f961c9fad01c6036297efea318f1ef29ca14fb72f29ab6c3bdf8e", + "reportCommitId": "606156f", + "reportSourceCommitId": "606156f604e507f8725f6ae9040cea8204375a86", + "reportHash": "sha256:a5a1818df4fa43f49270ee383a7dec77050a387420dfbea04ef5bc81f02018ee", "deployCommitMatches": true, "catalogCommitMatches": true, "reportCommitMatches": false, @@ -279,15 +277,15 @@ "deployJson": { "before": { "path": "deploy/deploy.json", - "hash": "sha256:4a0a031deb54812637cc083d2cf1bc3dca9ed16418cd7da52970a6e9b2ace70e", - "commitId": "e6d4bd5", + "hash": "sha256:b23766b798d1ecacb87d30b94ee8ffe77e2ccbe7772ce27e5c94ee152d06f543", + "commitId": "48dfbf9", "namespace": "hwlab-dev", "environment": "dev", "endpoint": "http://74.48.78.17:16667", "manifest": { "manifestVersion": "v1", "environment": "dev", - "commitId": "e6d4bd5", + "commitId": "48dfbf9", "namespace": "hwlab-dev", "endpoint": "http://74.48.78.17:16667", "health": { @@ -467,7 +465,7 @@ "services": [ { "serviceId": "hwlab-cloud-api", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -475,9 +473,9 @@ "env": { "HWLAB_ENVIRONMENT": "dev", "HWLAB_PUBLIC_ENDPOINT": "http://74.48.78.17:16667", - "HWLAB_COMMIT_ID": "e6d4bd5", - "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", - "HWLAB_IMAGE_TAG": "e6d4bd5", + "HWLAB_COMMIT_ID": "48dfbf9", + "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", + "HWLAB_IMAGE_TAG": "48dfbf9", "HWLAB_RUNTIME_SUBSTITUTE_FORBIDDEN": "unidesk-backend,provider-gateway,microservice-proxy", "HWLAB_CLOUD_DB_URL": "secretRef:hwlab-cloud-api-dev-db/database-url", "HWLAB_CLOUD_DB_SSL_MODE": "disable", @@ -490,7 +488,7 @@ "HWLAB_M3_PATCH_PANEL_URL": "http://hwlab-patch-panel.hwlab-dev.svc.cluster.local:7301", "HWLAB_CODE_AGENT_PROVIDER": "codex-stdio", "HWLAB_CODE_AGENT_MODEL": "gpt-5.5", - "HWLAB_CODE_AGENT_TIMEOUT_MS": "120000", + "HWLAB_CODE_AGENT_TIMEOUT_MS": "150000", "HWLAB_CODE_AGENT_OPENAI_BASE_URL": "http://172.26.26.227:17680/v1/responses", "HWLAB_CODE_AGENT_HWLAB_API_BASE_URL": "http://hwlab-cloud-api.hwlab-dev.svc.cluster.local:6667", "HWLAB_CODE_AGENT_CODEX_STDIO_ENABLED": "1", @@ -506,7 +504,7 @@ }, { "serviceId": "hwlab-cloud-web", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -514,15 +512,15 @@ "env": { "HWLAB_ENVIRONMENT": "dev", "HWLAB_API_BASE_URL": "http://hwlab-cloud-api.hwlab-dev.svc.cluster.local:6667", - "HWLAB_CLOUD_WEB_PROXY_TIMEOUT_MS": "150000", - "HWLAB_COMMIT_ID": "e6d4bd5", - "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "HWLAB_IMAGE_TAG": "e6d4bd5" + "HWLAB_CLOUD_WEB_PROXY_TIMEOUT_MS": "180000", + "HWLAB_COMMIT_ID": "48dfbf9", + "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "HWLAB_IMAGE_TAG": "48dfbf9" } }, { "serviceId": "hwlab-agent-mgr", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -534,7 +532,7 @@ }, { "serviceId": "hwlab-agent-worker", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -546,7 +544,7 @@ }, { "serviceId": "hwlab-gateway", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -558,7 +556,7 @@ }, { "serviceId": "hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -578,7 +576,7 @@ }, { "serviceId": "hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -597,7 +595,7 @@ }, { "serviceId": "hwlab-patch-panel", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -618,7 +616,7 @@ }, { "serviceId": "hwlab-router", - "image": "127.0.0.1:5000/hwlab/hwlab-router:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-router:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -630,7 +628,7 @@ }, { "serviceId": "hwlab-tunnel-client", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -644,7 +642,7 @@ }, { "serviceId": "hwlab-edge-proxy", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -652,12 +650,12 @@ "env": { "HWLAB_EDGE_LISTEN": "0.0.0.0:6667", "HWLAB_EDGE_UPSTREAM": "http://hwlab-cloud-api.hwlab-dev.svc.cluster.local:6667", - "HWLAB_EDGE_PROXY_TIMEOUT_MS": "150000" + "HWLAB_EDGE_PROXY_TIMEOUT_MS": "180000" } }, { "serviceId": "hwlab-cli", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -668,13 +666,13 @@ }, { "serviceId": "hwlab-agent-skills", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", "replicas": 1, "env": { - "HWLAB_SKILLS_COMMIT_ID": "e6d4bd5" + "HWLAB_SKILLS_COMMIT_ID": "48dfbf9" } } ], @@ -683,15 +681,15 @@ }, "after": { "path": "deploy/deploy.json", - "hash": "sha256:4a0a031deb54812637cc083d2cf1bc3dca9ed16418cd7da52970a6e9b2ace70e", - "commitId": "e6d4bd5", + "hash": "sha256:b23766b798d1ecacb87d30b94ee8ffe77e2ccbe7772ce27e5c94ee152d06f543", + "commitId": "48dfbf9", "namespace": "hwlab-dev", "environment": "dev", "endpoint": "http://74.48.78.17:16667", "manifest": { "manifestVersion": "v1", "environment": "dev", - "commitId": "e6d4bd5", + "commitId": "48dfbf9", "namespace": "hwlab-dev", "endpoint": "http://74.48.78.17:16667", "health": { @@ -871,7 +869,7 @@ "services": [ { "serviceId": "hwlab-cloud-api", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -879,9 +877,9 @@ "env": { "HWLAB_ENVIRONMENT": "dev", "HWLAB_PUBLIC_ENDPOINT": "http://74.48.78.17:16667", - "HWLAB_COMMIT_ID": "e6d4bd5", - "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", - "HWLAB_IMAGE_TAG": "e6d4bd5", + "HWLAB_COMMIT_ID": "48dfbf9", + "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", + "HWLAB_IMAGE_TAG": "48dfbf9", "HWLAB_RUNTIME_SUBSTITUTE_FORBIDDEN": "unidesk-backend,provider-gateway,microservice-proxy", "HWLAB_CLOUD_DB_URL": "secretRef:hwlab-cloud-api-dev-db/database-url", "HWLAB_CLOUD_DB_SSL_MODE": "disable", @@ -894,7 +892,7 @@ "HWLAB_M3_PATCH_PANEL_URL": "http://hwlab-patch-panel.hwlab-dev.svc.cluster.local:7301", "HWLAB_CODE_AGENT_PROVIDER": "codex-stdio", "HWLAB_CODE_AGENT_MODEL": "gpt-5.5", - "HWLAB_CODE_AGENT_TIMEOUT_MS": "120000", + "HWLAB_CODE_AGENT_TIMEOUT_MS": "150000", "HWLAB_CODE_AGENT_OPENAI_BASE_URL": "http://172.26.26.227:17680/v1/responses", "HWLAB_CODE_AGENT_HWLAB_API_BASE_URL": "http://hwlab-cloud-api.hwlab-dev.svc.cluster.local:6667", "HWLAB_CODE_AGENT_CODEX_STDIO_ENABLED": "1", @@ -910,7 +908,7 @@ }, { "serviceId": "hwlab-cloud-web", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -918,15 +916,15 @@ "env": { "HWLAB_ENVIRONMENT": "dev", "HWLAB_API_BASE_URL": "http://hwlab-cloud-api.hwlab-dev.svc.cluster.local:6667", - "HWLAB_CLOUD_WEB_PROXY_TIMEOUT_MS": "150000", - "HWLAB_COMMIT_ID": "e6d4bd5", - "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "HWLAB_IMAGE_TAG": "e6d4bd5" + "HWLAB_CLOUD_WEB_PROXY_TIMEOUT_MS": "180000", + "HWLAB_COMMIT_ID": "48dfbf9", + "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "HWLAB_IMAGE_TAG": "48dfbf9" } }, { "serviceId": "hwlab-agent-mgr", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -938,7 +936,7 @@ }, { "serviceId": "hwlab-agent-worker", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -950,7 +948,7 @@ }, { "serviceId": "hwlab-gateway", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -962,7 +960,7 @@ }, { "serviceId": "hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -982,7 +980,7 @@ }, { "serviceId": "hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -1001,7 +999,7 @@ }, { "serviceId": "hwlab-patch-panel", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -1022,7 +1020,7 @@ }, { "serviceId": "hwlab-router", - "image": "127.0.0.1:5000/hwlab/hwlab-router:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-router:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -1034,7 +1032,7 @@ }, { "serviceId": "hwlab-tunnel-client", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -1048,7 +1046,7 @@ }, { "serviceId": "hwlab-edge-proxy", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -1056,12 +1054,12 @@ "env": { "HWLAB_EDGE_LISTEN": "0.0.0.0:6667", "HWLAB_EDGE_UPSTREAM": "http://hwlab-cloud-api.hwlab-dev.svc.cluster.local:6667", - "HWLAB_EDGE_PROXY_TIMEOUT_MS": "150000" + "HWLAB_EDGE_PROXY_TIMEOUT_MS": "180000" } }, { "serviceId": "hwlab-cli", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -1072,13 +1070,13 @@ }, { "serviceId": "hwlab-agent-skills", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", "replicas": 1, "env": { - "HWLAB_SKILLS_COMMIT_ID": "e6d4bd5" + "HWLAB_SKILLS_COMMIT_ID": "48dfbf9" } } ], @@ -1091,15 +1089,15 @@ "current": { "lockBackend": "Lease", "lockName": "hwlab-dev-cd-lock", - "resourceVersion": "1495618", - "holderIdentity": "DC-DCSN-P0-2026-003-HWLAB-DEV-CD-ROLLOUT-20260523T2138Z/35e3d897-c90f-42bf-b41c-c1b042ffbae9", - "promotionCommit": "e6d4bd5", - "deployJsonHash": "sha256:4a0a031deb54812637cc083d2cf1bc3dca9ed16418cd7da52970a6e9b2ace70e", - "ownerTaskId": "DC-DCSN-P0-2026-003-HWLAB-DEV-CD-ROLLOUT-20260523T2138Z", - "transactionId": "35e3d897-c90f-42bf-b41c-c1b042ffbae9", + "resourceVersion": "1519083", + "holderIdentity": "DC-DCSN-P0-2026-003-D601/5332b2f8-5619-490e-8100-e79fa427f6f9", + "promotionCommit": "48dfbf9", + "deployJsonHash": "sha256:b23766b798d1ecacb87d30b94ee8ffe77e2ccbe7772ce27e5c94ee152d06f543", + "ownerTaskId": "DC-DCSN-P0-2026-003-D601", + "transactionId": "5332b2f8-5619-490e-8100-e79fa427f6f9", "phase": "verifying", - "startedAt": "2026-05-23T21:37:53.176000Z", - "updatedAt": "2026-05-23T21:48:14.132000Z", + "startedAt": "2026-05-24T00:07:29.483000Z", + "updatedAt": "2026-05-24T00:18:29.335000Z", "ttlSeconds": 3600, "liveBefore": { "status": "pass", @@ -1112,17 +1110,17 @@ "httpStatus": 200, "reachable": true, "identityMatches": true, - "startedAt": "2026-05-23T21:37:53.244Z", - "finishedAt": "2026-05-23T21:37:53.799Z", + "startedAt": "2026-05-24T00:07:29.593Z", + "finishedAt": "2026-05-24T00:07:30.157Z", "expectedServiceId": "hwlab-cloud-web", "expectedCommit": null, "serviceId": "hwlab-cloud-web", "environment": "dev", "applicationStatus": "ok", "ready": null, - "observedCommit": "b02ac5b", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:b02ac5b", - "imageTag": "b02ac5b", + "observedCommit": "3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:3df89fe", + "imageTag": "3df89fe", "observedAt": null, "serviceMatches": true, "environmentMatches": true, @@ -1136,24 +1134,22 @@ "httpStatus": 200, "reachable": true, "identityMatches": true, - "startedAt": "2026-05-23T21:37:53.246Z", - "finishedAt": "2026-05-23T21:37:54.477Z", + "startedAt": "2026-05-24T00:07:29.594Z", + "finishedAt": "2026-05-24T00:07:31.417Z", "expectedServiceId": "hwlab-cloud-api", "expectedCommit": null, "serviceId": "hwlab-cloud-api", "environment": "dev", - "applicationStatus": "degraded", - "ready": false, - "observedCommit": "b02ac5b", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:b02ac5b", - "imageTag": "b02ac5b", - "observedAt": "2026-05-23T21:37:53.704Z", + "applicationStatus": "ok", + "ready": true, + "observedCommit": "3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:3df89fe", + "imageTag": "3df89fe", + "observedAt": "2026-05-24T00:07:30.656Z", "serviceMatches": true, "environmentMatches": true, "commitMatches": null, - "blockerCodes": [ - "stdio_protocol_not_wired" - ] + "blockerCodes": [] } ], "summary": { @@ -1168,7 +1164,7 @@ } }, "targetNamespace": "hwlab-dev", - "targetRef": "origin/main", + "targetRef": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "releasedAt": null, "releaseStatus": "running", "staleLockBrokenAt": null, @@ -1183,8 +1179,8 @@ "status": "pass", "command": "/opt/node-v20.19.2-linux-x64/bin/node scripts/deploy-desired-state-plan.mjs --check --pretty", "code": 0, - "startedAt": "2026-05-23T21:37:54.541Z", - "finishedAt": "2026-05-23T21:37:54.597Z", + "startedAt": "2026-05-24T00:07:31.483Z", + "finishedAt": "2026-05-24T00:07:31.522Z", "stdoutJson": { "kind": "hwlab-deploy-desired-state-plan", "mode": "read-only-plan", @@ -1208,8 +1204,8 @@ }, "checkSemantics": "--check exits non-zero for missing/invalid desired-state sources, internal commit/image mirror drift, invalid target tags, partial target drift, or any mismatch with an explicit --target-ref, --target-tag, or --promotion-commit. When the checked target ref is the current checked-out merge commit, the comparable current-main target is its accepted first parent because a commit cannot embed its own content hash. Without --check, a uniform older desired-state under --target-ref/--target-tag is a read-only promotion plan.", "summary": { - "desiredCommitId": "e6d4bd5", - "desiredImageTag": "e6d4bd5", + "desiredCommitId": "48dfbf9", + "desiredImageTag": "48dfbf9", "artifactState": "contract-skeleton", "ciPublished": false, "registryVerified": false, @@ -1335,11 +1331,11 @@ "present": true, "authoritative": false, "note": "report snapshots are contextual evidence only; deploy desired-state remains authoritative in deploy/, not reports/", - "commitId": "b02ac5b", + "commitId": "606156f", "matchesDesiredState": false, "artifactPublish": { "status": "published", - "sourceCommitId": "b02ac5becad13aeeab0d5cb7d8f01300bccb78c2", + "sourceCommitId": "606156f604e507f8725f6ae9040cea8204375a86", "sourceMatchesDesiredState": false, "publishedCount": 13, "serviceCount": 13, @@ -1351,26 +1347,26 @@ { "serviceId": "hwlab-cloud-api", "deploy": { - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": { "HWLAB_COMMIT_ID": { "name": "HWLAB_COMMIT_ID", - "value": "e6d4bd5", - "expected": "e6d4bd5", + "value": "48dfbf9", + "expected": "48dfbf9", "status": "match" }, "HWLAB_IMAGE": { "name": "HWLAB_IMAGE", - "value": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", - "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", + "value": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", + "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", "status": "match" }, "HWLAB_IMAGE_TAG": { "name": "HWLAB_IMAGE_TAG", - "value": "e6d4bd5", - "expected": "e6d4bd5", + "value": "48dfbf9", + "expected": "48dfbf9", "status": "match" } }, @@ -1382,9 +1378,9 @@ } }, "catalog": { - "commitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", - "imageTag": "e6d4bd5", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", + "imageTag": "48dfbf9", "digest": "not_published", "publishState": "skeleton-only", "artifactRequired": true @@ -1395,26 +1391,26 @@ "name": "hwlab-cloud-api", "namespace": "hwlab-dev", "container": "hwlab-cloud-api", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": { "HWLAB_COMMIT_ID": { "name": "HWLAB_COMMIT_ID", - "value": "e6d4bd5", - "expected": "e6d4bd5", + "value": "48dfbf9", + "expected": "48dfbf9", "status": "match" }, "HWLAB_IMAGE": { "name": "HWLAB_IMAGE", - "value": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", - "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", + "value": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", + "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", "status": "match" }, "HWLAB_IMAGE_TAG": { "name": "HWLAB_IMAGE_TAG", - "value": "e6d4bd5", - "expected": "e6d4bd5", + "value": "48dfbf9", + "expected": "48dfbf9", "status": "match" } }, @@ -1431,26 +1427,26 @@ { "serviceId": "hwlab-cloud-web", "deploy": { - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": { "HWLAB_COMMIT_ID": { "name": "HWLAB_COMMIT_ID", - "value": "e6d4bd5", - "expected": "e6d4bd5", + "value": "48dfbf9", + "expected": "48dfbf9", "status": "match" }, "HWLAB_IMAGE": { "name": "HWLAB_IMAGE", - "value": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", + "value": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", "status": "match" }, "HWLAB_IMAGE_TAG": { "name": "HWLAB_IMAGE_TAG", - "value": "e6d4bd5", - "expected": "e6d4bd5", + "value": "48dfbf9", + "expected": "48dfbf9", "status": "match" } }, @@ -1462,9 +1458,9 @@ } }, "catalog": { - "commitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "imageTag": "e6d4bd5", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "imageTag": "48dfbf9", "digest": "not_published", "publishState": "skeleton-only", "artifactRequired": true @@ -1475,26 +1471,26 @@ "name": "hwlab-cloud-web", "namespace": "hwlab-dev", "container": "hwlab-cloud-web", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": { "HWLAB_COMMIT_ID": { "name": "HWLAB_COMMIT_ID", - "value": "e6d4bd5", - "expected": "e6d4bd5", + "value": "48dfbf9", + "expected": "48dfbf9", "status": "match" }, "HWLAB_IMAGE": { "name": "HWLAB_IMAGE", - "value": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", + "value": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", "status": "match" }, "HWLAB_IMAGE_TAG": { "name": "HWLAB_IMAGE_TAG", - "value": "e6d4bd5", - "expected": "e6d4bd5", + "value": "48dfbf9", + "expected": "48dfbf9", "status": "match" } }, @@ -1511,8 +1507,8 @@ { "serviceId": "hwlab-agent-mgr", "deploy": { - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -1526,9 +1522,9 @@ } }, "catalog": { - "commitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:e6d4bd5", - "imageTag": "e6d4bd5", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:48dfbf9", + "imageTag": "48dfbf9", "digest": "not_published", "publishState": "skeleton-only", "artifactRequired": true @@ -1539,8 +1535,8 @@ "name": "hwlab-agent-mgr", "namespace": "hwlab-dev", "container": "hwlab-agent-mgr", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -1559,8 +1555,8 @@ { "serviceId": "hwlab-agent-worker", "deploy": { - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -1574,9 +1570,9 @@ } }, "catalog": { - "commitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:e6d4bd5", - "imageTag": "e6d4bd5", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9", + "imageTag": "48dfbf9", "digest": "not_published", "publishState": "skeleton-only", "artifactRequired": true @@ -1587,8 +1583,8 @@ "name": "hwlab-agent-worker-template", "namespace": "hwlab-dev", "container": "hwlab-agent-worker", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -1607,8 +1603,8 @@ { "serviceId": "hwlab-gateway", "deploy": { - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -1622,9 +1618,9 @@ } }, "catalog": { - "commitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:e6d4bd5", - "imageTag": "e6d4bd5", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:48dfbf9", + "imageTag": "48dfbf9", "digest": "not_published", "publishState": "skeleton-only", "artifactRequired": true @@ -1635,8 +1631,8 @@ "name": "hwlab-gateway", "namespace": "hwlab-dev", "container": "hwlab-gateway", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -1655,8 +1651,8 @@ { "serviceId": "hwlab-gateway-simu", "deploy": { - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -1670,9 +1666,9 @@ } }, "catalog": { - "commitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5", - "imageTag": "e6d4bd5", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9", + "imageTag": "48dfbf9", "digest": "not_published", "publishState": "skeleton-only", "artifactRequired": true @@ -1683,8 +1679,8 @@ "name": "hwlab-gateway-simu", "namespace": "hwlab-dev", "container": "hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -1703,8 +1699,8 @@ { "serviceId": "hwlab-box-simu", "deploy": { - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -1718,9 +1714,9 @@ } }, "catalog": { - "commitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5", - "imageTag": "e6d4bd5", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9", + "imageTag": "48dfbf9", "digest": "not_published", "publishState": "skeleton-only", "artifactRequired": true @@ -1731,8 +1727,8 @@ "name": "hwlab-box-simu", "namespace": "hwlab-dev", "container": "hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -1751,8 +1747,8 @@ { "serviceId": "hwlab-patch-panel", "deploy": { - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -1766,9 +1762,9 @@ } }, "catalog": { - "commitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:e6d4bd5", - "imageTag": "e6d4bd5", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:48dfbf9", + "imageTag": "48dfbf9", "digest": "not_published", "publishState": "skeleton-only", "artifactRequired": true @@ -1779,8 +1775,8 @@ "name": "hwlab-patch-panel", "namespace": "hwlab-dev", "container": "hwlab-patch-panel", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -1799,8 +1795,8 @@ { "serviceId": "hwlab-router", "deploy": { - "image": "127.0.0.1:5000/hwlab/hwlab-router:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-router:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -1814,9 +1810,9 @@ } }, "catalog": { - "commitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-router:e6d4bd5", - "imageTag": "e6d4bd5", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-router:48dfbf9", + "imageTag": "48dfbf9", "digest": "not_published", "publishState": "skeleton-only", "artifactRequired": true @@ -1827,8 +1823,8 @@ "name": "hwlab-router", "namespace": "hwlab-dev", "container": "hwlab-router", - "image": "127.0.0.1:5000/hwlab/hwlab-router:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-router:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -1847,8 +1843,8 @@ { "serviceId": "hwlab-tunnel-client", "deploy": { - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -1862,9 +1858,9 @@ } }, "catalog": { - "commitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:e6d4bd5", - "imageTag": "e6d4bd5", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9", + "imageTag": "48dfbf9", "digest": "not_published", "publishState": "skeleton-only", "artifactRequired": true @@ -1875,8 +1871,8 @@ "name": "hwlab-tunnel-client", "namespace": "hwlab-dev", "container": "hwlab-tunnel-client", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -1895,8 +1891,8 @@ { "serviceId": "hwlab-edge-proxy", "deploy": { - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -1910,9 +1906,9 @@ } }, "catalog": { - "commitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:e6d4bd5", - "imageTag": "e6d4bd5", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9", + "imageTag": "48dfbf9", "digest": "not_published", "publishState": "skeleton-only", "artifactRequired": true @@ -1923,8 +1919,8 @@ "name": "hwlab-edge-proxy", "namespace": "hwlab-dev", "container": "hwlab-edge-proxy", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -1943,8 +1939,8 @@ { "serviceId": "hwlab-cli", "deploy": { - "image": "127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -1958,9 +1954,9 @@ } }, "catalog": { - "commitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5", - "imageTag": "e6d4bd5", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9", + "imageTag": "48dfbf9", "digest": "not_published", "publishState": "skeleton-only", "artifactRequired": true @@ -1971,8 +1967,8 @@ "name": "hwlab-cli-template", "namespace": "hwlab-dev", "container": "hwlab-cli", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -1991,14 +1987,14 @@ { "serviceId": "hwlab-agent-skills", "deploy": { - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": { "HWLAB_SKILLS_COMMIT_ID": { "name": "HWLAB_SKILLS_COMMIT_ID", - "value": "e6d4bd5", - "expected": "e6d4bd5", + "value": "48dfbf9", + "expected": "48dfbf9", "status": "match" } }, @@ -2012,9 +2008,9 @@ } }, "catalog": { - "commitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:e6d4bd5", - "imageTag": "e6d4bd5", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9", + "imageTag": "48dfbf9", "digest": "not_published", "publishState": "skeleton-only", "artifactRequired": true @@ -2025,14 +2021,14 @@ "name": "hwlab-agent-skills", "namespace": "hwlab-dev", "container": "hwlab-agent-skills", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": { "HWLAB_SKILLS_COMMIT_ID": { "name": "HWLAB_SKILLS_COMMIT_ID", - "value": "e6d4bd5", - "expected": "e6d4bd5", + "value": "48dfbf9", + "expected": "48dfbf9", "status": "match" } }, @@ -2061,18 +2057,18 @@ "status": "pass", "command": "/opt/node-v20.19.2-linux-x64/bin/node scripts/dev-artifact-publish.mjs --publish", "code": 0, - "startedAt": "2026-05-23T21:37:54.597Z", - "finishedAt": "2026-05-23T21:47:57.243Z", + "startedAt": "2026-05-24T00:07:31.523Z", + "finishedAt": "2026-05-24T00:18:16.117Z", "stdoutJson": { "status": "published", "mode": "publish", "reportPath": "reports/dev-gate/dev-artifacts.json", - "sourceCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryPrefix": "127.0.0.1:5000/hwlab", "registryCapabilities": { "version": "v1", "registryPrefix": "127.0.0.1:5000/hwlab", - "generatedAt": "2026-05-23T21:37:56.100Z", + "generatedAt": "2026-05-24T00:07:33.358Z", "classification": "degraded", "dimensions": { "processHttpAccess": { @@ -2120,7 +2116,7 @@ "names": "unidesk-artifact-registry", "ports": "127.0.0.1:5000->5000/tcp", "state": "running", - "status": "Up 8 hours" + "status": "Up 10 hours" } ], "pushAttempted": false, @@ -2157,46 +2153,46 @@ "podCount": 13, "pulledImages": [ { - "pod": "hwlab-agent-mgr-99d44c747-mfqzj", + "pod": "hwlab-agent-mgr-6f4cc98885-6bl9w", "container": "hwlab-agent-mgr", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:b02ac5b", - "imageID": "127.0.0.1:5000/hwlab/hwlab-agent-mgr@sha256:1457c7141f0f6ddeee04c4342e87a0cda8d95718ac64d7b009bf76832c5c7bee" + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-agent-mgr@sha256:c5f796204e9609a191230d9faa3bd7740ad50c4977a7eee7ef545665ccf4097c" }, { - "pod": "hwlab-agent-skills-7f99b49598-lqjdd", + "pod": "hwlab-agent-skills-69485c4dc4-mpgdb", "container": "hwlab-agent-skills", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:b02ac5b", - "imageID": "127.0.0.1:5000/hwlab/hwlab-agent-skills@sha256:22c1ad255a1039ca148444664563ae76209ccbb0d3e7fba27613250c938e3f5b" + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-agent-skills@sha256:4b006f52cf27438956f5269d39483d2ebcf8966b30cf19cd378616b423f93e1f" }, { "pod": "hwlab-box-simu-0", "container": "hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:b02ac5b", - "imageID": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:9fde14a98f0850e139435cf7b473219c3d43231acd2f65b2410e8e3d0f49b858" + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:e8aa955c810724ca9990fede69c54866dd7abe789ccee9da83ded75a75a99850" }, { "pod": "hwlab-box-simu-1", "container": "hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:b02ac5b", - "imageID": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:9fde14a98f0850e139435cf7b473219c3d43231acd2f65b2410e8e3d0f49b858" + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:e8aa955c810724ca9990fede69c54866dd7abe789ccee9da83ded75a75a99850" }, { - "pod": "hwlab-cloud-api-57cfcfc587-kdvg9", + "pod": "hwlab-cloud-api-54cdcb57dc-xw9gb", "container": "hwlab-cloud-api", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:b02ac5b", - "imageID": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:33b2075ed01c5cb77d8b5bbd3cc8e4acaa1dbd8566d091e15e663c43ff63af31" + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:fff35a6eec4a70375122f87636759de62039465449053c584d9bc9572b7d1b0d" }, { - "pod": "hwlab-cloud-web-67c684947b-lkvtj", + "pod": "hwlab-cloud-web-5bd7bf9c6-d67jc", "container": "hwlab-cloud-web", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:b02ac5b", - "imageID": "127.0.0.1:5000/hwlab/hwlab-cloud-web@sha256:a1c95841f6f2bd913c82751f603c164cbb8bfbfd186d14f98d0f2f91c17cd84f" + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-cloud-web@sha256:cd46ef24e97f430d7761b2cb7100990eda9f79ddf35f8ffc58fba81cd75e9acf" }, { - "pod": "hwlab-edge-proxy-85db66bcc9-mv8pv", + "pod": "hwlab-edge-proxy-58984dcc7c-8bvqj", "container": "hwlab-edge-proxy", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:b02ac5b", - "imageID": "127.0.0.1:5000/hwlab/hwlab-edge-proxy@sha256:eb0a165cc57428741a59ef953c8596631f9d85bc51117d16f16d5847803ebfef" + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-edge-proxy@sha256:a95189dd0cabf9197b7a15dc4cc2995eccf27898e2b0e26c7fd9cbf952fe8119" }, { "pod": "hwlab-frpc-59f57d479c-tgjhl", @@ -2207,32 +2203,32 @@ { "pod": "hwlab-gateway-simu-0", "container": "hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:b02ac5b", - "imageID": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:4cfb1315aa93a11ea480ddb0da89994acc344834499d6cf322bbf0ff4b0c3137" + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:1a5145313c95c6dfd1e8fca9f10f89cb81178dd545cd43fa158f8c9ac40ca25f" }, { "pod": "hwlab-gateway-simu-1", "container": "hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:b02ac5b", - "imageID": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:4cfb1315aa93a11ea480ddb0da89994acc344834499d6cf322bbf0ff4b0c3137" + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:1a5145313c95c6dfd1e8fca9f10f89cb81178dd545cd43fa158f8c9ac40ca25f" }, { - "pod": "hwlab-patch-panel-7cd9d9d597-kwnm6", + "pod": "hwlab-patch-panel-55b9c584d7-7rzqb", "container": "hwlab-patch-panel", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:b02ac5b", - "imageID": "127.0.0.1:5000/hwlab/hwlab-patch-panel@sha256:2abe0cb87c3eef6d080a3d60bdd39037df89269b0b730a704a52e12405dceaea" + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-patch-panel@sha256:36f569ce71dd9da2c8432ded7f00be9b9e51d0ec5409eeee871dfc3efbd9dbc9" }, { - "pod": "hwlab-router-65dc5579fb-d2r8l", + "pod": "hwlab-router-76fd584bdb-t26cs", "container": "hwlab-router", - "image": "127.0.0.1:5000/hwlab/hwlab-router:b02ac5b", - "imageID": "127.0.0.1:5000/hwlab/hwlab-router@sha256:fcfa1c1f5231e48d07113fbbbec525b16cc5431b38d4fbacc263f517ad0b9120" + "image": "127.0.0.1:5000/hwlab/hwlab-router:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-router@sha256:258cc4231a7e0c4de47cce9a8be37b60c9a8a942d09d91b695b006f0dfc396d9" }, { - "pod": "hwlab-tunnel-client-54d968477d-mf2qk", + "pod": "hwlab-tunnel-client-69d7d6d6d8-pv8b9", "container": "hwlab-tunnel-client", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:b02ac5b", - "imageID": "127.0.0.1:5000/hwlab/hwlab-tunnel-client@sha256:687826d894137c5c471124f6f3cffdb1165acf23c80dc2cc6fd5bca98434b6e7" + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-tunnel-client@sha256:e44e0a0f5b3e88014c85414feeecc892a34e73e2137160cc905d526aede6cf02" } ], "pullFailures": [], @@ -2329,13 +2325,13 @@ "publishPlan": { "version": "v2", "mode": "publish", - "sourceCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "imageTag": "e6d4bd5", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "imageTag": "48dfbf9", "registryTarget": "127.0.0.1:5000/hwlab", "registryCapabilities": { "version": "v1", "registryPrefix": "127.0.0.1:5000/hwlab", - "generatedAt": "2026-05-23T21:37:56.100Z", + "generatedAt": "2026-05-24T00:07:33.358Z", "classification": "degraded", "dimensions": { "processHttpAccess": { @@ -2383,7 +2379,7 @@ "names": "unidesk-artifact-registry", "ports": "127.0.0.1:5000->5000/tcp", "state": "running", - "status": "Up 8 hours" + "status": "Up 10 hours" } ], "pushAttempted": false, @@ -2420,46 +2416,46 @@ "podCount": 13, "pulledImages": [ { - "pod": "hwlab-agent-mgr-99d44c747-mfqzj", + "pod": "hwlab-agent-mgr-6f4cc98885-6bl9w", "container": "hwlab-agent-mgr", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:b02ac5b", - "imageID": "127.0.0.1:5000/hwlab/hwlab-agent-mgr@sha256:1457c7141f0f6ddeee04c4342e87a0cda8d95718ac64d7b009bf76832c5c7bee" + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-agent-mgr@sha256:c5f796204e9609a191230d9faa3bd7740ad50c4977a7eee7ef545665ccf4097c" }, { - "pod": "hwlab-agent-skills-7f99b49598-lqjdd", + "pod": "hwlab-agent-skills-69485c4dc4-mpgdb", "container": "hwlab-agent-skills", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:b02ac5b", - "imageID": "127.0.0.1:5000/hwlab/hwlab-agent-skills@sha256:22c1ad255a1039ca148444664563ae76209ccbb0d3e7fba27613250c938e3f5b" + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-agent-skills@sha256:4b006f52cf27438956f5269d39483d2ebcf8966b30cf19cd378616b423f93e1f" }, { "pod": "hwlab-box-simu-0", "container": "hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:b02ac5b", - "imageID": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:9fde14a98f0850e139435cf7b473219c3d43231acd2f65b2410e8e3d0f49b858" + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:e8aa955c810724ca9990fede69c54866dd7abe789ccee9da83ded75a75a99850" }, { "pod": "hwlab-box-simu-1", "container": "hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:b02ac5b", - "imageID": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:9fde14a98f0850e139435cf7b473219c3d43231acd2f65b2410e8e3d0f49b858" + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:e8aa955c810724ca9990fede69c54866dd7abe789ccee9da83ded75a75a99850" }, { - "pod": "hwlab-cloud-api-57cfcfc587-kdvg9", + "pod": "hwlab-cloud-api-54cdcb57dc-xw9gb", "container": "hwlab-cloud-api", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:b02ac5b", - "imageID": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:33b2075ed01c5cb77d8b5bbd3cc8e4acaa1dbd8566d091e15e663c43ff63af31" + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:fff35a6eec4a70375122f87636759de62039465449053c584d9bc9572b7d1b0d" }, { - "pod": "hwlab-cloud-web-67c684947b-lkvtj", + "pod": "hwlab-cloud-web-5bd7bf9c6-d67jc", "container": "hwlab-cloud-web", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:b02ac5b", - "imageID": "127.0.0.1:5000/hwlab/hwlab-cloud-web@sha256:a1c95841f6f2bd913c82751f603c164cbb8bfbfd186d14f98d0f2f91c17cd84f" + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-cloud-web@sha256:cd46ef24e97f430d7761b2cb7100990eda9f79ddf35f8ffc58fba81cd75e9acf" }, { - "pod": "hwlab-edge-proxy-85db66bcc9-mv8pv", + "pod": "hwlab-edge-proxy-58984dcc7c-8bvqj", "container": "hwlab-edge-proxy", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:b02ac5b", - "imageID": "127.0.0.1:5000/hwlab/hwlab-edge-proxy@sha256:eb0a165cc57428741a59ef953c8596631f9d85bc51117d16f16d5847803ebfef" + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-edge-proxy@sha256:a95189dd0cabf9197b7a15dc4cc2995eccf27898e2b0e26c7fd9cbf952fe8119" }, { "pod": "hwlab-frpc-59f57d479c-tgjhl", @@ -2470,32 +2466,32 @@ { "pod": "hwlab-gateway-simu-0", "container": "hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:b02ac5b", - "imageID": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:4cfb1315aa93a11ea480ddb0da89994acc344834499d6cf322bbf0ff4b0c3137" + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:1a5145313c95c6dfd1e8fca9f10f89cb81178dd545cd43fa158f8c9ac40ca25f" }, { "pod": "hwlab-gateway-simu-1", "container": "hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:b02ac5b", - "imageID": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:4cfb1315aa93a11ea480ddb0da89994acc344834499d6cf322bbf0ff4b0c3137" + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:1a5145313c95c6dfd1e8fca9f10f89cb81178dd545cd43fa158f8c9ac40ca25f" }, { - "pod": "hwlab-patch-panel-7cd9d9d597-kwnm6", + "pod": "hwlab-patch-panel-55b9c584d7-7rzqb", "container": "hwlab-patch-panel", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:b02ac5b", - "imageID": "127.0.0.1:5000/hwlab/hwlab-patch-panel@sha256:2abe0cb87c3eef6d080a3d60bdd39037df89269b0b730a704a52e12405dceaea" + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-patch-panel@sha256:36f569ce71dd9da2c8432ded7f00be9b9e51d0ec5409eeee871dfc3efbd9dbc9" }, { - "pod": "hwlab-router-65dc5579fb-d2r8l", + "pod": "hwlab-router-76fd584bdb-t26cs", "container": "hwlab-router", - "image": "127.0.0.1:5000/hwlab/hwlab-router:b02ac5b", - "imageID": "127.0.0.1:5000/hwlab/hwlab-router@sha256:fcfa1c1f5231e48d07113fbbbec525b16cc5431b38d4fbacc263f517ad0b9120" + "image": "127.0.0.1:5000/hwlab/hwlab-router:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-router@sha256:258cc4231a7e0c4de47cce9a8be37b60c9a8a942d09d91b695b006f0dfc396d9" }, { - "pod": "hwlab-tunnel-client-54d968477d-mf2qk", + "pod": "hwlab-tunnel-client-69d7d6d6d8-pv8b9", "container": "hwlab-tunnel-client", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:b02ac5b", - "imageID": "127.0.0.1:5000/hwlab/hwlab-tunnel-client@sha256:687826d894137c5c471124f6f3cffdb1165acf23c80dc2cc6fd5bca98434b6e7" + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:3df89fe", + "imageID": "127.0.0.1:5000/hwlab/hwlab-tunnel-client@sha256:e44e0a0f5b3e88014c85414feeecc892a34e73e2137160cc905d526aede6cf02" } ], "pullFailures": [], @@ -2517,14 +2513,14 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-cloud-api", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "buildSource": "pikasTech/HWLAB@e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "digest": "sha256:8a0677290ce3626d3589d1d22a943b49290e74451d75263cdbda3044a6ba105d", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:8a0677290ce3626d3589d1d22a943b49290e74451d75263cdbda3044a6ba105d", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:15a9dec43d0ad6b750ea4eda860c1c157c6502441732c1de20ef3b92696d0dfc", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:15a9dec43d0ad6b750ea4eda860c1c157c6502441732c1de20ef3b92696d0dfc", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -2534,14 +2530,14 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-cloud-web", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "buildSource": "pikasTech/HWLAB@e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "digest": "sha256:f43ac97da69212e3ff74cfed36a04d65f0cd9cc7b8cb48f0eaf6f1f19d7dd6da", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cloud-web@sha256:f43ac97da69212e3ff74cfed36a04d65f0cd9cc7b8cb48f0eaf6f1f19d7dd6da", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:fc1841a6e3e8d427d23b5a0187abbe9d73208e3ad2c638e31b9512aaf075699f", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cloud-web@sha256:fc1841a6e3e8d427d23b5a0187abbe9d73208e3ad2c638e31b9512aaf075699f", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -2551,14 +2547,14 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-agent-mgr", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "buildSource": "pikasTech/HWLAB@e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "digest": "sha256:f37e9b4dd6262ff4c30826fae1a0e01b184d0e57812c7876de73566263ff0c35", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-mgr@sha256:f37e9b4dd6262ff4c30826fae1a0e01b184d0e57812c7876de73566263ff0c35", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:bdb3dffd0a82e7cf1c48de3d130cbd6e733c242dd5667be4ba098a46888a13d6", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-mgr@sha256:bdb3dffd0a82e7cf1c48de3d130cbd6e733c242dd5667be4ba098a46888a13d6", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -2568,14 +2564,14 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-agent-worker", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "buildSource": "pikasTech/HWLAB@e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "digest": "sha256:afdc241c799fe53561b60a37199c73cfb612ea0381ecfba82e66eb08566a8336", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-worker@sha256:afdc241c799fe53561b60a37199c73cfb612ea0381ecfba82e66eb08566a8336", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:902590cd05c9af8dcf347b74c05e1fb9fb399eefa54d91ff105dd2fa276ae785", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-worker@sha256:902590cd05c9af8dcf347b74c05e1fb9fb399eefa54d91ff105dd2fa276ae785", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -2585,14 +2581,14 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-gateway", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "buildSource": "pikasTech/HWLAB@e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "digest": "sha256:27303c093330bddf4c1eb8e3791dce6dbbe97aab28ff17c1faf761b05333cce0", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-gateway@sha256:27303c093330bddf4c1eb8e3791dce6dbbe97aab28ff17c1faf761b05333cce0", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:015916d05ccbd8448e3f32d754335f7c221aaaadf5ae2b63007d7698f7583d04", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-gateway@sha256:015916d05ccbd8448e3f32d754335f7c221aaaadf5ae2b63007d7698f7583d04", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -2602,14 +2598,14 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "buildSource": "pikasTech/HWLAB@e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "digest": "sha256:38c0372ec72e8f17b26f2fcf83d35718023a81c48529e459d83e36f8cc56ec3a", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:38c0372ec72e8f17b26f2fcf83d35718023a81c48529e459d83e36f8cc56ec3a", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:74793df73dfeb27fc45b1085ac1c29839f6545ccfea79d033dfddc89d6f3a553", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:74793df73dfeb27fc45b1085ac1c29839f6545ccfea79d033dfddc89d6f3a553", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -2619,14 +2615,14 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "buildSource": "pikasTech/HWLAB@e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "digest": "sha256:d551c22242fff6016f15672c4b8b06dbfc85da2c00ecfdd4e40486668b58a56f", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:d551c22242fff6016f15672c4b8b06dbfc85da2c00ecfdd4e40486668b58a56f", + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:89d80def71130db7e0f4d9a0ec1dadfcb5d8963bd1f13b71c67eab0a301efb94", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:89d80def71130db7e0f4d9a0ec1dadfcb5d8963bd1f13b71c67eab0a301efb94", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -2636,14 +2632,14 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-patch-panel", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "buildSource": "pikasTech/HWLAB@e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "digest": "sha256:6c7f3600a71131c11b994a625fd6ced65ac3bb7f109f3c7f941513cbd1d2def5", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-patch-panel@sha256:6c7f3600a71131c11b994a625fd6ced65ac3bb7f109f3c7f941513cbd1d2def5", + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:160a47204b2263e750cbf412f0d266047eeb6baf8b2be839e5d1987fc6082fea", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-patch-panel@sha256:160a47204b2263e750cbf412f0d266047eeb6baf8b2be839e5d1987fc6082fea", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -2653,14 +2649,14 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-router", - "image": "127.0.0.1:5000/hwlab/hwlab-router:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "buildSource": "pikasTech/HWLAB@e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "digest": "sha256:8d9084f3d23e44d3ffe628e9d100ebbad260c857d06b1fbb5791ecd11bfc4d9f", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-router@sha256:8d9084f3d23e44d3ffe628e9d100ebbad260c857d06b1fbb5791ecd11bfc4d9f", + "image": "127.0.0.1:5000/hwlab/hwlab-router:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:0ab02340575ec7e910427f8ea06db2b8f8095922e207ae5e11a64c065fa26df7", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-router@sha256:0ab02340575ec7e910427f8ea06db2b8f8095922e207ae5e11a64c065fa26df7", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -2670,14 +2666,14 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-tunnel-client", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "buildSource": "pikasTech/HWLAB@e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "digest": "sha256:d6dff1383912ccfed1b1b91dc5ae8323e345f42f57145d7bda788e9941a4ca5a", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-tunnel-client@sha256:d6dff1383912ccfed1b1b91dc5ae8323e345f42f57145d7bda788e9941a4ca5a", + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:75af6caa96ec03d3f4130e512052f666d75b1e5470fa67f8f66f355e1068e43f", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-tunnel-client@sha256:75af6caa96ec03d3f4130e512052f666d75b1e5470fa67f8f66f355e1068e43f", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -2687,14 +2683,14 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-edge-proxy", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "buildSource": "pikasTech/HWLAB@e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "digest": "sha256:6ce280c0fd17218dd5719d1118b5e72fd0c4107dc33951e09b35c374f7affacd", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-edge-proxy@sha256:6ce280c0fd17218dd5719d1118b5e72fd0c4107dc33951e09b35c374f7affacd", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:f8b954ad76ab0162e3df0edc26c115f6c697f8f5c4e9d93e24112285b57b9b05", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-edge-proxy@sha256:f8b954ad76ab0162e3df0edc26c115f6c697f8f5c4e9d93e24112285b57b9b05", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -2704,14 +2700,14 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-cli", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "buildSource": "pikasTech/HWLAB@e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "digest": "sha256:09a015e727738cd188853af557ecd8ea4adfa8a2250692e7442549e9c80eae1f", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cli@sha256:09a015e727738cd188853af557ecd8ea4adfa8a2250692e7442549e9c80eae1f", + "image": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:ae6564b6b0f8ceaf35ab5d2e7f7c04ca8f5e51aa7daedb01e4a6aa31e4bcc16b", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cli@sha256:ae6564b6b0f8ceaf35ab5d2e7f7c04ca8f5e51aa7daedb01e4a6aa31e4bcc16b", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -2721,14 +2717,14 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-agent-skills", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "buildSource": "pikasTech/HWLAB@e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "digest": "sha256:45602b9d09ef22095ab75bd95e2f310626bce61bc4e39a7205009fe9620c2d4f", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-skills@sha256:45602b9d09ef22095ab75bd95e2f310626bce61bc4e39a7205009fe9620c2d4f", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "buildSource": "pikasTech/HWLAB@48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "digest": "sha256:6fc9b4fda9bea32607774a24d72ecc7999007d910d17e11764abce2bdc35c03d", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-skills@sha256:6fc9b4fda9bea32607774a24d72ecc7999007d910d17e11764abce2bdc35c03d", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -2739,19 +2735,19 @@ { "serviceId": "hwlab-cloud-api", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "digest": "sha256:8a0677290ce3626d3589d1d22a943b49290e74451d75263cdbda3044a6ba105d", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "digest": "sha256:15a9dec43d0ad6b750ea4eda860c1c157c6502441732c1de20ef3b92696d0dfc", "notPublishedReason": null }, { "serviceId": "hwlab-cloud-web", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "digest": "sha256:f43ac97da69212e3ff74cfed36a04d65f0cd9cc7b8cb48f0eaf6f1f19d7dd6da", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "digest": "sha256:fc1841a6e3e8d427d23b5a0187abbe9d73208e3ad2c638e31b9512aaf075699f", "distFreshness": { "status": "pass", "distPath": "web/hwlab-cloud-web/dist", @@ -2761,127 +2757,127 @@ { "kind": "runtime", "path": "index.html", - "sourcePath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/index.html", - "distPath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/dist/index.html", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/index.html", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/index.html", "status": "match" }, { "kind": "runtime", "path": "styles.css", - "sourcePath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/styles.css", - "distPath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/dist/styles.css", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/styles.css", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/styles.css", "status": "match" }, { "kind": "runtime", "path": "auth.mjs", - "sourcePath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/auth.mjs", - "distPath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/dist/auth.mjs", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/auth.mjs", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/auth.mjs", "status": "match" }, { "kind": "runtime", "path": "app.mjs", - "sourcePath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/app.mjs", - "distPath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/dist/app.mjs", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/app.mjs", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/app.mjs", "status": "match" }, { "kind": "runtime", "path": "code-agent-facts.mjs", - "sourcePath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/code-agent-facts.mjs", - "distPath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/dist/code-agent-facts.mjs", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/code-agent-facts.mjs", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/code-agent-facts.mjs", "status": "match" }, { "kind": "runtime", "path": "code-agent-status.mjs", - "sourcePath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/code-agent-status.mjs", - "distPath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/dist/code-agent-status.mjs", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/code-agent-status.mjs", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/code-agent-status.mjs", "status": "match" }, { "kind": "runtime", "path": "code-agent-m3-evidence.mjs", - "sourcePath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/code-agent-m3-evidence.mjs", - "distPath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/dist/code-agent-m3-evidence.mjs", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/code-agent-m3-evidence.mjs", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/code-agent-m3-evidence.mjs", "status": "match" }, { "kind": "runtime", "path": "live-status.mjs", - "sourcePath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/live-status.mjs", - "distPath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/dist/live-status.mjs", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/live-status.mjs", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/live-status.mjs", "status": "match" }, { "kind": "runtime", "path": "gate-summary.mjs", - "sourcePath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/gate-summary.mjs", - "distPath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/dist/gate-summary.mjs", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/gate-summary.mjs", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/gate-summary.mjs", "status": "match" }, { "kind": "runtime", "path": "runtime.mjs", - "sourcePath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/runtime.mjs", - "distPath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/dist/runtime.mjs", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/runtime.mjs", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/runtime.mjs", "status": "match" }, { "kind": "runtime", "path": "wiring-status.mjs", - "sourcePath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/wiring-status.mjs", - "distPath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/dist/wiring-status.mjs", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/wiring-status.mjs", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/wiring-status.mjs", "status": "match" }, { "kind": "runtime", "path": "workbench-hardware-panel.mjs", - "sourcePath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/workbench-hardware-panel.mjs", - "distPath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/dist/workbench-hardware-panel.mjs", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/workbench-hardware-panel.mjs", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/workbench-hardware-panel.mjs", "status": "match" }, { "kind": "runtime", "path": "help.md", - "sourcePath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/help.md", - "distPath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/dist/help.md", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/help.md", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/help.md", "status": "match" }, { "kind": "runtime", "path": "third_party/marked/marked.esm.js", - "sourcePath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/third_party/marked/marked.esm.js", - "distPath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/dist/third_party/marked/marked.esm.js", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/third_party/marked/marked.esm.js", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/third_party/marked/marked.esm.js", "status": "match" }, { "kind": "runtime", "path": "third_party/marked/LICENSE", - "sourcePath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/third_party/marked/LICENSE", - "distPath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/dist/third_party/marked/LICENSE", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/third_party/marked/LICENSE", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/third_party/marked/LICENSE", "status": "match" }, { "kind": "alias", "path": "gate/index.html", - "sourcePath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/index.html", - "distPath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/dist/gate/index.html", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/index.html", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/gate/index.html", "status": "match" }, { "kind": "alias", "path": "diagnostics/gate/index.html", - "sourcePath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/index.html", - "distPath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/dist/diagnostics/gate/index.html", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/index.html", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/diagnostics/gate/index.html", "status": "match" }, { "kind": "alias", "path": "help/index.html", - "sourcePath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/index.html", - "distPath": "/home/ubuntu/hwlab-cd-rollout-e6d4-20260523T213016Z/web/hwlab-cloud-web/dist/help/index.html", + "sourcePath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/index.html", + "distPath": "/home/ubuntu/hwlab-d601-dev-cd-48dfbf9/web/hwlab-cloud-web/dist/help/index.html", "status": "match" } ], @@ -2892,122 +2888,122 @@ { "serviceId": "hwlab-agent-mgr", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "digest": "sha256:f37e9b4dd6262ff4c30826fae1a0e01b184d0e57812c7876de73566263ff0c35", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "digest": "sha256:bdb3dffd0a82e7cf1c48de3d130cbd6e733c242dd5667be4ba098a46888a13d6", "notPublishedReason": null }, { "serviceId": "hwlab-agent-worker", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "digest": "sha256:afdc241c799fe53561b60a37199c73cfb612ea0381ecfba82e66eb08566a8336", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "digest": "sha256:902590cd05c9af8dcf347b74c05e1fb9fb399eefa54d91ff105dd2fa276ae785", "notPublishedReason": null }, { "serviceId": "hwlab-gateway", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "digest": "sha256:27303c093330bddf4c1eb8e3791dce6dbbe97aab28ff17c1faf761b05333cce0", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "digest": "sha256:015916d05ccbd8448e3f32d754335f7c221aaaadf5ae2b63007d7698f7583d04", "notPublishedReason": null }, { "serviceId": "hwlab-gateway-simu", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "digest": "sha256:38c0372ec72e8f17b26f2fcf83d35718023a81c48529e459d83e36f8cc56ec3a", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "digest": "sha256:74793df73dfeb27fc45b1085ac1c29839f6545ccfea79d033dfddc89d6f3a553", "notPublishedReason": null }, { "serviceId": "hwlab-box-simu", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "digest": "sha256:d551c22242fff6016f15672c4b8b06dbfc85da2c00ecfdd4e40486668b58a56f", + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "digest": "sha256:89d80def71130db7e0f4d9a0ec1dadfcb5d8963bd1f13b71c67eab0a301efb94", "notPublishedReason": null }, { "serviceId": "hwlab-patch-panel", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "digest": "sha256:6c7f3600a71131c11b994a625fd6ced65ac3bb7f109f3c7f941513cbd1d2def5", + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "digest": "sha256:160a47204b2263e750cbf412f0d266047eeb6baf8b2be839e5d1987fc6082fea", "notPublishedReason": null }, { "serviceId": "hwlab-router", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-router:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "digest": "sha256:8d9084f3d23e44d3ffe628e9d100ebbad260c857d06b1fbb5791ecd11bfc4d9f", + "image": "127.0.0.1:5000/hwlab/hwlab-router:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "digest": "sha256:0ab02340575ec7e910427f8ea06db2b8f8095922e207ae5e11a64c065fa26df7", "notPublishedReason": null }, { "serviceId": "hwlab-tunnel-client", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "digest": "sha256:d6dff1383912ccfed1b1b91dc5ae8323e345f42f57145d7bda788e9941a4ca5a", + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "digest": "sha256:75af6caa96ec03d3f4130e512052f666d75b1e5470fa67f8f66f355e1068e43f", "notPublishedReason": null }, { "serviceId": "hwlab-edge-proxy", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "digest": "sha256:6ce280c0fd17218dd5719d1118b5e72fd0c4107dc33951e09b35c374f7affacd", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "digest": "sha256:f8b954ad76ab0162e3df0edc26c115f6c697f8f5c4e9d93e24112285b57b9b05", "notPublishedReason": null }, { "serviceId": "hwlab-cli", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "digest": "sha256:09a015e727738cd188853af557ecd8ea4adfa8a2250692e7442549e9c80eae1f", + "image": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "digest": "sha256:ae6564b6b0f8ceaf35ab5d2e7f7c04ca8f5e51aa7daedb01e4a6aa31e4bcc16b", "notPublishedReason": null }, { "serviceId": "hwlab-agent-skills", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "digest": "sha256:45602b9d09ef22095ab75bd95e2f310626bce61bc4e39a7205009fe9620c2d4f", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "digest": "sha256:6fc9b4fda9bea32607774a24d72ecc7999007d910d17e11764abce2bdc35c03d", "notPublishedReason": null } ], "blockers": [] }, "stdoutTail": null, - "stderrTail": "\"event\":\"publish_start\",\"serviceId\":\"hwlab-tunnel-client\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-tunnel-client:e6d4bd5\"}\n{\"event\":\"publish_done\",\"serviceId\":\"hwlab-tunnel-client\",\"status\":\"published\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-tunnel-client:e6d4bd5\",\"digest\":\"sha256:d6dff1383912ccfed1b1b91dc5ae8323e345f42f57145d7bda788e9941a4ca5a\"}\n{\"event\":\"build_start\",\"serviceId\":\"hwlab-edge-proxy\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-edge-proxy:e6d4bd5\"}\n{\"event\":\"build_done\",\"serviceId\":\"hwlab-edge-proxy\",\"status\":\"built\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-edge-proxy:e6d4bd5\"}\n{\"event\":\"publish_start\",\"serviceId\":\"hwlab-edge-proxy\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-edge-proxy:e6d4bd5\"}\n{\"event\":\"publish_done\",\"serviceId\":\"hwlab-edge-proxy\",\"status\":\"published\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-edge-proxy:e6d4bd5\",\"digest\":\"sha256:6ce280c0fd17218dd5719d1118b5e72fd0c4107dc33951e09b35c374f7affacd\"}\n{\"event\":\"build_start\",\"serviceId\":\"hwlab-cli\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5\"}\n{\"event\":\"build_done\",\"serviceId\":\"hwlab-cli\",\"status\":\"built\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5\"}\n{\"event\":\"publish_start\",\"serviceId\":\"hwlab-cli\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5\"}\n{\"event\":\"publish_done\",\"serviceId\":\"hwlab-cli\",\"status\":\"published\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5\",\"digest\":\"sha256:09a015e727738cd188853af557ecd8ea4adfa8a2250692e7442549e9c80eae1f\"}\n{\"event\":\"build_start\",\"serviceId\":\"hwlab-agent-skills\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-agent-skills:e6d4bd5\"}\n{\"event\":\"build_done\",\"serviceId\":\"hwlab-agent-skills\",\"status\":\"built\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-agent-skills:e6d4bd5\"}\n{\"event\":\"publish_start\",\"serviceId\":\"hwlab-agent-skills\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-agent-skills:e6d4bd5\"}\n{\"event\":\"publish_done\",\"serviceId\":\"hwlab-agent-skills\",\"status\":\"published\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-agent-skills:e6d4bd5\",\"digest\":\"sha256:45602b9d09ef22095ab75bd95e2f310626bce61bc4e39a7205009fe9620c2d4f\"}", + "stderrTail": "\"event\":\"publish_start\",\"serviceId\":\"hwlab-tunnel-client\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9\"}\n{\"event\":\"publish_done\",\"serviceId\":\"hwlab-tunnel-client\",\"status\":\"published\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9\",\"digest\":\"sha256:75af6caa96ec03d3f4130e512052f666d75b1e5470fa67f8f66f355e1068e43f\"}\n{\"event\":\"build_start\",\"serviceId\":\"hwlab-edge-proxy\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9\"}\n{\"event\":\"build_done\",\"serviceId\":\"hwlab-edge-proxy\",\"status\":\"built\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9\"}\n{\"event\":\"publish_start\",\"serviceId\":\"hwlab-edge-proxy\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9\"}\n{\"event\":\"publish_done\",\"serviceId\":\"hwlab-edge-proxy\",\"status\":\"published\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9\",\"digest\":\"sha256:f8b954ad76ab0162e3df0edc26c115f6c697f8f5c4e9d93e24112285b57b9b05\"}\n{\"event\":\"build_start\",\"serviceId\":\"hwlab-cli\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9\"}\n{\"event\":\"build_done\",\"serviceId\":\"hwlab-cli\",\"status\":\"built\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9\"}\n{\"event\":\"publish_start\",\"serviceId\":\"hwlab-cli\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9\"}\n{\"event\":\"publish_done\",\"serviceId\":\"hwlab-cli\",\"status\":\"published\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9\",\"digest\":\"sha256:ae6564b6b0f8ceaf35ab5d2e7f7c04ca8f5e51aa7daedb01e4a6aa31e4bcc16b\"}\n{\"event\":\"build_start\",\"serviceId\":\"hwlab-agent-skills\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9\"}\n{\"event\":\"build_done\",\"serviceId\":\"hwlab-agent-skills\",\"status\":\"built\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9\"}\n{\"event\":\"publish_start\",\"serviceId\":\"hwlab-agent-skills\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9\"}\n{\"event\":\"publish_done\",\"serviceId\":\"hwlab-agent-skills\",\"status\":\"published\",\"image\":\"127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9\",\"digest\":\"sha256:6fc9b4fda9bea32607774a24d72ecc7999007d910d17e11764abce2bdc35c03d\"}", "reportPath": "reports/dev-gate/dev-artifacts.json" }, { "id": "artifact-catalog-refresh", "phase": "publishing", "status": "pass", - "command": "/opt/node-v20.19.2-linux-x64/bin/node scripts/refresh-artifact-catalog.mjs --target-ref e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96 --publish-report reports/dev-gate/dev-artifacts.json", + "command": "/opt/node-v20.19.2-linux-x64/bin/node scripts/refresh-artifact-catalog.mjs --target-ref 48dfbf9e7f85f2dd8e17505582e811bdacfd60d5 --publish-report reports/dev-gate/dev-artifacts.json", "code": 0, - "startedAt": "2026-05-23T21:47:57.244Z", - "finishedAt": "2026-05-23T21:47:57.286Z", + "startedAt": "2026-05-24T00:18:16.118Z", + "finishedAt": "2026-05-24T00:18:16.162Z", "stdoutJson": { "status": "published", - "targetRef": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "sourceCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "artifactCommitId": "e6d4bd5", + "targetRef": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "artifactCommitId": "48dfbf9", "wrote": [ "deploy/deploy.json", "deploy/artifact-catalog.dev.json", @@ -3023,130 +3019,130 @@ "services": [ { "serviceId": "hwlab-cloud-api", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "digest": "sha256:8a0677290ce3626d3589d1d22a943b49290e74451d75263cdbda3044a6ba105d", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "digest": "sha256:15a9dec43d0ad6b750ea4eda860c1c157c6502441732c1de20ef3b92696d0dfc", "publishState": "published", "artifactRequired": true, "notPublishedReason": null }, { "serviceId": "hwlab-cloud-web", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "digest": "sha256:f43ac97da69212e3ff74cfed36a04d65f0cd9cc7b8cb48f0eaf6f1f19d7dd6da", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "digest": "sha256:fc1841a6e3e8d427d23b5a0187abbe9d73208e3ad2c638e31b9512aaf075699f", "publishState": "published", "artifactRequired": true, "notPublishedReason": null }, { "serviceId": "hwlab-agent-mgr", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "digest": "sha256:f37e9b4dd6262ff4c30826fae1a0e01b184d0e57812c7876de73566263ff0c35", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "digest": "sha256:bdb3dffd0a82e7cf1c48de3d130cbd6e733c242dd5667be4ba098a46888a13d6", "publishState": "published", "artifactRequired": true, "notPublishedReason": null }, { "serviceId": "hwlab-agent-worker", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "digest": "sha256:afdc241c799fe53561b60a37199c73cfb612ea0381ecfba82e66eb08566a8336", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "digest": "sha256:902590cd05c9af8dcf347b74c05e1fb9fb399eefa54d91ff105dd2fa276ae785", "publishState": "published", "artifactRequired": true, "notPublishedReason": null }, { "serviceId": "hwlab-gateway", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "digest": "sha256:27303c093330bddf4c1eb8e3791dce6dbbe97aab28ff17c1faf761b05333cce0", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "digest": "sha256:015916d05ccbd8448e3f32d754335f7c221aaaadf5ae2b63007d7698f7583d04", "publishState": "published", "artifactRequired": true, "notPublishedReason": null }, { "serviceId": "hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "digest": "sha256:38c0372ec72e8f17b26f2fcf83d35718023a81c48529e459d83e36f8cc56ec3a", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "digest": "sha256:74793df73dfeb27fc45b1085ac1c29839f6545ccfea79d033dfddc89d6f3a553", "publishState": "published", "artifactRequired": true, "notPublishedReason": null }, { "serviceId": "hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "digest": "sha256:d551c22242fff6016f15672c4b8b06dbfc85da2c00ecfdd4e40486668b58a56f", + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "digest": "sha256:89d80def71130db7e0f4d9a0ec1dadfcb5d8963bd1f13b71c67eab0a301efb94", "publishState": "published", "artifactRequired": true, "notPublishedReason": null }, { "serviceId": "hwlab-patch-panel", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "digest": "sha256:6c7f3600a71131c11b994a625fd6ced65ac3bb7f109f3c7f941513cbd1d2def5", + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "digest": "sha256:160a47204b2263e750cbf412f0d266047eeb6baf8b2be839e5d1987fc6082fea", "publishState": "published", "artifactRequired": true, "notPublishedReason": null }, { "serviceId": "hwlab-router", - "image": "127.0.0.1:5000/hwlab/hwlab-router:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "digest": "sha256:8d9084f3d23e44d3ffe628e9d100ebbad260c857d06b1fbb5791ecd11bfc4d9f", + "image": "127.0.0.1:5000/hwlab/hwlab-router:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "digest": "sha256:0ab02340575ec7e910427f8ea06db2b8f8095922e207ae5e11a64c065fa26df7", "publishState": "published", "artifactRequired": true, "notPublishedReason": null }, { "serviceId": "hwlab-tunnel-client", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "digest": "sha256:d6dff1383912ccfed1b1b91dc5ae8323e345f42f57145d7bda788e9941a4ca5a", + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "digest": "sha256:75af6caa96ec03d3f4130e512052f666d75b1e5470fa67f8f66f355e1068e43f", "publishState": "published", "artifactRequired": true, "notPublishedReason": null }, { "serviceId": "hwlab-edge-proxy", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "digest": "sha256:6ce280c0fd17218dd5719d1118b5e72fd0c4107dc33951e09b35c374f7affacd", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "digest": "sha256:f8b954ad76ab0162e3df0edc26c115f6c697f8f5c4e9d93e24112285b57b9b05", "publishState": "published", "artifactRequired": true, "notPublishedReason": null }, { "serviceId": "hwlab-cli", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "digest": "sha256:09a015e727738cd188853af557ecd8ea4adfa8a2250692e7442549e9c80eae1f", + "image": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "digest": "sha256:ae6564b6b0f8ceaf35ab5d2e7f7c04ca8f5e51aa7daedb01e4a6aa31e4bcc16b", "publishState": "published", "artifactRequired": true, "notPublishedReason": null }, { "serviceId": "hwlab-agent-skills", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:e6d4bd5", - "imageTag": "e6d4bd5", - "buildCreatedAt": "2026-05-23T21:37:56.106Z", - "digest": "sha256:45602b9d09ef22095ab75bd95e2f310626bce61bc4e39a7205009fe9620c2d4f", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9", + "imageTag": "48dfbf9", + "buildCreatedAt": "2026-05-24T00:07:33.363Z", + "digest": "sha256:6fc9b4fda9bea32607774a24d72ecc7999007d910d17e11764abce2bdc35c03d", "publishState": "published", "artifactRequired": true, "notPublishedReason": null @@ -3163,10 +3159,10 @@ "status": "pass", "command": "/opt/node-v20.19.2-linux-x64/bin/node scripts/validate-artifact-catalog.mjs", "code": 0, - "startedAt": "2026-05-23T21:47:57.286Z", - "finishedAt": "2026-05-23T21:47:57.319Z", + "startedAt": "2026-05-24T00:18:16.163Z", + "finishedAt": "2026-05-24T00:18:16.194Z", "stdoutJson": null, - "stdoutTail": "validated 13 DEV artifact catalog services at e6d4bd5 (published)", + "stdoutTail": "validated 13 DEV artifact catalog services at 48dfbf9 (published)", "stderrTail": "", "reportPath": null }, @@ -3174,10 +3170,10 @@ "id": "desired-state-check-after-refresh", "phase": "publishing", "status": "pass", - "command": "/opt/node-v20.19.2-linux-x64/bin/node scripts/deploy-desired-state-plan.mjs --promotion-commit e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96 --check --pretty", + "command": "/opt/node-v20.19.2-linux-x64/bin/node scripts/deploy-desired-state-plan.mjs --promotion-commit 48dfbf9e7f85f2dd8e17505582e811bdacfd60d5 --check --pretty", "code": 0, - "startedAt": "2026-05-23T21:47:57.319Z", - "finishedAt": "2026-05-23T21:47:57.365Z", + "startedAt": "2026-05-24T00:18:16.194Z", + "finishedAt": "2026-05-24T00:18:16.233Z", "stdoutJson": { "kind": "hwlab-deploy-desired-state-plan", "mode": "read-only-plan", @@ -3201,8 +3197,8 @@ }, "checkSemantics": "--check exits non-zero for missing/invalid desired-state sources, internal commit/image mirror drift, invalid target tags, partial target drift, or any mismatch with an explicit --target-ref, --target-tag, or --promotion-commit. When the checked target ref is the current checked-out merge commit, the comparable current-main target is its accepted first parent because a commit cannot embed its own content hash. Without --check, a uniform older desired-state under --target-ref/--target-tag is a read-only promotion plan.", "summary": { - "desiredCommitId": "e6d4bd5", - "desiredImageTag": "e6d4bd5", + "desiredCommitId": "48dfbf9", + "desiredImageTag": "48dfbf9", "artifactState": "published", "ciPublished": true, "registryVerified": true, @@ -3215,14 +3211,14 @@ }, "target": { "targetRef": null, - "promotionCommit": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "commitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "shortCommitId": "e6d4bd5", - "tag": "e6d4bd5", + "promotionCommit": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "commitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "shortCommitId": "48dfbf9", + "tag": "48dfbf9", "tagSource": "promotion-commit-short", "acceptedCurrentMain": null, - "comparisonCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "comparisonTag": "e6d4bd5", + "comparisonCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "comparisonTag": "48dfbf9", "requireConvergence": true, "convergenceRequirement": "promotion-commit", "convergence": { @@ -3316,7 +3312,7 @@ "pendingPaths": [] }, "commands": [ - "node scripts/deploy-desired-state-plan.mjs --promotion-commit e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96 --check --pretty" + "node scripts/deploy-desired-state-plan.mjs --promotion-commit 48dfbf9e7f85f2dd8e17505582e811bdacfd60d5 --check --pretty" ] }, "promotionBoundary": { @@ -3433,11 +3429,11 @@ "present": true, "authoritative": false, "note": "report snapshots are contextual evidence only; deploy desired-state remains authoritative in deploy/, not reports/", - "commitId": "e6d4bd5", + "commitId": "48dfbf9", "matchesDesiredState": true, "artifactPublish": { "status": "published", - "sourceCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", + "sourceCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", "sourceMatchesDesiredState": true, "publishedCount": 13, "serviceCount": 13, @@ -3449,26 +3445,26 @@ { "serviceId": "hwlab-cloud-api", "deploy": { - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": { "HWLAB_COMMIT_ID": { "name": "HWLAB_COMMIT_ID", - "value": "e6d4bd5", - "expected": "e6d4bd5", + "value": "48dfbf9", + "expected": "48dfbf9", "status": "match" }, "HWLAB_IMAGE": { "name": "HWLAB_IMAGE", - "value": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", - "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", + "value": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", + "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", "status": "match" }, "HWLAB_IMAGE_TAG": { "name": "HWLAB_IMAGE_TAG", - "value": "e6d4bd5", - "expected": "e6d4bd5", + "value": "48dfbf9", + "expected": "48dfbf9", "status": "match" } }, @@ -3480,10 +3476,10 @@ } }, "catalog": { - "commitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", - "imageTag": "e6d4bd5", - "digest": "sha256:8a0677290ce3626d3589d1d22a943b49290e74451d75263cdbda3044a6ba105d", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:15a9dec43d0ad6b750ea4eda860c1c157c6502441732c1de20ef3b92696d0dfc", "publishState": "published", "artifactRequired": true }, @@ -3493,26 +3489,26 @@ "name": "hwlab-cloud-api", "namespace": "hwlab-dev", "container": "hwlab-cloud-api", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": { "HWLAB_COMMIT_ID": { "name": "HWLAB_COMMIT_ID", - "value": "e6d4bd5", - "expected": "e6d4bd5", + "value": "48dfbf9", + "expected": "48dfbf9", "status": "match" }, "HWLAB_IMAGE": { "name": "HWLAB_IMAGE", - "value": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", - "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", + "value": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", + "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", "status": "match" }, "HWLAB_IMAGE_TAG": { "name": "HWLAB_IMAGE_TAG", - "value": "e6d4bd5", - "expected": "e6d4bd5", + "value": "48dfbf9", + "expected": "48dfbf9", "status": "match" } }, @@ -3525,15 +3521,15 @@ } ], "promotion": { - "targetCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "targetImageTag": "e6d4bd5", - "deployImage": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", - "catalogImage": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", + "targetCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "targetImageTag": "48dfbf9", + "deployImage": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", + "catalogImage": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", "workloadImages": [ { "workload": "hwlab-cloud-api", "container": "hwlab-cloud-api", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9" } ] } @@ -3541,26 +3537,26 @@ { "serviceId": "hwlab-cloud-web", "deploy": { - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": { "HWLAB_COMMIT_ID": { "name": "HWLAB_COMMIT_ID", - "value": "e6d4bd5", - "expected": "e6d4bd5", + "value": "48dfbf9", + "expected": "48dfbf9", "status": "match" }, "HWLAB_IMAGE": { "name": "HWLAB_IMAGE", - "value": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", + "value": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", "status": "match" }, "HWLAB_IMAGE_TAG": { "name": "HWLAB_IMAGE_TAG", - "value": "e6d4bd5", - "expected": "e6d4bd5", + "value": "48dfbf9", + "expected": "48dfbf9", "status": "match" } }, @@ -3572,10 +3568,10 @@ } }, "catalog": { - "commitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "imageTag": "e6d4bd5", - "digest": "sha256:f43ac97da69212e3ff74cfed36a04d65f0cd9cc7b8cb48f0eaf6f1f19d7dd6da", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:fc1841a6e3e8d427d23b5a0187abbe9d73208e3ad2c638e31b9512aaf075699f", "publishState": "published", "artifactRequired": true }, @@ -3585,26 +3581,26 @@ "name": "hwlab-cloud-web", "namespace": "hwlab-dev", "container": "hwlab-cloud-web", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": { "HWLAB_COMMIT_ID": { "name": "HWLAB_COMMIT_ID", - "value": "e6d4bd5", - "expected": "e6d4bd5", + "value": "48dfbf9", + "expected": "48dfbf9", "status": "match" }, "HWLAB_IMAGE": { "name": "HWLAB_IMAGE", - "value": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", + "value": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", "status": "match" }, "HWLAB_IMAGE_TAG": { "name": "HWLAB_IMAGE_TAG", - "value": "e6d4bd5", - "expected": "e6d4bd5", + "value": "48dfbf9", + "expected": "48dfbf9", "status": "match" } }, @@ -3617,15 +3613,15 @@ } ], "promotion": { - "targetCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "targetImageTag": "e6d4bd5", - "deployImage": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "catalogImage": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", + "targetCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "targetImageTag": "48dfbf9", + "deployImage": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "catalogImage": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", "workloadImages": [ { "workload": "hwlab-cloud-web", "container": "hwlab-cloud-web", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9" } ] } @@ -3633,8 +3629,8 @@ { "serviceId": "hwlab-agent-mgr", "deploy": { - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -3648,10 +3644,10 @@ } }, "catalog": { - "commitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:e6d4bd5", - "imageTag": "e6d4bd5", - "digest": "sha256:f37e9b4dd6262ff4c30826fae1a0e01b184d0e57812c7876de73566263ff0c35", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:bdb3dffd0a82e7cf1c48de3d130cbd6e733c242dd5667be4ba098a46888a13d6", "publishState": "published", "artifactRequired": true }, @@ -3661,8 +3657,8 @@ "name": "hwlab-agent-mgr", "namespace": "hwlab-dev", "container": "hwlab-agent-mgr", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -3677,15 +3673,15 @@ } ], "promotion": { - "targetCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "targetImageTag": "e6d4bd5", - "deployImage": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:e6d4bd5", - "catalogImage": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:e6d4bd5", + "targetCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "targetImageTag": "48dfbf9", + "deployImage": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:48dfbf9", + "catalogImage": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:48dfbf9", "workloadImages": [ { "workload": "hwlab-agent-mgr", "container": "hwlab-agent-mgr", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:48dfbf9" } ] } @@ -3693,8 +3689,8 @@ { "serviceId": "hwlab-agent-worker", "deploy": { - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -3708,10 +3704,10 @@ } }, "catalog": { - "commitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:e6d4bd5", - "imageTag": "e6d4bd5", - "digest": "sha256:afdc241c799fe53561b60a37199c73cfb612ea0381ecfba82e66eb08566a8336", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:902590cd05c9af8dcf347b74c05e1fb9fb399eefa54d91ff105dd2fa276ae785", "publishState": "published", "artifactRequired": true }, @@ -3721,8 +3717,8 @@ "name": "hwlab-agent-worker-template", "namespace": "hwlab-dev", "container": "hwlab-agent-worker", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -3737,15 +3733,15 @@ } ], "promotion": { - "targetCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "targetImageTag": "e6d4bd5", - "deployImage": "127.0.0.1:5000/hwlab/hwlab-agent-worker:e6d4bd5", - "catalogImage": "127.0.0.1:5000/hwlab/hwlab-agent-worker:e6d4bd5", + "targetCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "targetImageTag": "48dfbf9", + "deployImage": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9", + "catalogImage": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9", "workloadImages": [ { "workload": "hwlab-agent-worker-template", "container": "hwlab-agent-worker", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9" } ] } @@ -3753,8 +3749,8 @@ { "serviceId": "hwlab-gateway", "deploy": { - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -3768,10 +3764,10 @@ } }, "catalog": { - "commitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:e6d4bd5", - "imageTag": "e6d4bd5", - "digest": "sha256:27303c093330bddf4c1eb8e3791dce6dbbe97aab28ff17c1faf761b05333cce0", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:015916d05ccbd8448e3f32d754335f7c221aaaadf5ae2b63007d7698f7583d04", "publishState": "published", "artifactRequired": true }, @@ -3781,8 +3777,8 @@ "name": "hwlab-gateway", "namespace": "hwlab-dev", "container": "hwlab-gateway", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -3797,15 +3793,15 @@ } ], "promotion": { - "targetCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "targetImageTag": "e6d4bd5", - "deployImage": "127.0.0.1:5000/hwlab/hwlab-gateway:e6d4bd5", - "catalogImage": "127.0.0.1:5000/hwlab/hwlab-gateway:e6d4bd5", + "targetCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "targetImageTag": "48dfbf9", + "deployImage": "127.0.0.1:5000/hwlab/hwlab-gateway:48dfbf9", + "catalogImage": "127.0.0.1:5000/hwlab/hwlab-gateway:48dfbf9", "workloadImages": [ { "workload": "hwlab-gateway", "container": "hwlab-gateway", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:48dfbf9" } ] } @@ -3813,8 +3809,8 @@ { "serviceId": "hwlab-gateway-simu", "deploy": { - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -3828,10 +3824,10 @@ } }, "catalog": { - "commitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5", - "imageTag": "e6d4bd5", - "digest": "sha256:38c0372ec72e8f17b26f2fcf83d35718023a81c48529e459d83e36f8cc56ec3a", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:74793df73dfeb27fc45b1085ac1c29839f6545ccfea79d033dfddc89d6f3a553", "publishState": "published", "artifactRequired": true }, @@ -3841,8 +3837,8 @@ "name": "hwlab-gateway-simu", "namespace": "hwlab-dev", "container": "hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -3857,15 +3853,15 @@ } ], "promotion": { - "targetCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "targetImageTag": "e6d4bd5", - "deployImage": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5", - "catalogImage": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5", + "targetCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "targetImageTag": "48dfbf9", + "deployImage": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9", + "catalogImage": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9", "workloadImages": [ { "workload": "hwlab-gateway-simu", "container": "hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9" } ] } @@ -3873,8 +3869,8 @@ { "serviceId": "hwlab-box-simu", "deploy": { - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -3888,10 +3884,10 @@ } }, "catalog": { - "commitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5", - "imageTag": "e6d4bd5", - "digest": "sha256:d551c22242fff6016f15672c4b8b06dbfc85da2c00ecfdd4e40486668b58a56f", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:89d80def71130db7e0f4d9a0ec1dadfcb5d8963bd1f13b71c67eab0a301efb94", "publishState": "published", "artifactRequired": true }, @@ -3901,8 +3897,8 @@ "name": "hwlab-box-simu", "namespace": "hwlab-dev", "container": "hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -3917,15 +3913,15 @@ } ], "promotion": { - "targetCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "targetImageTag": "e6d4bd5", - "deployImage": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5", - "catalogImage": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5", + "targetCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "targetImageTag": "48dfbf9", + "deployImage": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9", + "catalogImage": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9", "workloadImages": [ { "workload": "hwlab-box-simu", "container": "hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9" } ] } @@ -3933,8 +3929,8 @@ { "serviceId": "hwlab-patch-panel", "deploy": { - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -3948,10 +3944,10 @@ } }, "catalog": { - "commitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:e6d4bd5", - "imageTag": "e6d4bd5", - "digest": "sha256:6c7f3600a71131c11b994a625fd6ced65ac3bb7f109f3c7f941513cbd1d2def5", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:160a47204b2263e750cbf412f0d266047eeb6baf8b2be839e5d1987fc6082fea", "publishState": "published", "artifactRequired": true }, @@ -3961,8 +3957,8 @@ "name": "hwlab-patch-panel", "namespace": "hwlab-dev", "container": "hwlab-patch-panel", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -3977,15 +3973,15 @@ } ], "promotion": { - "targetCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "targetImageTag": "e6d4bd5", - "deployImage": "127.0.0.1:5000/hwlab/hwlab-patch-panel:e6d4bd5", - "catalogImage": "127.0.0.1:5000/hwlab/hwlab-patch-panel:e6d4bd5", + "targetCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "targetImageTag": "48dfbf9", + "deployImage": "127.0.0.1:5000/hwlab/hwlab-patch-panel:48dfbf9", + "catalogImage": "127.0.0.1:5000/hwlab/hwlab-patch-panel:48dfbf9", "workloadImages": [ { "workload": "hwlab-patch-panel", "container": "hwlab-patch-panel", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:48dfbf9" } ] } @@ -3993,8 +3989,8 @@ { "serviceId": "hwlab-router", "deploy": { - "image": "127.0.0.1:5000/hwlab/hwlab-router:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-router:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -4008,10 +4004,10 @@ } }, "catalog": { - "commitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-router:e6d4bd5", - "imageTag": "e6d4bd5", - "digest": "sha256:8d9084f3d23e44d3ffe628e9d100ebbad260c857d06b1fbb5791ecd11bfc4d9f", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-router:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:0ab02340575ec7e910427f8ea06db2b8f8095922e207ae5e11a64c065fa26df7", "publishState": "published", "artifactRequired": true }, @@ -4021,8 +4017,8 @@ "name": "hwlab-router", "namespace": "hwlab-dev", "container": "hwlab-router", - "image": "127.0.0.1:5000/hwlab/hwlab-router:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-router:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -4037,15 +4033,15 @@ } ], "promotion": { - "targetCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "targetImageTag": "e6d4bd5", - "deployImage": "127.0.0.1:5000/hwlab/hwlab-router:e6d4bd5", - "catalogImage": "127.0.0.1:5000/hwlab/hwlab-router:e6d4bd5", + "targetCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "targetImageTag": "48dfbf9", + "deployImage": "127.0.0.1:5000/hwlab/hwlab-router:48dfbf9", + "catalogImage": "127.0.0.1:5000/hwlab/hwlab-router:48dfbf9", "workloadImages": [ { "workload": "hwlab-router", "container": "hwlab-router", - "image": "127.0.0.1:5000/hwlab/hwlab-router:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-router:48dfbf9" } ] } @@ -4053,8 +4049,8 @@ { "serviceId": "hwlab-tunnel-client", "deploy": { - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -4068,10 +4064,10 @@ } }, "catalog": { - "commitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:e6d4bd5", - "imageTag": "e6d4bd5", - "digest": "sha256:d6dff1383912ccfed1b1b91dc5ae8323e345f42f57145d7bda788e9941a4ca5a", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:75af6caa96ec03d3f4130e512052f666d75b1e5470fa67f8f66f355e1068e43f", "publishState": "published", "artifactRequired": true }, @@ -4081,8 +4077,8 @@ "name": "hwlab-tunnel-client", "namespace": "hwlab-dev", "container": "hwlab-tunnel-client", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -4097,15 +4093,15 @@ } ], "promotion": { - "targetCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "targetImageTag": "e6d4bd5", - "deployImage": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:e6d4bd5", - "catalogImage": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:e6d4bd5", + "targetCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "targetImageTag": "48dfbf9", + "deployImage": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9", + "catalogImage": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9", "workloadImages": [ { "workload": "hwlab-tunnel-client", "container": "hwlab-tunnel-client", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9" } ] } @@ -4113,8 +4109,8 @@ { "serviceId": "hwlab-edge-proxy", "deploy": { - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -4128,10 +4124,10 @@ } }, "catalog": { - "commitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:e6d4bd5", - "imageTag": "e6d4bd5", - "digest": "sha256:6ce280c0fd17218dd5719d1118b5e72fd0c4107dc33951e09b35c374f7affacd", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:f8b954ad76ab0162e3df0edc26c115f6c697f8f5c4e9d93e24112285b57b9b05", "publishState": "published", "artifactRequired": true }, @@ -4141,8 +4137,8 @@ "name": "hwlab-edge-proxy", "namespace": "hwlab-dev", "container": "hwlab-edge-proxy", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -4157,15 +4153,15 @@ } ], "promotion": { - "targetCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "targetImageTag": "e6d4bd5", - "deployImage": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:e6d4bd5", - "catalogImage": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:e6d4bd5", + "targetCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "targetImageTag": "48dfbf9", + "deployImage": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9", + "catalogImage": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9", "workloadImages": [ { "workload": "hwlab-edge-proxy", "container": "hwlab-edge-proxy", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9" } ] } @@ -4173,8 +4169,8 @@ { "serviceId": "hwlab-cli", "deploy": { - "image": "127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -4188,10 +4184,10 @@ } }, "catalog": { - "commitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5", - "imageTag": "e6d4bd5", - "digest": "sha256:09a015e727738cd188853af557ecd8ea4adfa8a2250692e7442549e9c80eae1f", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:ae6564b6b0f8ceaf35ab5d2e7f7c04ca8f5e51aa7daedb01e4a6aa31e4bcc16b", "publishState": "published", "artifactRequired": true }, @@ -4201,8 +4197,8 @@ "name": "hwlab-cli-template", "namespace": "hwlab-dev", "container": "hwlab-cli", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": {}, "missing": [ @@ -4217,15 +4213,15 @@ } ], "promotion": { - "targetCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "targetImageTag": "e6d4bd5", - "deployImage": "127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5", - "catalogImage": "127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5", + "targetCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "targetImageTag": "48dfbf9", + "deployImage": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9", + "catalogImage": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9", "workloadImages": [ { "workload": "hwlab-cli-template", "container": "hwlab-cli", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9" } ] } @@ -4233,14 +4229,14 @@ { "serviceId": "hwlab-agent-skills", "deploy": { - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": { "HWLAB_SKILLS_COMMIT_ID": { "name": "HWLAB_SKILLS_COMMIT_ID", - "value": "e6d4bd5", - "expected": "e6d4bd5", + "value": "48dfbf9", + "expected": "48dfbf9", "status": "match" } }, @@ -4254,10 +4250,10 @@ } }, "catalog": { - "commitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:e6d4bd5", - "imageTag": "e6d4bd5", - "digest": "sha256:45602b9d09ef22095ab75bd95e2f310626bce61bc4e39a7205009fe9620c2d4f", + "commitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:6fc9b4fda9bea32607774a24d72ecc7999007d910d17e11764abce2bdc35c03d", "publishState": "published", "artifactRequired": true }, @@ -4267,14 +4263,14 @@ "name": "hwlab-agent-skills", "namespace": "hwlab-dev", "container": "hwlab-agent-skills", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:e6d4bd5", - "imageTag": "e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9", + "imageTag": "48dfbf9", "envMirrors": { "present": { "HWLAB_SKILLS_COMMIT_ID": { "name": "HWLAB_SKILLS_COMMIT_ID", - "value": "e6d4bd5", - "expected": "e6d4bd5", + "value": "48dfbf9", + "expected": "48dfbf9", "status": "match" } }, @@ -4289,15 +4285,15 @@ } ], "promotion": { - "targetCommitId": "e6d4bd5c72192ce7416849e93a93b1ffa0ebeb96", - "targetImageTag": "e6d4bd5", - "deployImage": "127.0.0.1:5000/hwlab/hwlab-agent-skills:e6d4bd5", - "catalogImage": "127.0.0.1:5000/hwlab/hwlab-agent-skills:e6d4bd5", + "targetCommitId": "48dfbf9e7f85f2dd8e17505582e811bdacfd60d5", + "targetImageTag": "48dfbf9", + "deployImage": "127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9", + "catalogImage": "127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9", "workloadImages": [ { "workload": "hwlab-agent-skills", "container": "hwlab-agent-skills", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9" } ] } @@ -4313,14 +4309,14 @@ "id": "runtime-db-provisioning", "phase": "applying", "status": "pass", - "command": "kubectl -n hwlab-dev apply/wait/logs job/hwlab-runtime-provision-35e3d897", + "command": "kubectl -n hwlab-dev apply/wait/logs job/hwlab-runtime-provision-5332b2f8", "code": 0, - "startedAt": "2026-05-23T21:47:57.434Z", - "finishedAt": "2026-05-23T21:48:04.828Z", + "startedAt": "2026-05-24T00:18:16.303Z", + "finishedAt": "2026-05-24T00:18:23.129Z", "stdoutJson": { "issue": "pikasTech/HWLAB#311", "mode": "apply", - "generatedAt": "2026-05-23T21:48:01.780Z", + "generatedAt": "2026-05-24T00:18:19.999Z", "target": { "environment": "dev", "namespace": "hwlab-dev", @@ -4615,10 +4611,10 @@ "stderrTail": "", "reportPath": "reports/dev-gate/dev-runtime-provisioning-report.json", "k8sJob": { - "jobName": "hwlab-runtime-provision-35e3d897", + "jobName": "hwlab-runtime-provision-5332b2f8", "phase": "complete", "serviceId": "hwlab-cloud-api", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", "secretRefsOnly": true, "secretValuesRead": false, "secretValuesPrinted": false @@ -4628,14 +4624,14 @@ "id": "runtime-db-migration", "phase": "applying", "status": "pass", - "command": "kubectl -n hwlab-dev apply/wait/logs job/hwlab-runtime-migrate-35e3d897", + "command": "kubectl -n hwlab-dev apply/wait/logs job/hwlab-runtime-migrate-5332b2f8", "code": 0, - "startedAt": "2026-05-23T21:48:04.828Z", - "finishedAt": "2026-05-23T21:48:11.243Z", + "startedAt": "2026-05-24T00:18:23.129Z", + "finishedAt": "2026-05-24T00:18:26.325Z", "stdoutJson": { "issue": "pikasTech/HWLAB#164", "mode": "apply", - "generatedAt": "2026-05-23T21:48:05.450Z", + "generatedAt": "2026-05-24T00:18:23.761Z", "target": { "environment": "dev", "namespace": "hwlab-dev", @@ -4837,10 +4833,10 @@ "stderrTail": "", "reportPath": "reports/dev-gate/dev-runtime-migration-report.json", "k8sJob": { - "jobName": "hwlab-runtime-migrate-35e3d897", + "jobName": "hwlab-runtime-migrate-5332b2f8", "phase": "complete", "serviceId": "hwlab-cloud-api", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", "secretRefsOnly": true, "secretValuesRead": false, "secretValuesPrinted": false @@ -4852,8 +4848,8 @@ "status": "pass", "command": "/opt/node-v20.19.2-linux-x64/bin/node scripts/dev-deploy-apply.mjs --apply --confirm-dev --confirmed-non-production --write-report --kubeconfig /etc/rancher/k3s/k3s.yaml", "code": 0, - "startedAt": "2026-05-23T21:48:11.243Z", - "finishedAt": "2026-05-23T21:48:14.131Z", + "startedAt": "2026-05-24T00:18:26.325Z", + "finishedAt": "2026-05-24T00:18:29.334Z", "stdoutJson": { "$schema": "https://hwlab.pikastech.local/schemas/dev-gate-report.schema.json", "$id": "https://hwlab.pikastech.local/reports/dev-gate/dev-deploy-report.json", @@ -4872,7 +4868,7 @@ "pikasTech/HWLAB#30" ], "taskId": "dev-deploy-apply", - "commitId": "e6d4bd5", + "commitId": "48dfbf9", "acceptanceLevel": "dev_deploy_apply", "devOnly": true, "prodDisabled": true, @@ -4885,7 +4881,7 @@ "summary": "Current DEV deploy apply report; active public API/health endpoint is 16667 and browser endpoint is 16666." }, "status": "pass", - "generatedAt": "2026-05-23T21:48:14.125Z", + "generatedAt": "2026-05-24T00:18:29.328Z", "namespace": "hwlab-dev", "endpoint": "http://74.48.78.17:16667", "sourceContract": { @@ -4924,7 +4920,7 @@ ], "evidence": [ "artifact services checked: 13", - "expected artifact commit: e6d4bd5", + "expected artifact commit: 48dfbf9", "namespace: hwlab-dev", "workloads planned: 13", "kubectl executor: /usr/local/bin/kubectl", @@ -4932,7 +4928,7 @@ "kubectl kubeconfig: /etc/rancher/k3s/k3s.yaml", "live health: pass", "code agent provider desired-state: pass", - "code agent provider live env before apply: blocked", + "code agent provider live env before apply: pass", "template job replacements: 2", "legacy simulator deployment cleanups: 0" ], @@ -4988,12 +4984,12 @@ "prodDisabled": true }, "artifactPlan": { - "expectedArtifactCommit": "e6d4bd5", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "sourceCommitId": "e6d4bd5", + "expectedArtifactCommit": "48dfbf9", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "sourceCommitId": "48dfbf9", "serviceCommitIds": [ - "e6d4bd5" + "48dfbf9" ], "matchesSourceCommit": true, "published": true, @@ -5016,7 +5012,7 @@ { "name": "hwlab-cloud-api", "serviceId": "hwlab-cloud-api", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9" } ] }, @@ -5032,7 +5028,7 @@ { "name": "hwlab-cloud-web", "serviceId": "hwlab-cloud-web", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9" } ] }, @@ -5048,7 +5044,7 @@ { "name": "hwlab-agent-mgr", "serviceId": "hwlab-agent-mgr", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:48dfbf9" } ] }, @@ -5064,7 +5060,7 @@ { "name": "hwlab-agent-worker", "serviceId": "hwlab-agent-worker", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9" } ] }, @@ -5080,7 +5076,7 @@ { "name": "hwlab-gateway", "serviceId": "hwlab-gateway", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:48dfbf9" } ] }, @@ -5096,7 +5092,7 @@ { "name": "hwlab-gateway-simu", "serviceId": "hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9" } ] }, @@ -5112,7 +5108,7 @@ { "name": "hwlab-box-simu", "serviceId": "hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9" } ] }, @@ -5128,7 +5124,7 @@ { "name": "hwlab-patch-panel", "serviceId": "hwlab-patch-panel", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:48dfbf9" } ] }, @@ -5144,7 +5140,7 @@ { "name": "hwlab-router", "serviceId": "hwlab-router", - "image": "127.0.0.1:5000/hwlab/hwlab-router:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-router:48dfbf9" } ] }, @@ -5160,7 +5156,7 @@ { "name": "hwlab-tunnel-client", "serviceId": "hwlab-tunnel-client", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9" } ] }, @@ -5176,7 +5172,7 @@ { "name": "hwlab-edge-proxy", "serviceId": "hwlab-edge-proxy", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9" } ] }, @@ -5192,7 +5188,7 @@ { "name": "hwlab-cli", "serviceId": "hwlab-cli", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9" } ] }, @@ -5208,7 +5204,7 @@ { "name": "hwlab-agent-skills", "serviceId": "hwlab-agent-skills", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9" } ] } @@ -5464,20 +5460,20 @@ "desiredSuspended": true, "liveExists": true, "liveSuspended": true, - "oldImage": "127.0.0.1:5000/hwlab/hwlab-agent-worker:b02ac5b", - "newImage": "127.0.0.1:5000/hwlab/hwlab-agent-worker:e6d4bd5", + "oldImage": "127.0.0.1:5000/hwlab/hwlab-agent-worker:3df89fe", + "newImage": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9", "oldImages": [ { "name": "hwlab-agent-worker", "serviceId": "hwlab-agent-worker", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:b02ac5b" + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:3df89fe" } ], "newImages": [ { "name": "hwlab-agent-worker", "serviceId": "hwlab-agent-worker", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9" } ], "replace": true, @@ -5494,20 +5490,20 @@ "desiredSuspended": true, "liveExists": true, "liveSuspended": true, - "oldImage": "127.0.0.1:5000/hwlab/hwlab-cli:b02ac5b", - "newImage": "127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5", + "oldImage": "127.0.0.1:5000/hwlab/hwlab-cli:3df89fe", + "newImage": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9", "oldImages": [ { "name": "hwlab-cli", "serviceId": "hwlab-cli", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:b02ac5b" + "image": "127.0.0.1:5000/hwlab/hwlab-cli:3df89fe" } ], "newImages": [ { "name": "hwlab-cli", "serviceId": "hwlab-cli", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9" } ], "replace": true, @@ -5547,13 +5543,13 @@ "desiredReplacementKind": "StatefulSet", "liveExists": false, "oldImage": null, - "newImage": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5", + "newImage": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9", "oldImages": [], "newImages": [ { "name": "hwlab-gateway-simu", "serviceId": "hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9" } ], "cleanup": false, @@ -5569,13 +5565,13 @@ "desiredReplacementKind": "StatefulSet", "liveExists": false, "oldImage": null, - "newImage": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5", + "newImage": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9", "oldImages": [], "newImages": [ { "name": "hwlab-box-simu", "serviceId": "hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9" } ], "cleanup": false, @@ -5588,19 +5584,19 @@ "namespace": "hwlab-dev", "status": "observed", "observationPhase": "after_apply", - "sourceCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "imageTag": "e6d4bd5", - "digest": "sha256:f43ac97da69212e3ff74cfed36a04d65f0cd9cc7b8cb48f0eaf6f1f19d7dd6da", + "sourceCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:fc1841a6e3e8d427d23b5a0187abbe9d73208e3ad2c638e31b9512aaf075699f", "repositoryDigest": null, "publishState": "published", - "rolloutRevision": "41", - "liveImage": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", + "rolloutRevision": "44", + "liveImage": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", "imageMatchesDesired": true, "expectedRuntimeEnv": { - "HWLAB_COMMIT_ID": "e6d4bd5", - "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "HWLAB_IMAGE_TAG": "e6d4bd5" + "HWLAB_COMMIT_ID": "48dfbf9", + "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "HWLAB_IMAGE_TAG": "48dfbf9" }, "liveRuntimeEnv": { "status": "match", @@ -5608,20 +5604,20 @@ "fields": [ { "name": "HWLAB_COMMIT_ID", - "expected": "e6d4bd5", - "actual": "e6d4bd5", + "expected": "48dfbf9", + "actual": "48dfbf9", "status": "match" }, { "name": "HWLAB_IMAGE", - "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "actual": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", + "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "actual": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", "status": "match" }, { "name": "HWLAB_IMAGE_TAG", - "expected": "e6d4bd5", - "actual": "e6d4bd5", + "expected": "48dfbf9", + "actual": "48dfbf9", "status": "match" } ], @@ -5639,19 +5635,19 @@ "namespace": "hwlab-dev", "status": "observed", "observationPhase": "before_apply", - "sourceCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "imageTag": "e6d4bd5", - "digest": "sha256:f43ac97da69212e3ff74cfed36a04d65f0cd9cc7b8cb48f0eaf6f1f19d7dd6da", + "sourceCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:fc1841a6e3e8d427d23b5a0187abbe9d73208e3ad2c638e31b9512aaf075699f", "repositoryDigest": null, "publishState": "published", - "rolloutRevision": "40", - "liveImage": "127.0.0.1:5000/hwlab/hwlab-cloud-web:b02ac5b", + "rolloutRevision": "43", + "liveImage": "127.0.0.1:5000/hwlab/hwlab-cloud-web:3df89fe", "imageMatchesDesired": false, "expectedRuntimeEnv": { - "HWLAB_COMMIT_ID": "e6d4bd5", - "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "HWLAB_IMAGE_TAG": "e6d4bd5" + "HWLAB_COMMIT_ID": "48dfbf9", + "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "HWLAB_IMAGE_TAG": "48dfbf9" }, "liveRuntimeEnv": { "status": "drift", @@ -5659,40 +5655,40 @@ "fields": [ { "name": "HWLAB_COMMIT_ID", - "expected": "e6d4bd5", - "actual": "b02ac5b", + "expected": "48dfbf9", + "actual": "3df89fe", "status": "drift" }, { "name": "HWLAB_IMAGE", - "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "actual": "127.0.0.1:5000/hwlab/hwlab-cloud-web:b02ac5b", + "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "actual": "127.0.0.1:5000/hwlab/hwlab-cloud-web:3df89fe", "status": "drift" }, { "name": "HWLAB_IMAGE_TAG", - "expected": "e6d4bd5", - "actual": "b02ac5b", + "expected": "48dfbf9", + "actual": "3df89fe", "status": "drift" } ], "drift": [ { "name": "HWLAB_COMMIT_ID", - "expected": "e6d4bd5", - "actual": "b02ac5b", + "expected": "48dfbf9", + "actual": "3df89fe", "status": "drift" }, { "name": "HWLAB_IMAGE", - "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "actual": "127.0.0.1:5000/hwlab/hwlab-cloud-web:b02ac5b", + "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "actual": "127.0.0.1:5000/hwlab/hwlab-cloud-web:3df89fe", "status": "drift" }, { "name": "HWLAB_IMAGE_TAG", - "expected": "e6d4bd5", - "actual": "b02ac5b", + "expected": "48dfbf9", + "actual": "3df89fe", "status": "drift" } ] @@ -5701,20 +5697,20 @@ "runtimeEnvDrift": [ { "name": "HWLAB_COMMIT_ID", - "expected": "e6d4bd5", - "actual": "b02ac5b", + "expected": "48dfbf9", + "actual": "3df89fe", "status": "drift" }, { "name": "HWLAB_IMAGE", - "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "actual": "127.0.0.1:5000/hwlab/hwlab-cloud-web:b02ac5b", + "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "actual": "127.0.0.1:5000/hwlab/hwlab-cloud-web:3df89fe", "status": "drift" }, { "name": "HWLAB_IMAGE_TAG", - "expected": "e6d4bd5", - "actual": "b02ac5b", + "expected": "48dfbf9", + "actual": "3df89fe", "status": "drift" } ], @@ -5728,19 +5724,19 @@ "namespace": "hwlab-dev", "status": "observed", "observationPhase": "after_apply", - "sourceCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "imageTag": "e6d4bd5", - "digest": "sha256:f43ac97da69212e3ff74cfed36a04d65f0cd9cc7b8cb48f0eaf6f1f19d7dd6da", + "sourceCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:fc1841a6e3e8d427d23b5a0187abbe9d73208e3ad2c638e31b9512aaf075699f", "repositoryDigest": null, "publishState": "published", - "rolloutRevision": "41", - "liveImage": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", + "rolloutRevision": "44", + "liveImage": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", "imageMatchesDesired": true, "expectedRuntimeEnv": { - "HWLAB_COMMIT_ID": "e6d4bd5", - "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "HWLAB_IMAGE_TAG": "e6d4bd5" + "HWLAB_COMMIT_ID": "48dfbf9", + "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "HWLAB_IMAGE_TAG": "48dfbf9" }, "liveRuntimeEnv": { "status": "match", @@ -5748,20 +5744,20 @@ "fields": [ { "name": "HWLAB_COMMIT_ID", - "expected": "e6d4bd5", - "actual": "e6d4bd5", + "expected": "48dfbf9", + "actual": "48dfbf9", "status": "match" }, { "name": "HWLAB_IMAGE", - "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "actual": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", + "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "actual": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", "status": "match" }, { "name": "HWLAB_IMAGE_TAG", - "expected": "e6d4bd5", - "actual": "e6d4bd5", + "expected": "48dfbf9", + "actual": "48dfbf9", "status": "match" } ], @@ -5848,7 +5844,7 @@ "phase": "before_apply", "namespace": "hwlab-dev", "serviceId": "hwlab-cloud-api", - "status": "blocked", + "status": "pass", "readCommand": "KUBECONFIG=/etc/rancher/k3s/k3s.yaml kubectl -n hwlab-dev get deployment hwlab-cloud-api -o json", "kubeconfig": "/etc/rancher/k3s/k3s.yaml", "expectedSecretRef": "hwlab-code-agent-provider/openai-api-key", @@ -5862,7 +5858,7 @@ "runtimeProvider": "openai-responses", "backend": "hwlab-cloud-api/codex-mcp-stdio", "model": "gpt-5.5", - "ready": false, + "ready": true, "requiredEnv": [ { "name": "HWLAB_CODE_AGENT_PROVIDER", @@ -5890,13 +5886,7 @@ } ], "missingEnv": [], - "mismatchedEnv": [ - { - "name": "HWLAB_CODE_AGENT_PROVIDER", - "expected": "codex-stdio", - "redacted": false - } - ], + "mismatchedEnv": [], "secretRef": { "env": "OPENAI_API_KEY", "secretName": "hwlab-code-agent-provider", @@ -6043,106 +6033,106 @@ "artifactEvidence": [ { "serviceId": "hwlab-cloud-api", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", - "digest": "sha256:8a0677290ce3626d3589d1d22a943b49290e74451d75263cdbda3044a6ba105d", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", + "digest": "sha256:15a9dec43d0ad6b750ea4eda860c1c157c6502441732c1de20ef3b92696d0dfc", "publishState": "published" }, { "serviceId": "hwlab-cloud-web", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "digest": "sha256:f43ac97da69212e3ff74cfed36a04d65f0cd9cc7b8cb48f0eaf6f1f19d7dd6da", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "digest": "sha256:fc1841a6e3e8d427d23b5a0187abbe9d73208e3ad2c638e31b9512aaf075699f", "publishState": "published" }, { "serviceId": "hwlab-agent-mgr", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:e6d4bd5", - "digest": "sha256:f37e9b4dd6262ff4c30826fae1a0e01b184d0e57812c7876de73566263ff0c35", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:48dfbf9", + "digest": "sha256:bdb3dffd0a82e7cf1c48de3d130cbd6e733c242dd5667be4ba098a46888a13d6", "publishState": "published" }, { "serviceId": "hwlab-agent-worker", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:e6d4bd5", - "digest": "sha256:afdc241c799fe53561b60a37199c73cfb612ea0381ecfba82e66eb08566a8336", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9", + "digest": "sha256:902590cd05c9af8dcf347b74c05e1fb9fb399eefa54d91ff105dd2fa276ae785", "publishState": "published" }, { "serviceId": "hwlab-gateway", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:e6d4bd5", - "digest": "sha256:27303c093330bddf4c1eb8e3791dce6dbbe97aab28ff17c1faf761b05333cce0", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:48dfbf9", + "digest": "sha256:015916d05ccbd8448e3f32d754335f7c221aaaadf5ae2b63007d7698f7583d04", "publishState": "published" }, { "serviceId": "hwlab-gateway-simu", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5", - "digest": "sha256:38c0372ec72e8f17b26f2fcf83d35718023a81c48529e459d83e36f8cc56ec3a", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9", + "digest": "sha256:74793df73dfeb27fc45b1085ac1c29839f6545ccfea79d033dfddc89d6f3a553", "publishState": "published" }, { "serviceId": "hwlab-box-simu", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5", - "digest": "sha256:d551c22242fff6016f15672c4b8b06dbfc85da2c00ecfdd4e40486668b58a56f", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9", + "digest": "sha256:89d80def71130db7e0f4d9a0ec1dadfcb5d8963bd1f13b71c67eab0a301efb94", "publishState": "published" }, { "serviceId": "hwlab-patch-panel", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:e6d4bd5", - "digest": "sha256:6c7f3600a71131c11b994a625fd6ced65ac3bb7f109f3c7f941513cbd1d2def5", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:48dfbf9", + "digest": "sha256:160a47204b2263e750cbf412f0d266047eeb6baf8b2be839e5d1987fc6082fea", "publishState": "published" }, { "serviceId": "hwlab-router", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-router:e6d4bd5", - "digest": "sha256:8d9084f3d23e44d3ffe628e9d100ebbad260c857d06b1fbb5791ecd11bfc4d9f", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-router:48dfbf9", + "digest": "sha256:0ab02340575ec7e910427f8ea06db2b8f8095922e207ae5e11a64c065fa26df7", "publishState": "published" }, { "serviceId": "hwlab-tunnel-client", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:e6d4bd5", - "digest": "sha256:d6dff1383912ccfed1b1b91dc5ae8323e345f42f57145d7bda788e9941a4ca5a", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9", + "digest": "sha256:75af6caa96ec03d3f4130e512052f666d75b1e5470fa67f8f66f355e1068e43f", "publishState": "published" }, { "serviceId": "hwlab-edge-proxy", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:e6d4bd5", - "digest": "sha256:6ce280c0fd17218dd5719d1118b5e72fd0c4107dc33951e09b35c374f7affacd", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9", + "digest": "sha256:f8b954ad76ab0162e3df0edc26c115f6c697f8f5c4e9d93e24112285b57b9b05", "publishState": "published" }, { "serviceId": "hwlab-cli", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5", - "digest": "sha256:09a015e727738cd188853af557ecd8ea4adfa8a2250692e7442549e9c80eae1f", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9", + "digest": "sha256:ae6564b6b0f8ceaf35ab5d2e7f7c04ca8f5e51aa7daedb01e4a6aa31e4bcc16b", "publishState": "published" }, { "serviceId": "hwlab-agent-skills", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:e6d4bd5", - "digest": "sha256:45602b9d09ef22095ab75bd95e2f310626bce61bc4e39a7205009fe9620c2d4f", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9", + "digest": "sha256:6fc9b4fda9bea32607774a24d72ecc7999007d910d17e11764abce2bdc35c03d", "publishState": "published" } ], @@ -6299,79 +6289,79 @@ "images": [ { "serviceId": "hwlab-cloud-api", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", "kind": "Deployment", "name": "hwlab-cloud-api" }, { "serviceId": "hwlab-cloud-web", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", "kind": "Deployment", "name": "hwlab-cloud-web" }, { "serviceId": "hwlab-agent-mgr", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:48dfbf9", "kind": "Deployment", "name": "hwlab-agent-mgr" }, { "serviceId": "hwlab-agent-worker", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9", "kind": "Job", "name": "hwlab-agent-worker-template" }, { "serviceId": "hwlab-gateway", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:48dfbf9", "kind": "Deployment", "name": "hwlab-gateway" }, { "serviceId": "hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9", "kind": "StatefulSet", "name": "hwlab-gateway-simu" }, { "serviceId": "hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9", "kind": "StatefulSet", "name": "hwlab-box-simu" }, { "serviceId": "hwlab-patch-panel", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:48dfbf9", "kind": "Deployment", "name": "hwlab-patch-panel" }, { "serviceId": "hwlab-router", - "image": "127.0.0.1:5000/hwlab/hwlab-router:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-router:48dfbf9", "kind": "Deployment", "name": "hwlab-router" }, { "serviceId": "hwlab-tunnel-client", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9", "kind": "Deployment", "name": "hwlab-tunnel-client" }, { "serviceId": "hwlab-edge-proxy", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9", "kind": "Deployment", "name": "hwlab-edge-proxy" }, { "serviceId": "hwlab-cli", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9", "kind": "Job", "name": "hwlab-cli-template" }, { "serviceId": "hwlab-agent-skills", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9", "kind": "Deployment", "name": "hwlab-agent-skills" } @@ -6383,29 +6373,29 @@ "name": "hwlab-cloud-web", "container": "hwlab-cloud-web", "expected": { - "HWLAB_COMMIT_ID": "e6d4bd5", - "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "HWLAB_IMAGE_TAG": "e6d4bd5" + "HWLAB_COMMIT_ID": "48dfbf9", + "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "HWLAB_IMAGE_TAG": "48dfbf9" }, "status": "match", "matchesDesired": true, "fields": [ { "name": "HWLAB_COMMIT_ID", - "expected": "e6d4bd5", - "actual": "e6d4bd5", + "expected": "48dfbf9", + "actual": "48dfbf9", "status": "match" }, { "name": "HWLAB_IMAGE", - "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "actual": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", + "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "actual": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", "status": "match" }, { "name": "HWLAB_IMAGE_TAG", - "expected": "e6d4bd5", - "actual": "e6d4bd5", + "expected": "48dfbf9", + "actual": "48dfbf9", "status": "match" } ], @@ -6424,12 +6414,12 @@ "resources": [ { "kind": "Pod", - "name": "hwlab-agent-mgr-99d44c747-mfqzj", + "name": "hwlab-agent-mgr-6f4cc98885-6bl9w", "phase": "Running" }, { "kind": "Pod", - "name": "hwlab-agent-skills-7f99b49598-lqjdd", + "name": "hwlab-agent-skills-69485c4dc4-mpgdb", "phase": "Running" }, { @@ -6444,17 +6434,17 @@ }, { "kind": "Pod", - "name": "hwlab-cloud-api-57cfcfc587-kdvg9", + "name": "hwlab-cloud-api-54cdcb57dc-xw9gb", "phase": "Running" }, { "kind": "Pod", - "name": "hwlab-cloud-web-67c684947b-lkvtj", + "name": "hwlab-cloud-web-5bd7bf9c6-d67jc", "phase": "Running" }, { "kind": "Pod", - "name": "hwlab-edge-proxy-85db66bcc9-mv8pv", + "name": "hwlab-edge-proxy-58984dcc7c-8bvqj", "phase": "Running" }, { @@ -6474,27 +6464,27 @@ }, { "kind": "Pod", - "name": "hwlab-patch-panel-7cd9d9d597-kwnm6", + "name": "hwlab-patch-panel-55b9c584d7-7rzqb", "phase": "Running" }, { "kind": "Pod", - "name": "hwlab-router-65dc5579fb-d2r8l", + "name": "hwlab-router-76fd584bdb-t26cs", "phase": "Running" }, { "kind": "Pod", - "name": "hwlab-runtime-migrate-35e3d897-kfr4m", + "name": "hwlab-runtime-migrate-5332b2f8-mlg9p", "phase": "Succeeded" }, { "kind": "Pod", - "name": "hwlab-runtime-provision-35e3d897-jk2rc", + "name": "hwlab-runtime-provision-5332b2f8-qdpq7", "phase": "Succeeded" }, { "kind": "Pod", - "name": "hwlab-tunnel-client-54d968477d-mf2qk", + "name": "hwlab-tunnel-client-69d7d6d6d8-pv8b9", "phase": "Running" }, { @@ -6641,11 +6631,11 @@ }, { "kind": "Job", - "name": "hwlab-runtime-migrate-35e3d897" + "name": "hwlab-runtime-migrate-5332b2f8" }, { "kind": "Job", - "name": "hwlab-runtime-provision-35e3d897" + "name": "hwlab-runtime-provision-5332b2f8" } ] }, @@ -6653,7 +6643,7 @@ "status": "pass", "url": "http://74.48.78.17:16667/health/live", "httpStatus": 200, - "body": "{\"serviceId\":\"hwlab-cloud-api\",\"environment\":\"dev\",\"status\":\"degraded\",\"ready\":false,\"revision\":\"b02ac5becad13aeeab0d5cb7d8f01300bccb78c2\",\"readiness\":{\"contractVersion\":\"v3\",\"ready\":false,\"status\":\"degraded\",\"blockerCodes\":[\"stdio_protocol_not_wired\"],\"blockers\":[{\"code\":\"stdio_protocol_not_wired\",\"type\":\"agent_blocker\",\"scope\":\"code-agent-long-lived-session\",\"status\":\"open\",\"sourceIssue\":\"pikasTech/HWLAB#275\",\"summary\":\"普通聊天可走 OpenAI Responses fallback,pwd/skills 走受控只读 runner,M3 IO 走 Skill CLI" + "body": "{\"serviceId\":\"hwlab-cloud-api\",\"environment\":\"dev\",\"status\":\"ok\",\"ready\":true,\"revision\":\"3df89fe15100f3ef3c2e12e1a001b5370d54eff9\",\"readiness\":{\"contractVersion\":\"v3\",\"ready\":true,\"status\":\"ok\",\"blockerCodes\":[],\"blockers\":[],\"components\":{\"db\":\"ready\",\"codeAgent\":\"ready\",\"runtime\":\"ready\",\"provider\":\"ready\",\"dbDurable\":\"ready\",\"sessionRunner\":\"codex_stdio_ready\",\"codexStdio\":\"ready\"},\"provider\":{\"status\":\"ready\",\"ready\":true,\"configured\":true,\"provider\":\"codex-stdio\",\"model\":\"gpt-5.5\",\"backend" } }, "blockers": [], @@ -6669,12 +6659,12 @@ "status": "blocked", "command": "/opt/node-v20.19.2-linux-x64/bin/node scripts/dev-runtime-postflight.mjs --live --confirm-dev --confirmed-non-production --target api --write-report --fail-on-blocked", "code": 1, - "startedAt": "2026-05-23T21:48:14.217Z", - "finishedAt": "2026-05-23T21:48:18.238Z", + "startedAt": "2026-05-24T00:18:29.423Z", + "finishedAt": "2026-05-24T00:18:39.661Z", "stdoutJson": { "issue": "pikasTech/HWLAB#311", "mode": "dev-live", - "generatedAt": "2026-05-23T21:48:14.250Z", + "generatedAt": "2026-05-24T00:18:29.459Z", "target": { "environment": "dev", "namespace": "hwlab-dev", @@ -6695,8 +6685,8 @@ "reachable": true, "serviceId": "hwlab-cloud-api", "environment": "dev", - "status": "degraded", - "ready": false, + "status": "ok", + "ready": true, "runtime": { "adapter": "postgres", "durable": true, @@ -6760,7 +6750,7 @@ "blockedLayer": null, "queryResult": "durable_readiness_ready", "readyQueryResult": true, - "rawStatus": "degraded", + "rawStatus": "ok", "postgresRequired": true, "gates": { "ssl": { @@ -6814,14 +6804,12 @@ } }, "readiness": { - "ready": false, - "status": "degraded", + "ready": true, + "status": "ok", "durabilityReady": true, "durabilityBlockedLayer": null }, - "blockerCodes": [ - "stdio_protocol_not_wired" - ], + "blockerCodes": [], "m3IoControl": null, "error": null }, @@ -6831,8 +6819,8 @@ "reachable": true, "serviceId": "hwlab-cloud-api", "environment": null, - "status": "degraded", - "ready": false, + "status": "ok", + "ready": true, "runtime": { "adapter": "postgres", "durable": true, @@ -6896,7 +6884,7 @@ "blockedLayer": null, "queryResult": "durable_readiness_ready", "readyQueryResult": true, - "rawStatus": "degraded", + "rawStatus": "ok", "postgresRequired": true, "gates": { "ssl": { @@ -6950,14 +6938,12 @@ } }, "readiness": { - "ready": false, - "status": "degraded", + "ready": true, + "status": "ok", "durabilityReady": true, "durabilityBlockedLayer": null }, - "blockerCodes": [ - "stdio_protocol_not_wired" - ], + "blockerCodes": [], "m3IoControl": { "route": "/v1/m3/io", "status": "available", @@ -7038,10 +7024,10 @@ "id": "write-do1-true", "action": "do.write", "status": "succeeded", - "operationId": "op_m3_do_write_04f30c71-8cfd-46f9-8d91-aa506ae20f0b", - "traceId": "trc_m3_io_e2e_write_do1_true_338f3beb-810b-447b-9612-071ba131fe16", - "auditId": "aud_m3_do_write_04f30c71-8cfd-46f9-8d91-aa506ae20f0b_succeeded", - "evidenceId": "evd_m3_do_write_04f30c71-8cfd-46f9-8d91-aa506ae20f0b_succeeded", + "operationId": "op_m3_do_write_63f8e5ee-3d78-4df2-b54f-d46b0308bd2a", + "traceId": "trc_m3_io_e2e_write_do1_true_9d47c939-0464-437a-a2a5-90cff6714434", + "auditId": "aud_m3_do_write_63f8e5ee-3d78-4df2-b54f-d46b0308bd2a_succeeded", + "evidenceId": "evd_m3_do_write_63f8e5ee-3d78-4df2-b54f-d46b0308bd2a_succeeded", "resultValue": true, "evidenceState": { "status": "green", @@ -7055,10 +7041,10 @@ "id": "read-di1-true", "action": "di.read", "status": "succeeded", - "operationId": "op_m3_di_read_a40696ff-1581-4789-a1ad-7778bb4b2da7", - "traceId": "trc_m3_io_e2e_read_di1_true_e4587f6a-2ab4-492f-a924-f160c9cfdc2d", - "auditId": "aud_m3_di_read_a40696ff-1581-4789-a1ad-7778bb4b2da7_succeeded", - "evidenceId": "evd_m3_di_read_a40696ff-1581-4789-a1ad-7778bb4b2da7_succeeded", + "operationId": "op_m3_di_read_73166d40-4572-4f6d-a96e-8e20f07a10dd", + "traceId": "trc_m3_io_e2e_read_di1_true_a81f0788-33ab-42e1-a16e-16e2c171db1b", + "auditId": "aud_m3_di_read_73166d40-4572-4f6d-a96e-8e20f07a10dd_succeeded", + "evidenceId": "evd_m3_di_read_73166d40-4572-4f6d-a96e-8e20f07a10dd_succeeded", "resultValue": true, "evidenceState": { "status": "green", @@ -7072,10 +7058,10 @@ "id": "write-do1-false", "action": "do.write", "status": "succeeded", - "operationId": "op_m3_do_write_eb8b7b21-c8c5-45f4-8c08-a1e87b62b2aa", - "traceId": "trc_m3_io_e2e_write_do1_false_e5f378b1-38d0-4307-8aef-dc94b633b0e8", - "auditId": "aud_m3_do_write_eb8b7b21-c8c5-45f4-8c08-a1e87b62b2aa_succeeded", - "evidenceId": "evd_m3_do_write_eb8b7b21-c8c5-45f4-8c08-a1e87b62b2aa_succeeded", + "operationId": "op_m3_do_write_0c0af96e-09e0-4e08-ba3f-b1fdf1d4668a", + "traceId": "trc_m3_io_e2e_write_do1_false_9925768c-ca34-4b17-a9fa-344e7103ec97", + "auditId": "aud_m3_do_write_0c0af96e-09e0-4e08-ba3f-b1fdf1d4668a_succeeded", + "evidenceId": "evd_m3_do_write_0c0af96e-09e0-4e08-ba3f-b1fdf1d4668a_succeeded", "resultValue": false, "evidenceState": { "status": "green", @@ -7089,10 +7075,10 @@ "id": "read-di1-false", "action": "di.read", "status": "succeeded", - "operationId": "op_m3_di_read_c92ea3cf-c3e0-4a0f-80e8-cf719d215aae", - "traceId": "trc_m3_io_e2e_read_di1_false_c06468ba-3ae4-4436-a4a4-64b0e6754dfa", - "auditId": "aud_m3_di_read_c92ea3cf-c3e0-4a0f-80e8-cf719d215aae_succeeded", - "evidenceId": "evd_m3_di_read_c92ea3cf-c3e0-4a0f-80e8-cf719d215aae_succeeded", + "operationId": "op_m3_di_read_f656bcc9-3a3f-4aed-b59b-2d5d2edafff8", + "traceId": "trc_m3_io_e2e_read_di1_false_83b6a1c9-cd8f-402b-bee4-d4c7f3973832", + "auditId": "aud_m3_di_read_f656bcc9-3a3f-4aed-b59b-2d5d2edafff8_succeeded", + "evidenceId": "evd_m3_di_read_f656bcc9-3a3f-4aed-b59b-2d5d2edafff8_succeeded", "resultValue": false, "evidenceState": { "status": "green", @@ -7158,17 +7144,17 @@ "httpStatus": 200, "reachable": true, "identityMatches": true, - "startedAt": "2026-05-23T21:37:53.244Z", - "finishedAt": "2026-05-23T21:37:53.799Z", + "startedAt": "2026-05-24T00:07:29.593Z", + "finishedAt": "2026-05-24T00:07:30.157Z", "expectedServiceId": "hwlab-cloud-web", "expectedCommit": null, "serviceId": "hwlab-cloud-web", "environment": "dev", "applicationStatus": "ok", "ready": null, - "observedCommit": "b02ac5b", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:b02ac5b", - "imageTag": "b02ac5b", + "observedCommit": "3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:3df89fe", + "imageTag": "3df89fe", "observedAt": null, "serviceMatches": true, "environmentMatches": true, @@ -7182,24 +7168,22 @@ "httpStatus": 200, "reachable": true, "identityMatches": true, - "startedAt": "2026-05-23T21:37:53.246Z", - "finishedAt": "2026-05-23T21:37:54.477Z", + "startedAt": "2026-05-24T00:07:29.594Z", + "finishedAt": "2026-05-24T00:07:31.417Z", "expectedServiceId": "hwlab-cloud-api", "expectedCommit": null, "serviceId": "hwlab-cloud-api", "environment": "dev", - "applicationStatus": "degraded", - "ready": false, - "observedCommit": "b02ac5b", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:b02ac5b", - "imageTag": "b02ac5b", - "observedAt": "2026-05-23T21:37:53.704Z", + "applicationStatus": "ok", + "ready": true, + "observedCommit": "3df89fe", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:3df89fe", + "imageTag": "3df89fe", + "observedAt": "2026-05-24T00:07:30.656Z", "serviceMatches": true, "environmentMatches": true, "commitMatches": null, - "blockerCodes": [ - "stdio_protocol_not_wired" - ] + "blockerCodes": [] } ], "summary": { @@ -7224,7 +7208,7 @@ "preflight": { "status": "pass", "scope": "pre-lock-pre-side-effect", - "generatedAt": "2026-05-23T21:37:52.937Z", + "generatedAt": "2026-05-24T00:07:29.308Z", "namespace": "hwlab-dev", "kubeconfig": { "required": "/etc/rancher/k3s/k3s.yaml", diff --git a/reports/dev-gate/dev-deploy-report.json b/reports/dev-gate/dev-deploy-report.json index 3034d2fa..d4ededea 100644 --- a/reports/dev-gate/dev-deploy-report.json +++ b/reports/dev-gate/dev-deploy-report.json @@ -16,7 +16,7 @@ "pikasTech/HWLAB#30" ], "taskId": "dev-deploy-apply", - "commitId": "e6d4bd5", + "commitId": "48dfbf9", "acceptanceLevel": "dev_deploy_apply", "devOnly": true, "prodDisabled": true, @@ -29,7 +29,7 @@ "summary": "Current DEV deploy apply report; active public API/health endpoint is 16667 and browser endpoint is 16666." }, "status": "pass", - "generatedAt": "2026-05-23T21:48:14.125Z", + "generatedAt": "2026-05-24T00:18:29.328Z", "namespace": "hwlab-dev", "endpoint": "http://74.48.78.17:16667", "sourceContract": { @@ -68,7 +68,7 @@ ], "evidence": [ "artifact services checked: 13", - "expected artifact commit: e6d4bd5", + "expected artifact commit: 48dfbf9", "namespace: hwlab-dev", "workloads planned: 13", "kubectl executor: /usr/local/bin/kubectl", @@ -76,7 +76,7 @@ "kubectl kubeconfig: /etc/rancher/k3s/k3s.yaml", "live health: pass", "code agent provider desired-state: pass", - "code agent provider live env before apply: blocked", + "code agent provider live env before apply: pass", "template job replacements: 2", "legacy simulator deployment cleanups: 0" ], @@ -132,12 +132,12 @@ "prodDisabled": true }, "artifactPlan": { - "expectedArtifactCommit": "e6d4bd5", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "sourceCommitId": "e6d4bd5", + "expectedArtifactCommit": "48dfbf9", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "sourceCommitId": "48dfbf9", "serviceCommitIds": [ - "e6d4bd5" + "48dfbf9" ], "matchesSourceCommit": true, "published": true, @@ -160,7 +160,7 @@ { "name": "hwlab-cloud-api", "serviceId": "hwlab-cloud-api", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9" } ] }, @@ -176,7 +176,7 @@ { "name": "hwlab-cloud-web", "serviceId": "hwlab-cloud-web", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9" } ] }, @@ -192,7 +192,7 @@ { "name": "hwlab-agent-mgr", "serviceId": "hwlab-agent-mgr", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:48dfbf9" } ] }, @@ -208,7 +208,7 @@ { "name": "hwlab-agent-worker", "serviceId": "hwlab-agent-worker", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9" } ] }, @@ -224,7 +224,7 @@ { "name": "hwlab-gateway", "serviceId": "hwlab-gateway", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:48dfbf9" } ] }, @@ -240,7 +240,7 @@ { "name": "hwlab-gateway-simu", "serviceId": "hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9" } ] }, @@ -256,7 +256,7 @@ { "name": "hwlab-box-simu", "serviceId": "hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9" } ] }, @@ -272,7 +272,7 @@ { "name": "hwlab-patch-panel", "serviceId": "hwlab-patch-panel", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:48dfbf9" } ] }, @@ -288,7 +288,7 @@ { "name": "hwlab-router", "serviceId": "hwlab-router", - "image": "127.0.0.1:5000/hwlab/hwlab-router:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-router:48dfbf9" } ] }, @@ -304,7 +304,7 @@ { "name": "hwlab-tunnel-client", "serviceId": "hwlab-tunnel-client", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9" } ] }, @@ -320,7 +320,7 @@ { "name": "hwlab-edge-proxy", "serviceId": "hwlab-edge-proxy", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9" } ] }, @@ -336,7 +336,7 @@ { "name": "hwlab-cli", "serviceId": "hwlab-cli", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9" } ] }, @@ -352,7 +352,7 @@ { "name": "hwlab-agent-skills", "serviceId": "hwlab-agent-skills", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9" } ] } @@ -608,20 +608,20 @@ "desiredSuspended": true, "liveExists": true, "liveSuspended": true, - "oldImage": "127.0.0.1:5000/hwlab/hwlab-agent-worker:b02ac5b", - "newImage": "127.0.0.1:5000/hwlab/hwlab-agent-worker:e6d4bd5", + "oldImage": "127.0.0.1:5000/hwlab/hwlab-agent-worker:3df89fe", + "newImage": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9", "oldImages": [ { "name": "hwlab-agent-worker", "serviceId": "hwlab-agent-worker", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:b02ac5b" + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:3df89fe" } ], "newImages": [ { "name": "hwlab-agent-worker", "serviceId": "hwlab-agent-worker", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9" } ], "replace": true, @@ -638,20 +638,20 @@ "desiredSuspended": true, "liveExists": true, "liveSuspended": true, - "oldImage": "127.0.0.1:5000/hwlab/hwlab-cli:b02ac5b", - "newImage": "127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5", + "oldImage": "127.0.0.1:5000/hwlab/hwlab-cli:3df89fe", + "newImage": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9", "oldImages": [ { "name": "hwlab-cli", "serviceId": "hwlab-cli", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:b02ac5b" + "image": "127.0.0.1:5000/hwlab/hwlab-cli:3df89fe" } ], "newImages": [ { "name": "hwlab-cli", "serviceId": "hwlab-cli", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9" } ], "replace": true, @@ -691,13 +691,13 @@ "desiredReplacementKind": "StatefulSet", "liveExists": false, "oldImage": null, - "newImage": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5", + "newImage": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9", "oldImages": [], "newImages": [ { "name": "hwlab-gateway-simu", "serviceId": "hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9" } ], "cleanup": false, @@ -713,13 +713,13 @@ "desiredReplacementKind": "StatefulSet", "liveExists": false, "oldImage": null, - "newImage": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5", + "newImage": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9", "oldImages": [], "newImages": [ { "name": "hwlab-box-simu", "serviceId": "hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5" + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9" } ], "cleanup": false, @@ -732,19 +732,19 @@ "namespace": "hwlab-dev", "status": "observed", "observationPhase": "after_apply", - "sourceCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "imageTag": "e6d4bd5", - "digest": "sha256:f43ac97da69212e3ff74cfed36a04d65f0cd9cc7b8cb48f0eaf6f1f19d7dd6da", + "sourceCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:fc1841a6e3e8d427d23b5a0187abbe9d73208e3ad2c638e31b9512aaf075699f", "repositoryDigest": null, "publishState": "published", - "rolloutRevision": "41", - "liveImage": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", + "rolloutRevision": "44", + "liveImage": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", "imageMatchesDesired": true, "expectedRuntimeEnv": { - "HWLAB_COMMIT_ID": "e6d4bd5", - "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "HWLAB_IMAGE_TAG": "e6d4bd5" + "HWLAB_COMMIT_ID": "48dfbf9", + "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "HWLAB_IMAGE_TAG": "48dfbf9" }, "liveRuntimeEnv": { "status": "match", @@ -752,20 +752,20 @@ "fields": [ { "name": "HWLAB_COMMIT_ID", - "expected": "e6d4bd5", - "actual": "e6d4bd5", + "expected": "48dfbf9", + "actual": "48dfbf9", "status": "match" }, { "name": "HWLAB_IMAGE", - "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "actual": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", + "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "actual": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", "status": "match" }, { "name": "HWLAB_IMAGE_TAG", - "expected": "e6d4bd5", - "actual": "e6d4bd5", + "expected": "48dfbf9", + "actual": "48dfbf9", "status": "match" } ], @@ -783,19 +783,19 @@ "namespace": "hwlab-dev", "status": "observed", "observationPhase": "before_apply", - "sourceCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "imageTag": "e6d4bd5", - "digest": "sha256:f43ac97da69212e3ff74cfed36a04d65f0cd9cc7b8cb48f0eaf6f1f19d7dd6da", + "sourceCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:fc1841a6e3e8d427d23b5a0187abbe9d73208e3ad2c638e31b9512aaf075699f", "repositoryDigest": null, "publishState": "published", - "rolloutRevision": "40", - "liveImage": "127.0.0.1:5000/hwlab/hwlab-cloud-web:b02ac5b", + "rolloutRevision": "43", + "liveImage": "127.0.0.1:5000/hwlab/hwlab-cloud-web:3df89fe", "imageMatchesDesired": false, "expectedRuntimeEnv": { - "HWLAB_COMMIT_ID": "e6d4bd5", - "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "HWLAB_IMAGE_TAG": "e6d4bd5" + "HWLAB_COMMIT_ID": "48dfbf9", + "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "HWLAB_IMAGE_TAG": "48dfbf9" }, "liveRuntimeEnv": { "status": "drift", @@ -803,40 +803,40 @@ "fields": [ { "name": "HWLAB_COMMIT_ID", - "expected": "e6d4bd5", - "actual": "b02ac5b", + "expected": "48dfbf9", + "actual": "3df89fe", "status": "drift" }, { "name": "HWLAB_IMAGE", - "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "actual": "127.0.0.1:5000/hwlab/hwlab-cloud-web:b02ac5b", + "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "actual": "127.0.0.1:5000/hwlab/hwlab-cloud-web:3df89fe", "status": "drift" }, { "name": "HWLAB_IMAGE_TAG", - "expected": "e6d4bd5", - "actual": "b02ac5b", + "expected": "48dfbf9", + "actual": "3df89fe", "status": "drift" } ], "drift": [ { "name": "HWLAB_COMMIT_ID", - "expected": "e6d4bd5", - "actual": "b02ac5b", + "expected": "48dfbf9", + "actual": "3df89fe", "status": "drift" }, { "name": "HWLAB_IMAGE", - "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "actual": "127.0.0.1:5000/hwlab/hwlab-cloud-web:b02ac5b", + "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "actual": "127.0.0.1:5000/hwlab/hwlab-cloud-web:3df89fe", "status": "drift" }, { "name": "HWLAB_IMAGE_TAG", - "expected": "e6d4bd5", - "actual": "b02ac5b", + "expected": "48dfbf9", + "actual": "3df89fe", "status": "drift" } ] @@ -845,20 +845,20 @@ "runtimeEnvDrift": [ { "name": "HWLAB_COMMIT_ID", - "expected": "e6d4bd5", - "actual": "b02ac5b", + "expected": "48dfbf9", + "actual": "3df89fe", "status": "drift" }, { "name": "HWLAB_IMAGE", - "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "actual": "127.0.0.1:5000/hwlab/hwlab-cloud-web:b02ac5b", + "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "actual": "127.0.0.1:5000/hwlab/hwlab-cloud-web:3df89fe", "status": "drift" }, { "name": "HWLAB_IMAGE_TAG", - "expected": "e6d4bd5", - "actual": "b02ac5b", + "expected": "48dfbf9", + "actual": "3df89fe", "status": "drift" } ], @@ -872,19 +872,19 @@ "namespace": "hwlab-dev", "status": "observed", "observationPhase": "after_apply", - "sourceCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "imageTag": "e6d4bd5", - "digest": "sha256:f43ac97da69212e3ff74cfed36a04d65f0cd9cc7b8cb48f0eaf6f1f19d7dd6da", + "sourceCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "imageTag": "48dfbf9", + "digest": "sha256:fc1841a6e3e8d427d23b5a0187abbe9d73208e3ad2c638e31b9512aaf075699f", "repositoryDigest": null, "publishState": "published", - "rolloutRevision": "41", - "liveImage": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", + "rolloutRevision": "44", + "liveImage": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", "imageMatchesDesired": true, "expectedRuntimeEnv": { - "HWLAB_COMMIT_ID": "e6d4bd5", - "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "HWLAB_IMAGE_TAG": "e6d4bd5" + "HWLAB_COMMIT_ID": "48dfbf9", + "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "HWLAB_IMAGE_TAG": "48dfbf9" }, "liveRuntimeEnv": { "status": "match", @@ -892,20 +892,20 @@ "fields": [ { "name": "HWLAB_COMMIT_ID", - "expected": "e6d4bd5", - "actual": "e6d4bd5", + "expected": "48dfbf9", + "actual": "48dfbf9", "status": "match" }, { "name": "HWLAB_IMAGE", - "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "actual": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", + "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "actual": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", "status": "match" }, { "name": "HWLAB_IMAGE_TAG", - "expected": "e6d4bd5", - "actual": "e6d4bd5", + "expected": "48dfbf9", + "actual": "48dfbf9", "status": "match" } ], @@ -992,7 +992,7 @@ "phase": "before_apply", "namespace": "hwlab-dev", "serviceId": "hwlab-cloud-api", - "status": "blocked", + "status": "pass", "readCommand": "KUBECONFIG=/etc/rancher/k3s/k3s.yaml kubectl -n hwlab-dev get deployment hwlab-cloud-api -o json", "kubeconfig": "/etc/rancher/k3s/k3s.yaml", "expectedSecretRef": "hwlab-code-agent-provider/openai-api-key", @@ -1006,7 +1006,7 @@ "runtimeProvider": "openai-responses", "backend": "hwlab-cloud-api/codex-mcp-stdio", "model": "gpt-5.5", - "ready": false, + "ready": true, "requiredEnv": [ { "name": "HWLAB_CODE_AGENT_PROVIDER", @@ -1034,13 +1034,7 @@ } ], "missingEnv": [], - "mismatchedEnv": [ - { - "name": "HWLAB_CODE_AGENT_PROVIDER", - "expected": "codex-stdio", - "redacted": false - } - ], + "mismatchedEnv": [], "secretRef": { "env": "OPENAI_API_KEY", "secretName": "hwlab-code-agent-provider", @@ -1187,106 +1181,106 @@ "artifactEvidence": [ { "serviceId": "hwlab-cloud-api", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", - "digest": "sha256:8a0677290ce3626d3589d1d22a943b49290e74451d75263cdbda3044a6ba105d", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", + "digest": "sha256:15a9dec43d0ad6b750ea4eda860c1c157c6502441732c1de20ef3b92696d0dfc", "publishState": "published" }, { "serviceId": "hwlab-cloud-web", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "digest": "sha256:f43ac97da69212e3ff74cfed36a04d65f0cd9cc7b8cb48f0eaf6f1f19d7dd6da", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "digest": "sha256:fc1841a6e3e8d427d23b5a0187abbe9d73208e3ad2c638e31b9512aaf075699f", "publishState": "published" }, { "serviceId": "hwlab-agent-mgr", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:e6d4bd5", - "digest": "sha256:f37e9b4dd6262ff4c30826fae1a0e01b184d0e57812c7876de73566263ff0c35", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:48dfbf9", + "digest": "sha256:bdb3dffd0a82e7cf1c48de3d130cbd6e733c242dd5667be4ba098a46888a13d6", "publishState": "published" }, { "serviceId": "hwlab-agent-worker", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:e6d4bd5", - "digest": "sha256:afdc241c799fe53561b60a37199c73cfb612ea0381ecfba82e66eb08566a8336", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9", + "digest": "sha256:902590cd05c9af8dcf347b74c05e1fb9fb399eefa54d91ff105dd2fa276ae785", "publishState": "published" }, { "serviceId": "hwlab-gateway", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:e6d4bd5", - "digest": "sha256:27303c093330bddf4c1eb8e3791dce6dbbe97aab28ff17c1faf761b05333cce0", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:48dfbf9", + "digest": "sha256:015916d05ccbd8448e3f32d754335f7c221aaaadf5ae2b63007d7698f7583d04", "publishState": "published" }, { "serviceId": "hwlab-gateway-simu", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5", - "digest": "sha256:38c0372ec72e8f17b26f2fcf83d35718023a81c48529e459d83e36f8cc56ec3a", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9", + "digest": "sha256:74793df73dfeb27fc45b1085ac1c29839f6545ccfea79d033dfddc89d6f3a553", "publishState": "published" }, { "serviceId": "hwlab-box-simu", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5", - "digest": "sha256:d551c22242fff6016f15672c4b8b06dbfc85da2c00ecfdd4e40486668b58a56f", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9", + "digest": "sha256:89d80def71130db7e0f4d9a0ec1dadfcb5d8963bd1f13b71c67eab0a301efb94", "publishState": "published" }, { "serviceId": "hwlab-patch-panel", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:e6d4bd5", - "digest": "sha256:6c7f3600a71131c11b994a625fd6ced65ac3bb7f109f3c7f941513cbd1d2def5", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:48dfbf9", + "digest": "sha256:160a47204b2263e750cbf412f0d266047eeb6baf8b2be839e5d1987fc6082fea", "publishState": "published" }, { "serviceId": "hwlab-router", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-router:e6d4bd5", - "digest": "sha256:8d9084f3d23e44d3ffe628e9d100ebbad260c857d06b1fbb5791ecd11bfc4d9f", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-router:48dfbf9", + "digest": "sha256:0ab02340575ec7e910427f8ea06db2b8f8095922e207ae5e11a64c065fa26df7", "publishState": "published" }, { "serviceId": "hwlab-tunnel-client", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:e6d4bd5", - "digest": "sha256:d6dff1383912ccfed1b1b91dc5ae8323e345f42f57145d7bda788e9941a4ca5a", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9", + "digest": "sha256:75af6caa96ec03d3f4130e512052f666d75b1e5470fa67f8f66f355e1068e43f", "publishState": "published" }, { "serviceId": "hwlab-edge-proxy", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:e6d4bd5", - "digest": "sha256:6ce280c0fd17218dd5719d1118b5e72fd0c4107dc33951e09b35c374f7affacd", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9", + "digest": "sha256:f8b954ad76ab0162e3df0edc26c115f6c697f8f5c4e9d93e24112285b57b9b05", "publishState": "published" }, { "serviceId": "hwlab-cli", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5", - "digest": "sha256:09a015e727738cd188853af557ecd8ea4adfa8a2250692e7442549e9c80eae1f", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9", + "digest": "sha256:ae6564b6b0f8ceaf35ab5d2e7f7c04ca8f5e51aa7daedb01e4a6aa31e4bcc16b", "publishState": "published" }, { "serviceId": "hwlab-agent-skills", - "deployCommitId": "e6d4bd5", - "catalogCommitId": "e6d4bd5", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:e6d4bd5", - "digest": "sha256:45602b9d09ef22095ab75bd95e2f310626bce61bc4e39a7205009fe9620c2d4f", + "deployCommitId": "48dfbf9", + "catalogCommitId": "48dfbf9", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9", + "digest": "sha256:6fc9b4fda9bea32607774a24d72ecc7999007d910d17e11764abce2bdc35c03d", "publishState": "published" } ], @@ -1443,79 +1437,79 @@ "images": [ { "serviceId": "hwlab-cloud-api", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:48dfbf9", "kind": "Deployment", "name": "hwlab-cloud-api" }, { "serviceId": "hwlab-cloud-web", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", "kind": "Deployment", "name": "hwlab-cloud-web" }, { "serviceId": "hwlab-agent-mgr", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:48dfbf9", "kind": "Deployment", "name": "hwlab-agent-mgr" }, { "serviceId": "hwlab-agent-worker", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:48dfbf9", "kind": "Job", "name": "hwlab-agent-worker-template" }, { "serviceId": "hwlab-gateway", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:48dfbf9", "kind": "Deployment", "name": "hwlab-gateway" }, { "serviceId": "hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:48dfbf9", "kind": "StatefulSet", "name": "hwlab-gateway-simu" }, { "serviceId": "hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:48dfbf9", "kind": "StatefulSet", "name": "hwlab-box-simu" }, { "serviceId": "hwlab-patch-panel", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:48dfbf9", "kind": "Deployment", "name": "hwlab-patch-panel" }, { "serviceId": "hwlab-router", - "image": "127.0.0.1:5000/hwlab/hwlab-router:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-router:48dfbf9", "kind": "Deployment", "name": "hwlab-router" }, { "serviceId": "hwlab-tunnel-client", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:48dfbf9", "kind": "Deployment", "name": "hwlab-tunnel-client" }, { "serviceId": "hwlab-edge-proxy", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:48dfbf9", "kind": "Deployment", "name": "hwlab-edge-proxy" }, { "serviceId": "hwlab-cli", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-cli:48dfbf9", "kind": "Job", "name": "hwlab-cli-template" }, { "serviceId": "hwlab-agent-skills", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:e6d4bd5", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:48dfbf9", "kind": "Deployment", "name": "hwlab-agent-skills" } @@ -1527,29 +1521,29 @@ "name": "hwlab-cloud-web", "container": "hwlab-cloud-web", "expected": { - "HWLAB_COMMIT_ID": "e6d4bd5", - "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "HWLAB_IMAGE_TAG": "e6d4bd5" + "HWLAB_COMMIT_ID": "48dfbf9", + "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "HWLAB_IMAGE_TAG": "48dfbf9" }, "status": "match", "matchesDesired": true, "fields": [ { "name": "HWLAB_COMMIT_ID", - "expected": "e6d4bd5", - "actual": "e6d4bd5", + "expected": "48dfbf9", + "actual": "48dfbf9", "status": "match" }, { "name": "HWLAB_IMAGE", - "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", - "actual": "127.0.0.1:5000/hwlab/hwlab-cloud-web:e6d4bd5", + "expected": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", + "actual": "127.0.0.1:5000/hwlab/hwlab-cloud-web:48dfbf9", "status": "match" }, { "name": "HWLAB_IMAGE_TAG", - "expected": "e6d4bd5", - "actual": "e6d4bd5", + "expected": "48dfbf9", + "actual": "48dfbf9", "status": "match" } ], @@ -1568,12 +1562,12 @@ "resources": [ { "kind": "Pod", - "name": "hwlab-agent-mgr-99d44c747-mfqzj", + "name": "hwlab-agent-mgr-6f4cc98885-6bl9w", "phase": "Running" }, { "kind": "Pod", - "name": "hwlab-agent-skills-7f99b49598-lqjdd", + "name": "hwlab-agent-skills-69485c4dc4-mpgdb", "phase": "Running" }, { @@ -1588,17 +1582,17 @@ }, { "kind": "Pod", - "name": "hwlab-cloud-api-57cfcfc587-kdvg9", + "name": "hwlab-cloud-api-54cdcb57dc-xw9gb", "phase": "Running" }, { "kind": "Pod", - "name": "hwlab-cloud-web-67c684947b-lkvtj", + "name": "hwlab-cloud-web-5bd7bf9c6-d67jc", "phase": "Running" }, { "kind": "Pod", - "name": "hwlab-edge-proxy-85db66bcc9-mv8pv", + "name": "hwlab-edge-proxy-58984dcc7c-8bvqj", "phase": "Running" }, { @@ -1618,27 +1612,27 @@ }, { "kind": "Pod", - "name": "hwlab-patch-panel-7cd9d9d597-kwnm6", + "name": "hwlab-patch-panel-55b9c584d7-7rzqb", "phase": "Running" }, { "kind": "Pod", - "name": "hwlab-router-65dc5579fb-d2r8l", + "name": "hwlab-router-76fd584bdb-t26cs", "phase": "Running" }, { "kind": "Pod", - "name": "hwlab-runtime-migrate-35e3d897-kfr4m", + "name": "hwlab-runtime-migrate-5332b2f8-mlg9p", "phase": "Succeeded" }, { "kind": "Pod", - "name": "hwlab-runtime-provision-35e3d897-jk2rc", + "name": "hwlab-runtime-provision-5332b2f8-qdpq7", "phase": "Succeeded" }, { "kind": "Pod", - "name": "hwlab-tunnel-client-54d968477d-mf2qk", + "name": "hwlab-tunnel-client-69d7d6d6d8-pv8b9", "phase": "Running" }, { @@ -1785,11 +1779,11 @@ }, { "kind": "Job", - "name": "hwlab-runtime-migrate-35e3d897" + "name": "hwlab-runtime-migrate-5332b2f8" }, { "kind": "Job", - "name": "hwlab-runtime-provision-35e3d897" + "name": "hwlab-runtime-provision-5332b2f8" } ] }, @@ -1797,7 +1791,7 @@ "status": "pass", "url": "http://74.48.78.17:16667/health/live", "httpStatus": 200, - "body": "{\"serviceId\":\"hwlab-cloud-api\",\"environment\":\"dev\",\"status\":\"degraded\",\"ready\":false,\"revision\":\"b02ac5becad13aeeab0d5cb7d8f01300bccb78c2\",\"readiness\":{\"contractVersion\":\"v3\",\"ready\":false,\"status\":\"degraded\",\"blockerCodes\":[\"stdio_protocol_not_wired\"],\"blockers\":[{\"code\":\"stdio_protocol_not_wired\",\"type\":\"agent_blocker\",\"scope\":\"code-agent-long-lived-session\",\"status\":\"open\",\"sourceIssue\":\"pikasTech/HWLAB#275\",\"summary\":\"普通聊天可走 OpenAI Responses fallback,pwd/skills 走受控只读 runner,M3 IO 走 Skill CLI" + "body": "{\"serviceId\":\"hwlab-cloud-api\",\"environment\":\"dev\",\"status\":\"ok\",\"ready\":true,\"revision\":\"3df89fe15100f3ef3c2e12e1a001b5370d54eff9\",\"readiness\":{\"contractVersion\":\"v3\",\"ready\":true,\"status\":\"ok\",\"blockerCodes\":[],\"blockers\":[],\"components\":{\"db\":\"ready\",\"codeAgent\":\"ready\",\"runtime\":\"ready\",\"provider\":\"ready\",\"dbDurable\":\"ready\",\"sessionRunner\":\"codex_stdio_ready\",\"codexStdio\":\"ready\"},\"provider\":{\"status\":\"ready\",\"ready\":true,\"configured\":true,\"provider\":\"codex-stdio\",\"model\":\"gpt-5.5\",\"backend" } }, "blockers": [], diff --git a/reports/dev-gate/dev-runtime-postflight-report.json b/reports/dev-gate/dev-runtime-postflight-report.json new file mode 100644 index 00000000..105c85dc --- /dev/null +++ b/reports/dev-gate/dev-runtime-postflight-report.json @@ -0,0 +1,467 @@ +{ + "issue": "pikasTech/HWLAB#311", + "mode": "dev-live", + "generatedAt": "2026-05-24T00:18:29.459Z", + "target": { + "environment": "dev", + "namespace": "hwlab-dev", + "prodAllowed": false, + "apiHealthUrl": "http://74.48.78.17:16667/health/live", + "apiV1Url": "http://74.48.78.17:16667/v1", + "m3Target": "api" + }, + "actions": { + "healthLiveReadAttempted": true, + "v1ReadAttempted": true, + "m3MutationAttempted": true, + "m3MutationAllowed": true + }, + "apiHealth": { + "check": "GET /health/live", + "httpStatus": 200, + "reachable": true, + "serviceId": "hwlab-cloud-api", + "environment": "dev", + "status": "ok", + "ready": true, + "runtime": { + "adapter": "postgres", + "durable": true, + "durableRequested": true, + "ready": true, + "status": "ready", + "blocker": null, + "liveRuntimeEvidence": true, + "requiredEvidence": "runtime_adapter_schema_migration_read_query", + "blockedLayer": null, + "gates": { + "ssl": { + "checked": true, + "ready": true, + "status": "ready", + "blocker": null + }, + "auth": { + "checked": true, + "ready": true, + "status": "ready", + "blocker": null + }, + "schema": { + "checked": true, + "ready": true, + "status": "ready", + "blocker": null + }, + "migration": { + "checked": true, + "ready": true, + "status": "ready", + "blocker": null + }, + "durability": { + "checked": true, + "ready": true, + "status": "ready", + "blocker": null + } + } + }, + "runtimeDurableReadiness": { + "status": "ready", + "ready": true, + "classification": "runtime_durable_ready", + "reasonCode": "runtime_durable_ready", + "reason": "runtime durable ready; adapter=postgres; queryResult=durable_readiness_ready", + "impact": "M3 durable postflight may run because runtime persistence readiness is green.", + "safeNextAction": "Continue with repo-owned DEV CD postflight; do not read or print Secret values.", + "retryable": true, + "readonly": false, + "evidence": { + "adapter": "postgres", + "durable": true, + "runtimeReady": true, + "durabilityReady": true, + "liveRuntimeEvidence": true, + "blocker": null, + "blockedLayer": null, + "queryResult": "durable_readiness_ready", + "readyQueryResult": true, + "rawStatus": "ok", + "postgresRequired": true, + "gates": { + "ssl": { + "checked": true, + "ready": true, + "status": "ready", + "blocker": null + }, + "auth": { + "checked": true, + "ready": true, + "status": "ready", + "blocker": null + }, + "schema": { + "checked": true, + "ready": true, + "status": "ready", + "blocker": null + }, + "migration": { + "checked": true, + "ready": true, + "status": "ready", + "blocker": null + }, + "durability": { + "checked": true, + "ready": true, + "status": "ready", + "blocker": null + } + }, + "secretMaterialRead": false + } + }, + "db": { + "ready": true, + "connected": true, + "liveDbEvidence": true, + "endpointSource": "secret-url-host", + "connectionResult": "connected", + "endpointRedacted": true, + "valueRedacted": true, + "runtimeReadiness": { + "ready": true, + "status": "ready", + "blocker": null, + "queryResult": "durable_readiness_ready", + "requiredEvidence": "runtime_adapter_schema_migration_read_query" + } + }, + "readiness": { + "ready": true, + "status": "ok", + "durabilityReady": true, + "durabilityBlockedLayer": null + }, + "blockerCodes": [], + "m3IoControl": null, + "error": null + }, + "apiV1": { + "check": "GET /v1", + "httpStatus": 200, + "reachable": true, + "serviceId": "hwlab-cloud-api", + "environment": null, + "status": "ok", + "ready": true, + "runtime": { + "adapter": "postgres", + "durable": true, + "durableRequested": true, + "ready": true, + "status": "ready", + "blocker": null, + "liveRuntimeEvidence": true, + "requiredEvidence": "runtime_adapter_schema_migration_read_query", + "blockedLayer": null, + "gates": { + "ssl": { + "checked": true, + "ready": true, + "status": "ready", + "blocker": null + }, + "auth": { + "checked": true, + "ready": true, + "status": "ready", + "blocker": null + }, + "schema": { + "checked": true, + "ready": true, + "status": "ready", + "blocker": null + }, + "migration": { + "checked": true, + "ready": true, + "status": "ready", + "blocker": null + }, + "durability": { + "checked": true, + "ready": true, + "status": "ready", + "blocker": null + } + } + }, + "runtimeDurableReadiness": { + "status": "ready", + "ready": true, + "classification": "runtime_durable_ready", + "reasonCode": "runtime_durable_ready", + "reason": "runtime durable ready; adapter=postgres; queryResult=durable_readiness_ready", + "impact": "M3 durable postflight may run because runtime persistence readiness is green.", + "safeNextAction": "Continue with repo-owned DEV CD postflight; do not read or print Secret values.", + "retryable": true, + "readonly": false, + "evidence": { + "adapter": "postgres", + "durable": true, + "runtimeReady": true, + "durabilityReady": true, + "liveRuntimeEvidence": true, + "blocker": null, + "blockedLayer": null, + "queryResult": "durable_readiness_ready", + "readyQueryResult": true, + "rawStatus": "ok", + "postgresRequired": true, + "gates": { + "ssl": { + "checked": true, + "ready": true, + "status": "ready", + "blocker": null + }, + "auth": { + "checked": true, + "ready": true, + "status": "ready", + "blocker": null + }, + "schema": { + "checked": true, + "ready": true, + "status": "ready", + "blocker": null + }, + "migration": { + "checked": true, + "ready": true, + "status": "ready", + "blocker": null + }, + "durability": { + "checked": true, + "ready": true, + "status": "ready", + "blocker": null + } + }, + "secretMaterialRead": false + } + }, + "db": { + "ready": true, + "connected": true, + "liveDbEvidence": true, + "endpointSource": "secret-url-host", + "connectionResult": "connected", + "endpointRedacted": true, + "valueRedacted": true, + "runtimeReadiness": { + "ready": true, + "status": "ready", + "blocker": null, + "queryResult": "durable_readiness_ready", + "requiredEvidence": "runtime_adapter_schema_migration_read_query" + } + }, + "readiness": { + "ready": true, + "status": "ok", + "durabilityReady": true, + "durabilityBlockedLayer": null + }, + "blockerCodes": [], + "m3IoControl": { + "route": "/v1/m3/io", + "status": "available", + "enabled": true, + "contractVersion": "m3-io-control-v1", + "directFrontendGatewayOrBoxAccess": false, + "genericHardwareRpcExposedToFrontend": false + }, + "error": null + }, + "m3": { + "mode": "dev-live", + "status": "blocked", + "classification": "source_contract_failed", + "trustedGreen": false, + "result": "SOURCE/static contract failed.", + "operationCount": 4, + "persisted": true, + "persistenceContract": { + "contractVersion": "m3-do1-true-false-persisted-v1", + "requiredRoute": "res_boxsimu_1:DO1 -> hwlab-patch-panel -> res_boxsimu_2:DI1", + "requiredValues": [ + true, + true, + false, + false + ], + "ready": true, + "sequence": [ + { + "id": "write-do1-true", + "action": "do.write", + "expectedValue": true, + "observedValue": true, + "status": "succeeded", + "idsPresent": true, + "valueMatches": true, + "evidenceGreen": true, + "persisted": true + }, + { + "id": "read-di1-true", + "action": "di.read", + "expectedValue": true, + "observedValue": true, + "status": "succeeded", + "idsPresent": true, + "valueMatches": true, + "evidenceGreen": true, + "persisted": true + }, + { + "id": "write-do1-false", + "action": "do.write", + "expectedValue": false, + "observedValue": false, + "status": "succeeded", + "idsPresent": true, + "valueMatches": true, + "evidenceGreen": true, + "persisted": true + }, + { + "id": "read-di1-false", + "action": "di.read", + "expectedValue": false, + "observedValue": false, + "status": "succeeded", + "idsPresent": true, + "valueMatches": true, + "evidenceGreen": true, + "persisted": true + } + ] + }, + "operations": [ + { + "id": "write-do1-true", + "action": "do.write", + "status": "succeeded", + "operationId": "op_m3_do_write_63f8e5ee-3d78-4df2-b54f-d46b0308bd2a", + "traceId": "trc_m3_io_e2e_write_do1_true_9d47c939-0464-437a-a2a5-90cff6714434", + "auditId": "aud_m3_do_write_63f8e5ee-3d78-4df2-b54f-d46b0308bd2a_succeeded", + "evidenceId": "evd_m3_do_write_63f8e5ee-3d78-4df2-b54f-d46b0308bd2a_succeeded", + "resultValue": true, + "evidenceState": { + "status": "green", + "durable": true, + "sourceKind": "DEV-LIVE", + "writeStatus": "persisted" + }, + "blocker": null + }, + { + "id": "read-di1-true", + "action": "di.read", + "status": "succeeded", + "operationId": "op_m3_di_read_73166d40-4572-4f6d-a96e-8e20f07a10dd", + "traceId": "trc_m3_io_e2e_read_di1_true_a81f0788-33ab-42e1-a16e-16e2c171db1b", + "auditId": "aud_m3_di_read_73166d40-4572-4f6d-a96e-8e20f07a10dd_succeeded", + "evidenceId": "evd_m3_di_read_73166d40-4572-4f6d-a96e-8e20f07a10dd_succeeded", + "resultValue": true, + "evidenceState": { + "status": "green", + "durable": true, + "sourceKind": "DEV-LIVE", + "writeStatus": "persisted" + }, + "blocker": null + }, + { + "id": "write-do1-false", + "action": "do.write", + "status": "succeeded", + "operationId": "op_m3_do_write_0c0af96e-09e0-4e08-ba3f-b1fdf1d4668a", + "traceId": "trc_m3_io_e2e_write_do1_false_9925768c-ca34-4b17-a9fa-344e7103ec97", + "auditId": "aud_m3_do_write_0c0af96e-09e0-4e08-ba3f-b1fdf1d4668a_succeeded", + "evidenceId": "evd_m3_do_write_0c0af96e-09e0-4e08-ba3f-b1fdf1d4668a_succeeded", + "resultValue": false, + "evidenceState": { + "status": "green", + "durable": true, + "sourceKind": "DEV-LIVE", + "writeStatus": "persisted" + }, + "blocker": null + }, + { + "id": "read-di1-false", + "action": "di.read", + "status": "succeeded", + "operationId": "op_m3_di_read_f656bcc9-3a3f-4aed-b59b-2d5d2edafff8", + "traceId": "trc_m3_io_e2e_read_di1_false_83b6a1c9-cd8f-402b-bee4-d4c7f3973832", + "auditId": "aud_m3_di_read_f656bcc9-3a3f-4aed-b59b-2d5d2edafff8_succeeded", + "evidenceId": "evd_m3_di_read_f656bcc9-3a3f-4aed-b59b-2d5d2edafff8_succeeded", + "resultValue": false, + "evidenceState": { + "status": "green", + "durable": true, + "sourceKind": "DEV-LIVE", + "writeStatus": "persisted" + }, + "blocker": null + } + ] + }, + "blockers": [ + { + "type": "runtime_blocker", + "scope": "m3-durable-postflight", + "status": "open", + "reason": "M3 true/false durable postflight did not produce trusted green persisted evidence.", + "impact": "M3 durable readiness cannot be accepted because trusted evidence is not green.", + "safeNextAction": "Fix the M3 control path or trusted-record persistence and rerun DEV runtime postflight.", + "retryable": true, + "summary": "M3 true/false durable postflight did not produce trusted green persisted evidence. Impact: M3 durable readiness cannot be accepted because trusted evidence is not green. Safe next action: Fix the M3 control path or trusted-record persistence and rerun DEV runtime postflight.", + "sourceIssue": "pikasTech/HWLAB#311", + "evidence": { + "classification": "source_contract_failed", + "trustedGreen": false, + "operationCount": 4 + } + } + ], + "safety": { + "devOnly": true, + "environment": "dev", + "prodAllowed": false, + "liveHttpReads": true, + "liveM3Writes": true, + "liveM3WritesRequireDurableRuntimeReady": true, + "readsKubernetesSecrets": false, + "writesKubernetesSecrets": false, + "secretValuesPrinted": false, + "dbUrlValueRedacted": true, + "endpointRedacted": true + }, + "safetyRefusal": false, + "conclusion": { + "status": "blocked", + "summary": "DEV runtime postflight is blocked; M3 is skipped unless durable runtime readiness is proven first.", + "blockerCount": 1 + } +}