From 17cb85b90c963023ef41ad27526dbb84306d10de Mon Sep 17 00:00:00 2001 From: Code Queue Review Date: Sat, 23 May 2026 06:53:00 +0000 Subject: [PATCH] test: classify durable runtime auth blocker --- deploy/artifact-catalog.dev.json | 106 ++--- deploy/deploy.json | 42 +- deploy/k8s/base/workloads.yaml | 40 +- reports/dev-gate/dev-artifacts.json | 434 ++++++++++----------- scripts/src/dev-runtime-migration.test.mjs | 35 ++ 5 files changed, 346 insertions(+), 311 deletions(-) diff --git a/deploy/artifact-catalog.dev.json b/deploy/artifact-catalog.dev.json index 4d22cb36..af242840 100644 --- a/deploy/artifact-catalog.dev.json +++ b/deploy/artifact-catalog.dev.json @@ -5,7 +5,7 @@ "profile": "dev", "namespace": "hwlab-dev", "endpoint": "http://74.48.78.17:16667", - "commitId": "ffffced", + "commitId": "33e4eeb", "artifactState": "published", "publish": { "ciPublished": true, @@ -66,10 +66,10 @@ "services": [ { "serviceId": "hwlab-cloud-api", - "commitId": "ffffced", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:ffffced", - "imageTag": "ffffced", - "digest": "sha256:9c57c1d98e4d7230e164a02c98b8b5d54ab32ea41c4537a2af9e9c7bcff8469f", + "commitId": "33e4eeb", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:d0b5cf23e16dc7d83c2562cf5284c9c3cc7e4fa0df30af59a4bbe1dd567f6c1d", "publishState": "published", "profile": "dev", "namespace": "hwlab-dev", @@ -82,10 +82,10 @@ }, { "serviceId": "hwlab-cloud-web", - "commitId": "ffffced", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:ffffced", - "imageTag": "ffffced", - "digest": "sha256:1b569d55459debdf9c5a57259c7898feacaf2c91fa0ed69cd79c75999af71323", + "commitId": "33e4eeb", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:b24d68eaf3d1b190c7919d5b6993ca93c41f76dd7144baa870ade8c7e5edab29", "publishState": "published", "profile": "dev", "namespace": "hwlab-dev", @@ -98,10 +98,10 @@ }, { "serviceId": "hwlab-agent-mgr", - "commitId": "ffffced", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:ffffced", - "imageTag": "ffffced", - "digest": "sha256:7161eaf219f1f0a56ee7eeff776cad8ca63380a20c806e8691c020fac7e0491d", + "commitId": "33e4eeb", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:28fd27c7d6e4ee3e832495077a8db99ddc05f0d618464815881d918b2d33c1ae", "publishState": "published", "profile": "dev", "namespace": "hwlab-dev", @@ -114,10 +114,10 @@ }, { "serviceId": "hwlab-agent-worker", - "commitId": "ffffced", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:ffffced", - "imageTag": "ffffced", - "digest": "sha256:85562c663d133daec38bc21fa1d8dc448552b7807b076f488940f5c8bbbe0663", + "commitId": "33e4eeb", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:539baed8e8975f8a265631b2478a31ea063b5e8a86d46c5246f9956275fb987d", "publishState": "published", "profile": "dev", "namespace": "hwlab-dev", @@ -130,10 +130,10 @@ }, { "serviceId": "hwlab-gateway", - "commitId": "ffffced", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:ffffced", - "imageTag": "ffffced", - "digest": "sha256:033948e313c769a52e5e160ee73a327d7cf883935f8844c00ea90d907457fc38", + "commitId": "33e4eeb", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:1131dfb319869a92740aee9eedef87fec6295ce293fbd9b0a898ae83b984118a", "publishState": "published", "profile": "dev", "namespace": "hwlab-dev", @@ -146,10 +146,10 @@ }, { "serviceId": "hwlab-gateway-simu", - "commitId": "ffffced", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:ffffced", - "imageTag": "ffffced", - "digest": "sha256:5ec556d298544914937babe82a58a0260d51ad4b150348aecf3642e11aa14ebd", + "commitId": "33e4eeb", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:252c799312f0f1708fb891cebb6e4c0359a07bfe317a3e155a051bade05e3939", "publishState": "published", "profile": "dev", "namespace": "hwlab-dev", @@ -162,10 +162,10 @@ }, { "serviceId": "hwlab-box-simu", - "commitId": "ffffced", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:ffffced", - "imageTag": "ffffced", - "digest": "sha256:17dbd915026a78164be7ca6d4ad746f659f7d5a3f9582b667186671c9e27a3fc", + "commitId": "33e4eeb", + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:948364783b70fecf7336ba39d9ffde03605fd48de2ac2a4a32948d378df4b4e2", "publishState": "published", "profile": "dev", "namespace": "hwlab-dev", @@ -178,10 +178,10 @@ }, { "serviceId": "hwlab-patch-panel", - "commitId": "ffffced", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:ffffced", - "imageTag": "ffffced", - "digest": "sha256:58ef78bee9d95cc2c5eb2fbd6ac6451f88c1a523866008ccc023250ce8f4e759", + "commitId": "33e4eeb", + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:db5dbec9fe1f768bb669e3f8b2ef83c273c9209d9275a2bc18eeb5c2c00576a8", "publishState": "published", "profile": "dev", "namespace": "hwlab-dev", @@ -194,10 +194,10 @@ }, { "serviceId": "hwlab-router", - "commitId": "ffffced", - "image": "127.0.0.1:5000/hwlab/hwlab-router:ffffced", - "imageTag": "ffffced", - "digest": "sha256:0a175b0579f58cc3765358250e7774ffdb430aa3c1a8cab18b9d4b71a4765be9", + "commitId": "33e4eeb", + "image": "127.0.0.1:5000/hwlab/hwlab-router:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:cdb33cd3e66480ff70549603431e09e774aa7551f0a9009eb45942f64bcc8e41", "publishState": "published", "profile": "dev", "namespace": "hwlab-dev", @@ -210,10 +210,10 @@ }, { "serviceId": "hwlab-tunnel-client", - "commitId": "ffffced", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:ffffced", - "imageTag": "ffffced", - "digest": "sha256:3e9ccc95d53adbf97e161eabb7fb4dc3203cbbdd03456339576b364ca564b9dd", + "commitId": "33e4eeb", + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:ec63520dd6bf9f38bc144a0c75d9d41cf6a9ac1d08b34029072aae2f51f4d170", "publishState": "published", "profile": "dev", "namespace": "hwlab-dev", @@ -226,10 +226,10 @@ }, { "serviceId": "hwlab-edge-proxy", - "commitId": "ffffced", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:ffffced", - "imageTag": "ffffced", - "digest": "sha256:91311feb4f3ed4dd9c964e2c026e7b3e72f709a34ce45a93754a24884d0e6cdc", + "commitId": "33e4eeb", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:81ad8512cdf296b5811331d7d2f716a8cde241e2f2f484ff0ffed5ef7a4dfb6b", "publishState": "published", "profile": "dev", "namespace": "hwlab-dev", @@ -242,10 +242,10 @@ }, { "serviceId": "hwlab-cli", - "commitId": "ffffced", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:ffffced", - "imageTag": "ffffced", - "digest": "sha256:a070fc33ae5fcf99cf068106d6b1be654753239b0fb792a977c5543674354e86", + "commitId": "33e4eeb", + "image": "127.0.0.1:5000/hwlab/hwlab-cli:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:ff1c1f5782ccbca557b8b1a2cd531c18b773fbc8095b7ba03ff68dd78ef5aea9", "publishState": "published", "profile": "dev", "namespace": "hwlab-dev", @@ -258,10 +258,10 @@ }, { "serviceId": "hwlab-agent-skills", - "commitId": "ffffced", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:ffffced", - "imageTag": "ffffced", - "digest": "sha256:8fbb9ca4daa97c5d0fbb1ab94dfc37f00fbce7b37b433bd59bdfaf7684fa8a46", + "commitId": "33e4eeb", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:aec834774746d8f2dbda2bad0c4a8204f7a2053fb00e808f53c1ad6c93173960", "publishState": "published", "profile": "dev", "namespace": "hwlab-dev", diff --git a/deploy/deploy.json b/deploy/deploy.json index aec28637..b381a71a 100644 --- a/deploy/deploy.json +++ b/deploy/deploy.json @@ -1,7 +1,7 @@ { "manifestVersion": "v1", "environment": "dev", - "commitId": "ffffced", + "commitId": "33e4eeb", "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:ffffced", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:33e4eeb", "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": "ffffced", - "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-api:ffffced", - "HWLAB_IMAGE_TAG": "ffffced", + "HWLAB_COMMIT_ID": "33e4eeb", + "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-api:33e4eeb", + "HWLAB_IMAGE_TAG": "33e4eeb", "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", @@ -210,7 +210,7 @@ }, { "serviceId": "hwlab-cloud-web", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:ffffced", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:33e4eeb", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -218,14 +218,14 @@ "env": { "HWLAB_ENVIRONMENT": "dev", "HWLAB_API_BASE_URL": "http://hwlab-cloud-api.hwlab-dev.svc.cluster.local:6667", - "HWLAB_COMMIT_ID": "ffffced", - "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-web:ffffced", - "HWLAB_IMAGE_TAG": "ffffced" + "HWLAB_COMMIT_ID": "33e4eeb", + "HWLAB_IMAGE": "127.0.0.1:5000/hwlab/hwlab-cloud-web:33e4eeb", + "HWLAB_IMAGE_TAG": "33e4eeb" } }, { "serviceId": "hwlab-agent-mgr", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:ffffced", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:33e4eeb", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -237,7 +237,7 @@ }, { "serviceId": "hwlab-agent-worker", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:ffffced", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:33e4eeb", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -249,7 +249,7 @@ }, { "serviceId": "hwlab-gateway", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:ffffced", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:33e4eeb", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -261,7 +261,7 @@ }, { "serviceId": "hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:ffffced", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:33e4eeb", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -281,7 +281,7 @@ }, { "serviceId": "hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:ffffced", + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:33e4eeb", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -300,7 +300,7 @@ }, { "serviceId": "hwlab-patch-panel", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:ffffced", + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:33e4eeb", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -321,7 +321,7 @@ }, { "serviceId": "hwlab-router", - "image": "127.0.0.1:5000/hwlab/hwlab-router:ffffced", + "image": "127.0.0.1:5000/hwlab/hwlab-router:33e4eeb", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -333,7 +333,7 @@ }, { "serviceId": "hwlab-tunnel-client", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:ffffced", + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:33e4eeb", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -347,7 +347,7 @@ }, { "serviceId": "hwlab-edge-proxy", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:ffffced", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:33e4eeb", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -359,7 +359,7 @@ }, { "serviceId": "hwlab-cli", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:ffffced", + "image": "127.0.0.1:5000/hwlab/hwlab-cli:33e4eeb", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", @@ -370,13 +370,13 @@ }, { "serviceId": "hwlab-agent-skills", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:ffffced", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:33e4eeb", "namespace": "hwlab-dev", "healthPath": "/health/live", "profile": "dev", "replicas": 1, "env": { - "HWLAB_SKILLS_COMMIT_ID": "ffffced" + "HWLAB_SKILLS_COMMIT_ID": "33e4eeb" } } ], diff --git a/deploy/k8s/base/workloads.yaml b/deploy/k8s/base/workloads.yaml index 664ef9a3..e5ea5978 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:ffffced", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:33e4eeb", "ports": [ { "name": "http", @@ -49,15 +49,15 @@ }, { "name": "HWLAB_COMMIT_ID", - "value": "ffffced" + "value": "33e4eeb" }, { "name": "HWLAB_IMAGE", - "value": "127.0.0.1:5000/hwlab/hwlab-cloud-api:ffffced" + "value": "127.0.0.1:5000/hwlab/hwlab-cloud-api:33e4eeb" }, { "name": "HWLAB_IMAGE_TAG", - "value": "ffffced" + "value": "33e4eeb" }, { "name": "HWLAB_RUNTIME_SUBSTITUTE_FORBIDDEN", @@ -175,7 +175,7 @@ "containers": [ { "name": "hwlab-cloud-web", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:ffffced", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:33e4eeb", "ports": [ { "name": "http", @@ -189,15 +189,15 @@ }, { "name": "HWLAB_COMMIT_ID", - "value": "ffffced" + "value": "33e4eeb" }, { "name": "HWLAB_IMAGE", - "value": "127.0.0.1:5000/hwlab/hwlab-cloud-web:ffffced" + "value": "127.0.0.1:5000/hwlab/hwlab-cloud-web:33e4eeb" }, { "name": "HWLAB_IMAGE_TAG", - "value": "ffffced" + "value": "33e4eeb" } ], "readinessProbe": { @@ -247,7 +247,7 @@ "containers": [ { "name": "hwlab-agent-mgr", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:ffffced", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:33e4eeb", "ports": [ { "name": "http", @@ -303,7 +303,7 @@ "containers": [ { "name": "hwlab-agent-worker", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:ffffced", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:33e4eeb", "env": [ { "name": "HWLAB_AGENT_SESSION_MODE", @@ -346,7 +346,7 @@ "containers": [ { "name": "hwlab-gateway", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:ffffced", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:33e4eeb", "ports": [ { "name": "http", @@ -407,7 +407,7 @@ "containers": [ { "name": "hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:ffffced", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:33e4eeb", "ports": [ { "name": "http", @@ -480,7 +480,7 @@ "containers": [ { "name": "hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:ffffced", + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:33e4eeb", "ports": [ { "name": "http", @@ -548,7 +548,7 @@ "containers": [ { "name": "hwlab-patch-panel", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:ffffced", + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:33e4eeb", "ports": [ { "name": "http", @@ -612,7 +612,7 @@ "containers": [ { "name": "hwlab-router", - "image": "127.0.0.1:5000/hwlab/hwlab-router:ffffced", + "image": "127.0.0.1:5000/hwlab/hwlab-router:33e4eeb", "ports": [ { "name": "http", @@ -672,7 +672,7 @@ "containers": [ { "name": "hwlab-tunnel-client", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:ffffced", + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:33e4eeb", "ports": [ { "name": "http", @@ -744,7 +744,7 @@ "containers": [ { "name": "hwlab-edge-proxy", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:ffffced", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:33e4eeb", "ports": [ { "name": "http", @@ -805,7 +805,7 @@ "containers": [ { "name": "hwlab-cli", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:ffffced", + "image": "127.0.0.1:5000/hwlab/hwlab-cli:33e4eeb", "env": [ { "name": "HWLAB_CLI_ENDPOINT", @@ -847,7 +847,7 @@ "containers": [ { "name": "hwlab-agent-skills", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:ffffced", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:33e4eeb", "ports": [ { "name": "http", @@ -857,7 +857,7 @@ "env": [ { "name": "HWLAB_SKILLS_COMMIT_ID", - "value": "ffffced" + "value": "33e4eeb" } ], "readinessProbe": { diff --git a/reports/dev-gate/dev-artifacts.json b/reports/dev-gate/dev-artifacts.json index 3aae9a19..68a88e76 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": "ffffced", + "commitId": "33e4eeb", "acceptanceLevel": "dev_artifact_publish", "devOnly": true, "prodDisabled": true, @@ -75,12 +75,12 @@ "status": "published", "mode": "publish", "repo": "pikasTech/HWLAB", - "sourceCommitId": "ffffced0c971c4321235b4b2120bc93b2ed1c8a0", + "sourceCommitId": "33e4eeb7d05a37b0d5ba232407cd0e04226354d9", "registryPrefix": "127.0.0.1:5000/hwlab", "registryCapabilities": { "version": "v1", "registryPrefix": "127.0.0.1:5000/hwlab", - "generatedAt": "2026-05-23T06:31:44.241Z", + "generatedAt": "2026-05-23T06:46:43.528Z", "classification": "degraded", "dimensions": { "processHttpAccess": { @@ -164,16 +164,16 @@ "podCount": 17, "pulledImages": [ { - "pod": "hwlab-agent-mgr-55f4dfb4f-vl7zg", + "pod": "hwlab-agent-mgr-5847b8bcd-xmnvg", "container": "hwlab-agent-mgr", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:892a027", - "imageID": "127.0.0.1:5000/hwlab/hwlab-agent-mgr@sha256:3da2ebe565a9170fccb9e3dce99e1c86d87f13517fe0b8e48ed7b509a698eb43" + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:ffffced", + "imageID": "127.0.0.1:5000/hwlab/hwlab-agent-mgr@sha256:b6b0e25e2ce7caaa9937b55e5f1e1651ea6883efc48b9e29b94b2697ff2e6484" }, { - "pod": "hwlab-agent-skills-7775977b7d-7mp77", + "pod": "hwlab-agent-skills-66f47d456b-hwflm", "container": "hwlab-agent-skills", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:892a027", - "imageID": "127.0.0.1:5000/hwlab/hwlab-agent-skills@sha256:58adcc99c77a9e65839bb535e32c5c64e6de5268532db5d7c95e12abed4416e6" + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:ffffced", + "imageID": "127.0.0.1:5000/hwlab/hwlab-agent-skills@sha256:70a430828448eda9f5e4308eb5e9c6f7d33b6ac1e9b34488452df84623caf506" }, { "pod": "hwlab-box-simu-0", @@ -184,8 +184,8 @@ { "pod": "hwlab-box-simu-1", "container": "hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:892a027", - "imageID": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:5e26509785a54bcefe1c42cc07a1dd6dc244fd75911b4deb31221f77d60420ee" + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:ffffced", + "imageID": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:4143753f6d0bdf78eeb7cb42cde7121b9862d80c9afb76b98ef8ab3f59f29b8f" }, { "pod": "hwlab-box-simu-55688cbcc7-pftxc", @@ -200,22 +200,22 @@ "imageID": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:ae5fcc06a276918561c2d752f2221156bd2bd4db7fb93967ae76af97bfdc51bf" }, { - "pod": "hwlab-cloud-api-866fcf6885-95n4v", + "pod": "hwlab-cloud-api-748787c694-8cq76", "container": "hwlab-cloud-api", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:892a027", - "imageID": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:853b93a2da2fc35321c43cc343e545332bd5b420e17d7f7cb7a3ac3ee7b2a77f" + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:ffffced", + "imageID": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:9c57c1d98e4d7230e164a02c98b8b5d54ab32ea41c4537a2af9e9c7bcff8469f" }, { - "pod": "hwlab-cloud-web-656bc75b5d-b4dqp", + "pod": "hwlab-cloud-web-5b6f6dcb78-qc5fn", "container": "hwlab-cloud-web", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:892a027", - "imageID": "127.0.0.1:5000/hwlab/hwlab-cloud-web@sha256:b93f2da574a443569aaf9379a3936ba2477fe775d24fbf872d8a781a5f81032b" + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:ffffced", + "imageID": "127.0.0.1:5000/hwlab/hwlab-cloud-web@sha256:0e3c022d5373960aebab2c6b1f01c24fb925a4340327de298cad6caf4877b01d" }, { - "pod": "hwlab-edge-proxy-755df49dbb-72ncz", + "pod": "hwlab-edge-proxy-7c5d8b6f79-b9h6w", "container": "hwlab-edge-proxy", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:892a027", - "imageID": "127.0.0.1:5000/hwlab/hwlab-edge-proxy@sha256:470dd3685c1775ebd7e11e3e16e100b46599c37b15cc9ec6bd6d124d187e5efe" + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:ffffced", + "imageID": "127.0.0.1:5000/hwlab/hwlab-edge-proxy@sha256:8a54913d872b838c906cd200eb389fd6a104da6dcaef73fda9370a503a37e3fd" }, { "pod": "hwlab-frpc-59f57d479c-wm5l2", @@ -232,8 +232,8 @@ { "pod": "hwlab-gateway-simu-1", "container": "hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:892a027", - "imageID": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:5189b3a01a4b789decbe183ae9930ef4f547443c338d3b20e5f73b03a61b57db" + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:ffffced", + "imageID": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:6594c835a8e9b26c8aa8ab6208608ef1db11ebb07b32b2359d8f4258243bd70d" }, { "pod": "hwlab-gateway-simu-699fd486b-j9pk7", @@ -248,22 +248,22 @@ "imageID": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:00599721b910b5667b6be43c416cab4c410c6cc29b7f56ecdfb6eff71123d01c" }, { - "pod": "hwlab-patch-panel-6c4dd7dcfd-g9nr8", + "pod": "hwlab-patch-panel-7696fdf5b-pld42", "container": "hwlab-patch-panel", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:892a027", - "imageID": "127.0.0.1:5000/hwlab/hwlab-patch-panel@sha256:7e96b31be570a94784de08409b2c504752ff15df99821621f28e606dfcfe2e06" + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:ffffced", + "imageID": "127.0.0.1:5000/hwlab/hwlab-patch-panel@sha256:58ef78bee9d95cc2c5eb2fbd6ac6451f88c1a523866008ccc023250ce8f4e759" }, { - "pod": "hwlab-router-794d96fb7d-ghv45", + "pod": "hwlab-router-578f855bbc-nb6g9", "container": "hwlab-router", - "image": "127.0.0.1:5000/hwlab/hwlab-router:892a027", - "imageID": "127.0.0.1:5000/hwlab/hwlab-router@sha256:77ea9428ee50b2ec031bbb0ab72597c0106096d80983608e818009af3a1ab519" + "image": "127.0.0.1:5000/hwlab/hwlab-router:ffffced", + "imageID": "127.0.0.1:5000/hwlab/hwlab-router@sha256:325655784e087f02813b8dcee39a16e94714e6db9fb72b9d8e14671eb2470cba" }, { - "pod": "hwlab-tunnel-client-6dff8bd46d-fcql4", + "pod": "hwlab-tunnel-client-7c69cc6b45-6k5ms", "container": "hwlab-tunnel-client", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:892a027", - "imageID": "127.0.0.1:5000/hwlab/hwlab-tunnel-client@sha256:dbb1d585a16180c0a016dcc78731f0e86430c375904ea4b3e7e855f3b949a7a1" + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:ffffced", + "imageID": "127.0.0.1:5000/hwlab/hwlab-tunnel-client@sha256:c9579c4a3e86155f712de1403f65f7022185334ad45944f1c99e61241191ef0e" } ], "pullFailures": [], @@ -536,13 +536,13 @@ "publishPlan": { "version": "v2", "mode": "publish", - "sourceCommitId": "ffffced0c971c4321235b4b2120bc93b2ed1c8a0", - "imageTag": "ffffced", + "sourceCommitId": "33e4eeb7d05a37b0d5ba232407cd0e04226354d9", + "imageTag": "33e4eeb", "registryTarget": "127.0.0.1:5000/hwlab", "registryCapabilities": { "version": "v1", "registryPrefix": "127.0.0.1:5000/hwlab", - "generatedAt": "2026-05-23T06:31:44.241Z", + "generatedAt": "2026-05-23T06:46:43.528Z", "classification": "degraded", "dimensions": { "processHttpAccess": { @@ -626,16 +626,16 @@ "podCount": 17, "pulledImages": [ { - "pod": "hwlab-agent-mgr-55f4dfb4f-vl7zg", + "pod": "hwlab-agent-mgr-5847b8bcd-xmnvg", "container": "hwlab-agent-mgr", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:892a027", - "imageID": "127.0.0.1:5000/hwlab/hwlab-agent-mgr@sha256:3da2ebe565a9170fccb9e3dce99e1c86d87f13517fe0b8e48ed7b509a698eb43" + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:ffffced", + "imageID": "127.0.0.1:5000/hwlab/hwlab-agent-mgr@sha256:b6b0e25e2ce7caaa9937b55e5f1e1651ea6883efc48b9e29b94b2697ff2e6484" }, { - "pod": "hwlab-agent-skills-7775977b7d-7mp77", + "pod": "hwlab-agent-skills-66f47d456b-hwflm", "container": "hwlab-agent-skills", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:892a027", - "imageID": "127.0.0.1:5000/hwlab/hwlab-agent-skills@sha256:58adcc99c77a9e65839bb535e32c5c64e6de5268532db5d7c95e12abed4416e6" + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:ffffced", + "imageID": "127.0.0.1:5000/hwlab/hwlab-agent-skills@sha256:70a430828448eda9f5e4308eb5e9c6f7d33b6ac1e9b34488452df84623caf506" }, { "pod": "hwlab-box-simu-0", @@ -646,8 +646,8 @@ { "pod": "hwlab-box-simu-1", "container": "hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:892a027", - "imageID": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:5e26509785a54bcefe1c42cc07a1dd6dc244fd75911b4deb31221f77d60420ee" + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:ffffced", + "imageID": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:4143753f6d0bdf78eeb7cb42cde7121b9862d80c9afb76b98ef8ab3f59f29b8f" }, { "pod": "hwlab-box-simu-55688cbcc7-pftxc", @@ -662,22 +662,22 @@ "imageID": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:ae5fcc06a276918561c2d752f2221156bd2bd4db7fb93967ae76af97bfdc51bf" }, { - "pod": "hwlab-cloud-api-866fcf6885-95n4v", + "pod": "hwlab-cloud-api-748787c694-8cq76", "container": "hwlab-cloud-api", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:892a027", - "imageID": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:853b93a2da2fc35321c43cc343e545332bd5b420e17d7f7cb7a3ac3ee7b2a77f" + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:ffffced", + "imageID": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:9c57c1d98e4d7230e164a02c98b8b5d54ab32ea41c4537a2af9e9c7bcff8469f" }, { - "pod": "hwlab-cloud-web-656bc75b5d-b4dqp", + "pod": "hwlab-cloud-web-5b6f6dcb78-qc5fn", "container": "hwlab-cloud-web", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:892a027", - "imageID": "127.0.0.1:5000/hwlab/hwlab-cloud-web@sha256:b93f2da574a443569aaf9379a3936ba2477fe775d24fbf872d8a781a5f81032b" + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:ffffced", + "imageID": "127.0.0.1:5000/hwlab/hwlab-cloud-web@sha256:0e3c022d5373960aebab2c6b1f01c24fb925a4340327de298cad6caf4877b01d" }, { - "pod": "hwlab-edge-proxy-755df49dbb-72ncz", + "pod": "hwlab-edge-proxy-7c5d8b6f79-b9h6w", "container": "hwlab-edge-proxy", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:892a027", - "imageID": "127.0.0.1:5000/hwlab/hwlab-edge-proxy@sha256:470dd3685c1775ebd7e11e3e16e100b46599c37b15cc9ec6bd6d124d187e5efe" + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:ffffced", + "imageID": "127.0.0.1:5000/hwlab/hwlab-edge-proxy@sha256:8a54913d872b838c906cd200eb389fd6a104da6dcaef73fda9370a503a37e3fd" }, { "pod": "hwlab-frpc-59f57d479c-wm5l2", @@ -694,8 +694,8 @@ { "pod": "hwlab-gateway-simu-1", "container": "hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:892a027", - "imageID": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:5189b3a01a4b789decbe183ae9930ef4f547443c338d3b20e5f73b03a61b57db" + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:ffffced", + "imageID": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:6594c835a8e9b26c8aa8ab6208608ef1db11ebb07b32b2359d8f4258243bd70d" }, { "pod": "hwlab-gateway-simu-699fd486b-j9pk7", @@ -710,22 +710,22 @@ "imageID": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:00599721b910b5667b6be43c416cab4c410c6cc29b7f56ecdfb6eff71123d01c" }, { - "pod": "hwlab-patch-panel-6c4dd7dcfd-g9nr8", + "pod": "hwlab-patch-panel-7696fdf5b-pld42", "container": "hwlab-patch-panel", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:892a027", - "imageID": "127.0.0.1:5000/hwlab/hwlab-patch-panel@sha256:7e96b31be570a94784de08409b2c504752ff15df99821621f28e606dfcfe2e06" + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:ffffced", + "imageID": "127.0.0.1:5000/hwlab/hwlab-patch-panel@sha256:58ef78bee9d95cc2c5eb2fbd6ac6451f88c1a523866008ccc023250ce8f4e759" }, { - "pod": "hwlab-router-794d96fb7d-ghv45", + "pod": "hwlab-router-578f855bbc-nb6g9", "container": "hwlab-router", - "image": "127.0.0.1:5000/hwlab/hwlab-router:892a027", - "imageID": "127.0.0.1:5000/hwlab/hwlab-router@sha256:77ea9428ee50b2ec031bbb0ab72597c0106096d80983608e818009af3a1ab519" + "image": "127.0.0.1:5000/hwlab/hwlab-router:ffffced", + "imageID": "127.0.0.1:5000/hwlab/hwlab-router@sha256:325655784e087f02813b8dcee39a16e94714e6db9fb72b9d8e14671eb2470cba" }, { - "pod": "hwlab-tunnel-client-6dff8bd46d-fcql4", + "pod": "hwlab-tunnel-client-7c69cc6b45-6k5ms", "container": "hwlab-tunnel-client", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:892a027", - "imageID": "127.0.0.1:5000/hwlab/hwlab-tunnel-client@sha256:dbb1d585a16180c0a016dcc78731f0e86430c375904ea4b3e7e855f3b949a7a1" + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:ffffced", + "imageID": "127.0.0.1:5000/hwlab/hwlab-tunnel-client@sha256:c9579c4a3e86155f712de1403f65f7022185334ad45944f1c99e61241191ef0e" } ], "pullFailures": [], @@ -747,12 +747,12 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "ffffced0c971c4321235b4b2120bc93b2ed1c8a0", + "sourceCommitId": "33e4eeb7d05a37b0d5ba232407cd0e04226354d9", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-cloud-api", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:ffffced", - "imageTag": "ffffced", - "digest": "sha256:9c57c1d98e4d7230e164a02c98b8b5d54ab32ea41c4537a2af9e9c7bcff8469f", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:9c57c1d98e4d7230e164a02c98b8b5d54ab32ea41c4537a2af9e9c7bcff8469f", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:d0b5cf23e16dc7d83c2562cf5284c9c3cc7e4fa0df30af59a4bbe1dd567f6c1d", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:d0b5cf23e16dc7d83c2562cf5284c9c3cc7e4fa0df30af59a4bbe1dd567f6c1d", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -762,12 +762,12 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "ffffced0c971c4321235b4b2120bc93b2ed1c8a0", + "sourceCommitId": "33e4eeb7d05a37b0d5ba232407cd0e04226354d9", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-cloud-web", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:ffffced", - "imageTag": "ffffced", - "digest": "sha256:1b569d55459debdf9c5a57259c7898feacaf2c91fa0ed69cd79c75999af71323", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cloud-web@sha256:1b569d55459debdf9c5a57259c7898feacaf2c91fa0ed69cd79c75999af71323", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:b24d68eaf3d1b190c7919d5b6993ca93c41f76dd7144baa870ade8c7e5edab29", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cloud-web@sha256:b24d68eaf3d1b190c7919d5b6993ca93c41f76dd7144baa870ade8c7e5edab29", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -777,12 +777,12 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "ffffced0c971c4321235b4b2120bc93b2ed1c8a0", + "sourceCommitId": "33e4eeb7d05a37b0d5ba232407cd0e04226354d9", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-agent-mgr", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:ffffced", - "imageTag": "ffffced", - "digest": "sha256:7161eaf219f1f0a56ee7eeff776cad8ca63380a20c806e8691c020fac7e0491d", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-mgr@sha256:7161eaf219f1f0a56ee7eeff776cad8ca63380a20c806e8691c020fac7e0491d", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:28fd27c7d6e4ee3e832495077a8db99ddc05f0d618464815881d918b2d33c1ae", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-mgr@sha256:28fd27c7d6e4ee3e832495077a8db99ddc05f0d618464815881d918b2d33c1ae", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -792,12 +792,12 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "ffffced0c971c4321235b4b2120bc93b2ed1c8a0", + "sourceCommitId": "33e4eeb7d05a37b0d5ba232407cd0e04226354d9", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-agent-worker", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:ffffced", - "imageTag": "ffffced", - "digest": "sha256:85562c663d133daec38bc21fa1d8dc448552b7807b076f488940f5c8bbbe0663", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-worker@sha256:85562c663d133daec38bc21fa1d8dc448552b7807b076f488940f5c8bbbe0663", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:539baed8e8975f8a265631b2478a31ea063b5e8a86d46c5246f9956275fb987d", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-worker@sha256:539baed8e8975f8a265631b2478a31ea063b5e8a86d46c5246f9956275fb987d", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -807,12 +807,12 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "ffffced0c971c4321235b4b2120bc93b2ed1c8a0", + "sourceCommitId": "33e4eeb7d05a37b0d5ba232407cd0e04226354d9", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-gateway", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:ffffced", - "imageTag": "ffffced", - "digest": "sha256:033948e313c769a52e5e160ee73a327d7cf883935f8844c00ea90d907457fc38", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-gateway@sha256:033948e313c769a52e5e160ee73a327d7cf883935f8844c00ea90d907457fc38", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:1131dfb319869a92740aee9eedef87fec6295ce293fbd9b0a898ae83b984118a", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-gateway@sha256:1131dfb319869a92740aee9eedef87fec6295ce293fbd9b0a898ae83b984118a", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -822,12 +822,12 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "ffffced0c971c4321235b4b2120bc93b2ed1c8a0", + "sourceCommitId": "33e4eeb7d05a37b0d5ba232407cd0e04226354d9", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-gateway-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:ffffced", - "imageTag": "ffffced", - "digest": "sha256:5ec556d298544914937babe82a58a0260d51ad4b150348aecf3642e11aa14ebd", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:5ec556d298544914937babe82a58a0260d51ad4b150348aecf3642e11aa14ebd", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:252c799312f0f1708fb891cebb6e4c0359a07bfe317a3e155a051bade05e3939", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:252c799312f0f1708fb891cebb6e4c0359a07bfe317a3e155a051bade05e3939", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -837,12 +837,12 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "ffffced0c971c4321235b4b2120bc93b2ed1c8a0", + "sourceCommitId": "33e4eeb7d05a37b0d5ba232407cd0e04226354d9", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-box-simu", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:ffffced", - "imageTag": "ffffced", - "digest": "sha256:17dbd915026a78164be7ca6d4ad746f659f7d5a3f9582b667186671c9e27a3fc", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:17dbd915026a78164be7ca6d4ad746f659f7d5a3f9582b667186671c9e27a3fc", + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:948364783b70fecf7336ba39d9ffde03605fd48de2ac2a4a32948d378df4b4e2", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:948364783b70fecf7336ba39d9ffde03605fd48de2ac2a4a32948d378df4b4e2", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -852,12 +852,12 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "ffffced0c971c4321235b4b2120bc93b2ed1c8a0", + "sourceCommitId": "33e4eeb7d05a37b0d5ba232407cd0e04226354d9", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-patch-panel", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:ffffced", - "imageTag": "ffffced", - "digest": "sha256:58ef78bee9d95cc2c5eb2fbd6ac6451f88c1a523866008ccc023250ce8f4e759", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-patch-panel@sha256:58ef78bee9d95cc2c5eb2fbd6ac6451f88c1a523866008ccc023250ce8f4e759", + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:db5dbec9fe1f768bb669e3f8b2ef83c273c9209d9275a2bc18eeb5c2c00576a8", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-patch-panel@sha256:db5dbec9fe1f768bb669e3f8b2ef83c273c9209d9275a2bc18eeb5c2c00576a8", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -867,12 +867,12 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "ffffced0c971c4321235b4b2120bc93b2ed1c8a0", + "sourceCommitId": "33e4eeb7d05a37b0d5ba232407cd0e04226354d9", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-router", - "image": "127.0.0.1:5000/hwlab/hwlab-router:ffffced", - "imageTag": "ffffced", - "digest": "sha256:0a175b0579f58cc3765358250e7774ffdb430aa3c1a8cab18b9d4b71a4765be9", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-router@sha256:0a175b0579f58cc3765358250e7774ffdb430aa3c1a8cab18b9d4b71a4765be9", + "image": "127.0.0.1:5000/hwlab/hwlab-router:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:cdb33cd3e66480ff70549603431e09e774aa7551f0a9009eb45942f64bcc8e41", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-router@sha256:cdb33cd3e66480ff70549603431e09e774aa7551f0a9009eb45942f64bcc8e41", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -882,12 +882,12 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "ffffced0c971c4321235b4b2120bc93b2ed1c8a0", + "sourceCommitId": "33e4eeb7d05a37b0d5ba232407cd0e04226354d9", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-tunnel-client", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:ffffced", - "imageTag": "ffffced", - "digest": "sha256:3e9ccc95d53adbf97e161eabb7fb4dc3203cbbdd03456339576b364ca564b9dd", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-tunnel-client@sha256:3e9ccc95d53adbf97e161eabb7fb4dc3203cbbdd03456339576b364ca564b9dd", + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:ec63520dd6bf9f38bc144a0c75d9d41cf6a9ac1d08b34029072aae2f51f4d170", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-tunnel-client@sha256:ec63520dd6bf9f38bc144a0c75d9d41cf6a9ac1d08b34029072aae2f51f4d170", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -897,12 +897,12 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "ffffced0c971c4321235b4b2120bc93b2ed1c8a0", + "sourceCommitId": "33e4eeb7d05a37b0d5ba232407cd0e04226354d9", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-edge-proxy", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:ffffced", - "imageTag": "ffffced", - "digest": "sha256:91311feb4f3ed4dd9c964e2c026e7b3e72f709a34ce45a93754a24884d0e6cdc", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-edge-proxy@sha256:91311feb4f3ed4dd9c964e2c026e7b3e72f709a34ce45a93754a24884d0e6cdc", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:81ad8512cdf296b5811331d7d2f716a8cde241e2f2f484ff0ffed5ef7a4dfb6b", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-edge-proxy@sha256:81ad8512cdf296b5811331d7d2f716a8cde241e2f2f484ff0ffed5ef7a4dfb6b", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -912,12 +912,12 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "ffffced0c971c4321235b4b2120bc93b2ed1c8a0", + "sourceCommitId": "33e4eeb7d05a37b0d5ba232407cd0e04226354d9", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-cli", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:ffffced", - "imageTag": "ffffced", - "digest": "sha256:a070fc33ae5fcf99cf068106d6b1be654753239b0fb792a977c5543674354e86", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cli@sha256:a070fc33ae5fcf99cf068106d6b1be654753239b0fb792a977c5543674354e86", + "image": "127.0.0.1:5000/hwlab/hwlab-cli:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:ff1c1f5782ccbca557b8b1a2cd531c18b773fbc8095b7ba03ff68dd78ef5aea9", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cli@sha256:ff1c1f5782ccbca557b8b1a2cd531c18b773fbc8095b7ba03ff68dd78ef5aea9", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -927,12 +927,12 @@ "enabled": true, "required": true, "artifactScope": "required", - "sourceCommitId": "ffffced0c971c4321235b4b2120bc93b2ed1c8a0", + "sourceCommitId": "33e4eeb7d05a37b0d5ba232407cd0e04226354d9", "registryTarget": "127.0.0.1:5000/hwlab/hwlab-agent-skills", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:ffffced", - "imageTag": "ffffced", - "digest": "sha256:8fbb9ca4daa97c5d0fbb1ab94dfc37f00fbce7b37b433bd59bdfaf7684fa8a46", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-skills@sha256:8fbb9ca4daa97c5d0fbb1ab94dfc37f00fbce7b37b433bd59bdfaf7684fa8a46", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:aec834774746d8f2dbda2bad0c4a8204f7a2053fb00e808f53c1ad6c93173960", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-skills@sha256:aec834774746d8f2dbda2bad0c4a8204f7a2053fb00e808f53c1ad6c93173960", "digestStatus": "real", "status": "published", "notPublishedReason": null @@ -944,15 +944,15 @@ "disabledServiceCount": 0, "builtCount": 13, "publishedCount": 13, - "generatedAt": "2026-05-23T06:37:26.409Z", + "generatedAt": "2026-05-23T06:51:32.823Z", "services": [ { "serviceId": "hwlab-cloud-api", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:ffffced", - "imageTag": "ffffced", - "digest": "sha256:9c57c1d98e4d7230e164a02c98b8b5d54ab32ea41c4537a2af9e9c7bcff8469f", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:9c57c1d98e4d7230e164a02c98b8b5d54ab32ea41c4537a2af9e9c7bcff8469f", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:d0b5cf23e16dc7d83c2562cf5284c9c3cc7e4fa0df30af59a4bbe1dd567f6c1d", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:d0b5cf23e16dc7d83c2562cf5284c9c3cc7e4fa0df30af59a4bbe1dd567f6c1d", "runtimeKind": "node-command", "implementationState": "repo-entrypoint", "sourceState": "source-present", @@ -961,15 +961,15 @@ "artifactRequired": true, "artifactScope": "required", "notPublishedReason": null, - "localImageId": "sha256:cca5215b28219d87ba9a23efbe430ad1db1380c67647b8e1ae3b22ac301eaea4" + "localImageId": "sha256:3afdb84c67a4544183ef872e791eec4af288cca274fbfda37c8f991c4d421a9e" }, { "serviceId": "hwlab-cloud-web", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:ffffced", - "imageTag": "ffffced", - "digest": "sha256:1b569d55459debdf9c5a57259c7898feacaf2c91fa0ed69cd79c75999af71323", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cloud-web@sha256:1b569d55459debdf9c5a57259c7898feacaf2c91fa0ed69cd79c75999af71323", + "image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:b24d68eaf3d1b190c7919d5b6993ca93c41f76dd7144baa870ade8c7e5edab29", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cloud-web@sha256:b24d68eaf3d1b190c7919d5b6993ca93c41f76dd7144baa870ade8c7e5edab29", "runtimeKind": "cloud-web", "distFreshness": { "status": "pass", @@ -980,85 +980,85 @@ { "kind": "runtime", "path": "index.html", - "sourcePath": "/workspace/hwlab/.worktrees/dc-dcsn-p0-2026-003-db-live/web/hwlab-cloud-web/index.html", - "distPath": "/workspace/hwlab/.worktrees/dc-dcsn-p0-2026-003-db-live/web/hwlab-cloud-web/dist/index.html", + "sourcePath": "/workspace/hwlab-durable-runtime-auth-blocker-003/web/hwlab-cloud-web/index.html", + "distPath": "/workspace/hwlab-durable-runtime-auth-blocker-003/web/hwlab-cloud-web/dist/index.html", "status": "match" }, { "kind": "runtime", "path": "styles.css", - "sourcePath": "/workspace/hwlab/.worktrees/dc-dcsn-p0-2026-003-db-live/web/hwlab-cloud-web/styles.css", - "distPath": "/workspace/hwlab/.worktrees/dc-dcsn-p0-2026-003-db-live/web/hwlab-cloud-web/dist/styles.css", + "sourcePath": "/workspace/hwlab-durable-runtime-auth-blocker-003/web/hwlab-cloud-web/styles.css", + "distPath": "/workspace/hwlab-durable-runtime-auth-blocker-003/web/hwlab-cloud-web/dist/styles.css", "status": "match" }, { "kind": "runtime", "path": "app.mjs", - "sourcePath": "/workspace/hwlab/.worktrees/dc-dcsn-p0-2026-003-db-live/web/hwlab-cloud-web/app.mjs", - "distPath": "/workspace/hwlab/.worktrees/dc-dcsn-p0-2026-003-db-live/web/hwlab-cloud-web/dist/app.mjs", + "sourcePath": "/workspace/hwlab-durable-runtime-auth-blocker-003/web/hwlab-cloud-web/app.mjs", + "distPath": "/workspace/hwlab-durable-runtime-auth-blocker-003/web/hwlab-cloud-web/dist/app.mjs", "status": "match" }, { "kind": "runtime", "path": "gate-summary.mjs", - "sourcePath": "/workspace/hwlab/.worktrees/dc-dcsn-p0-2026-003-db-live/web/hwlab-cloud-web/gate-summary.mjs", - "distPath": "/workspace/hwlab/.worktrees/dc-dcsn-p0-2026-003-db-live/web/hwlab-cloud-web/dist/gate-summary.mjs", + "sourcePath": "/workspace/hwlab-durable-runtime-auth-blocker-003/web/hwlab-cloud-web/gate-summary.mjs", + "distPath": "/workspace/hwlab-durable-runtime-auth-blocker-003/web/hwlab-cloud-web/dist/gate-summary.mjs", "status": "match" }, { "kind": "runtime", "path": "runtime.mjs", - "sourcePath": "/workspace/hwlab/.worktrees/dc-dcsn-p0-2026-003-db-live/web/hwlab-cloud-web/runtime.mjs", - "distPath": "/workspace/hwlab/.worktrees/dc-dcsn-p0-2026-003-db-live/web/hwlab-cloud-web/dist/runtime.mjs", + "sourcePath": "/workspace/hwlab-durable-runtime-auth-blocker-003/web/hwlab-cloud-web/runtime.mjs", + "distPath": "/workspace/hwlab-durable-runtime-auth-blocker-003/web/hwlab-cloud-web/dist/runtime.mjs", "status": "match" }, { "kind": "runtime", "path": "workbench-hardware-panel.mjs", - "sourcePath": "/workspace/hwlab/.worktrees/dc-dcsn-p0-2026-003-db-live/web/hwlab-cloud-web/workbench-hardware-panel.mjs", - "distPath": "/workspace/hwlab/.worktrees/dc-dcsn-p0-2026-003-db-live/web/hwlab-cloud-web/dist/workbench-hardware-panel.mjs", + "sourcePath": "/workspace/hwlab-durable-runtime-auth-blocker-003/web/hwlab-cloud-web/workbench-hardware-panel.mjs", + "distPath": "/workspace/hwlab-durable-runtime-auth-blocker-003/web/hwlab-cloud-web/dist/workbench-hardware-panel.mjs", "status": "match" }, { "kind": "runtime", "path": "help.md", - "sourcePath": "/workspace/hwlab/.worktrees/dc-dcsn-p0-2026-003-db-live/web/hwlab-cloud-web/help.md", - "distPath": "/workspace/hwlab/.worktrees/dc-dcsn-p0-2026-003-db-live/web/hwlab-cloud-web/dist/help.md", + "sourcePath": "/workspace/hwlab-durable-runtime-auth-blocker-003/web/hwlab-cloud-web/help.md", + "distPath": "/workspace/hwlab-durable-runtime-auth-blocker-003/web/hwlab-cloud-web/dist/help.md", "status": "match" }, { "kind": "runtime", "path": "third_party/marked/marked.esm.js", - "sourcePath": "/workspace/hwlab/.worktrees/dc-dcsn-p0-2026-003-db-live/web/hwlab-cloud-web/third_party/marked/marked.esm.js", - "distPath": "/workspace/hwlab/.worktrees/dc-dcsn-p0-2026-003-db-live/web/hwlab-cloud-web/dist/third_party/marked/marked.esm.js", + "sourcePath": "/workspace/hwlab-durable-runtime-auth-blocker-003/web/hwlab-cloud-web/third_party/marked/marked.esm.js", + "distPath": "/workspace/hwlab-durable-runtime-auth-blocker-003/web/hwlab-cloud-web/dist/third_party/marked/marked.esm.js", "status": "match" }, { "kind": "runtime", "path": "third_party/marked/LICENSE", - "sourcePath": "/workspace/hwlab/.worktrees/dc-dcsn-p0-2026-003-db-live/web/hwlab-cloud-web/third_party/marked/LICENSE", - "distPath": "/workspace/hwlab/.worktrees/dc-dcsn-p0-2026-003-db-live/web/hwlab-cloud-web/dist/third_party/marked/LICENSE", + "sourcePath": "/workspace/hwlab-durable-runtime-auth-blocker-003/web/hwlab-cloud-web/third_party/marked/LICENSE", + "distPath": "/workspace/hwlab-durable-runtime-auth-blocker-003/web/hwlab-cloud-web/dist/third_party/marked/LICENSE", "status": "match" }, { "kind": "alias", "path": "gate/index.html", - "sourcePath": "/workspace/hwlab/.worktrees/dc-dcsn-p0-2026-003-db-live/web/hwlab-cloud-web/index.html", - "distPath": "/workspace/hwlab/.worktrees/dc-dcsn-p0-2026-003-db-live/web/hwlab-cloud-web/dist/gate/index.html", + "sourcePath": "/workspace/hwlab-durable-runtime-auth-blocker-003/web/hwlab-cloud-web/index.html", + "distPath": "/workspace/hwlab-durable-runtime-auth-blocker-003/web/hwlab-cloud-web/dist/gate/index.html", "status": "match" }, { "kind": "alias", "path": "diagnostics/gate/index.html", - "sourcePath": "/workspace/hwlab/.worktrees/dc-dcsn-p0-2026-003-db-live/web/hwlab-cloud-web/index.html", - "distPath": "/workspace/hwlab/.worktrees/dc-dcsn-p0-2026-003-db-live/web/hwlab-cloud-web/dist/diagnostics/gate/index.html", + "sourcePath": "/workspace/hwlab-durable-runtime-auth-blocker-003/web/hwlab-cloud-web/index.html", + "distPath": "/workspace/hwlab-durable-runtime-auth-blocker-003/web/hwlab-cloud-web/dist/diagnostics/gate/index.html", "status": "match" }, { "kind": "alias", "path": "help/index.html", - "sourcePath": "/workspace/hwlab/.worktrees/dc-dcsn-p0-2026-003-db-live/web/hwlab-cloud-web/index.html", - "distPath": "/workspace/hwlab/.worktrees/dc-dcsn-p0-2026-003-db-live/web/hwlab-cloud-web/dist/help/index.html", + "sourcePath": "/workspace/hwlab-durable-runtime-auth-blocker-003/web/hwlab-cloud-web/index.html", + "distPath": "/workspace/hwlab-durable-runtime-auth-blocker-003/web/hwlab-cloud-web/dist/help/index.html", "status": "match" } ], @@ -1071,15 +1071,15 @@ "artifactRequired": true, "artifactScope": "required", "notPublishedReason": null, - "localImageId": "sha256:76657b2ca615193c0d5b1fac747c391e6cef544bd5d384ee46ec45b694b3ff10" + "localImageId": "sha256:d42d3213d84eeed889c10ab424e3500319e2c9fa94b36571c6d751d96300003f" }, { "serviceId": "hwlab-agent-mgr", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:ffffced", - "imageTag": "ffffced", - "digest": "sha256:7161eaf219f1f0a56ee7eeff776cad8ca63380a20c806e8691c020fac7e0491d", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-mgr@sha256:7161eaf219f1f0a56ee7eeff776cad8ca63380a20c806e8691c020fac7e0491d", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:28fd27c7d6e4ee3e832495077a8db99ddc05f0d618464815881d918b2d33c1ae", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-mgr@sha256:28fd27c7d6e4ee3e832495077a8db99ddc05f0d618464815881d918b2d33c1ae", "runtimeKind": "node-command", "implementationState": "repo-entrypoint", "sourceState": "source-present", @@ -1088,15 +1088,15 @@ "artifactRequired": true, "artifactScope": "required", "notPublishedReason": null, - "localImageId": "sha256:a80047bddbbe77c8aaaa2480fa3369c004262776c49b06e937f88b26ef9ffb65" + "localImageId": "sha256:3cfd444c0193e9a132bdf0a53f2735a8a4542ca575c99c8ad99e00ccdb456b26" }, { "serviceId": "hwlab-agent-worker", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:ffffced", - "imageTag": "ffffced", - "digest": "sha256:85562c663d133daec38bc21fa1d8dc448552b7807b076f488940f5c8bbbe0663", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-worker@sha256:85562c663d133daec38bc21fa1d8dc448552b7807b076f488940f5c8bbbe0663", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:539baed8e8975f8a265631b2478a31ea063b5e8a86d46c5246f9956275fb987d", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-worker@sha256:539baed8e8975f8a265631b2478a31ea063b5e8a86d46c5246f9956275fb987d", "runtimeKind": "node-command", "implementationState": "repo-entrypoint", "sourceState": "source-present", @@ -1105,15 +1105,15 @@ "artifactRequired": true, "artifactScope": "required", "notPublishedReason": null, - "localImageId": "sha256:cabdd3f6adc696a4de549522139da845f48f40f933db00434828fa6704e2ed93" + "localImageId": "sha256:79020df762b2c06e38b8846d8cdc31684071ec57e9d596fde1caca7a7d678420" }, { "serviceId": "hwlab-gateway", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway:ffffced", - "imageTag": "ffffced", - "digest": "sha256:033948e313c769a52e5e160ee73a327d7cf883935f8844c00ea90d907457fc38", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-gateway@sha256:033948e313c769a52e5e160ee73a327d7cf883935f8844c00ea90d907457fc38", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:1131dfb319869a92740aee9eedef87fec6295ce293fbd9b0a898ae83b984118a", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-gateway@sha256:1131dfb319869a92740aee9eedef87fec6295ce293fbd9b0a898ae83b984118a", "runtimeKind": "node-command", "implementationState": "repo-entrypoint", "sourceState": "source-present", @@ -1122,15 +1122,15 @@ "artifactRequired": true, "artifactScope": "required", "notPublishedReason": null, - "localImageId": "sha256:d47f3d1b1b53f217b6aac9f7abaf6da65496d668c81514e1f89bd83b20b25311" + "localImageId": "sha256:4faad99083a9f63987ed092d23c2fcb2bf9a3f3d11e6586cc7eebb957be41255" }, { "serviceId": "hwlab-gateway-simu", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:ffffced", - "imageTag": "ffffced", - "digest": "sha256:5ec556d298544914937babe82a58a0260d51ad4b150348aecf3642e11aa14ebd", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:5ec556d298544914937babe82a58a0260d51ad4b150348aecf3642e11aa14ebd", + "image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:252c799312f0f1708fb891cebb6e4c0359a07bfe317a3e155a051bade05e3939", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:252c799312f0f1708fb891cebb6e4c0359a07bfe317a3e155a051bade05e3939", "runtimeKind": "node-command", "implementationState": "repo-entrypoint", "sourceState": "source-present", @@ -1139,15 +1139,15 @@ "artifactRequired": true, "artifactScope": "required", "notPublishedReason": null, - "localImageId": "sha256:7af991a558356fd1b4e8ff148bf313e6f10ce10cbf107719aed5ef43699099c3" + "localImageId": "sha256:833587515d692f4ddd94b067d3d88f243b65864b306257a9cb65660c9ff7b424" }, { "serviceId": "hwlab-box-simu", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:ffffced", - "imageTag": "ffffced", - "digest": "sha256:17dbd915026a78164be7ca6d4ad746f659f7d5a3f9582b667186671c9e27a3fc", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:17dbd915026a78164be7ca6d4ad746f659f7d5a3f9582b667186671c9e27a3fc", + "image": "127.0.0.1:5000/hwlab/hwlab-box-simu:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:948364783b70fecf7336ba39d9ffde03605fd48de2ac2a4a32948d378df4b4e2", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:948364783b70fecf7336ba39d9ffde03605fd48de2ac2a4a32948d378df4b4e2", "runtimeKind": "node-command", "implementationState": "repo-entrypoint", "sourceState": "source-present", @@ -1156,15 +1156,15 @@ "artifactRequired": true, "artifactScope": "required", "notPublishedReason": null, - "localImageId": "sha256:3e1c3bf85def7ccacc05dc484aa73424abe299b6bd22770bccf1939ace38c671" + "localImageId": "sha256:c05872ef5cfd1f61351584a352e761c2c06da25b309f08e88e7a7b6c89114ba0" }, { "serviceId": "hwlab-patch-panel", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:ffffced", - "imageTag": "ffffced", - "digest": "sha256:58ef78bee9d95cc2c5eb2fbd6ac6451f88c1a523866008ccc023250ce8f4e759", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-patch-panel@sha256:58ef78bee9d95cc2c5eb2fbd6ac6451f88c1a523866008ccc023250ce8f4e759", + "image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:db5dbec9fe1f768bb669e3f8b2ef83c273c9209d9275a2bc18eeb5c2c00576a8", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-patch-panel@sha256:db5dbec9fe1f768bb669e3f8b2ef83c273c9209d9275a2bc18eeb5c2c00576a8", "runtimeKind": "node-command", "implementationState": "repo-entrypoint", "sourceState": "source-present", @@ -1173,15 +1173,15 @@ "artifactRequired": true, "artifactScope": "required", "notPublishedReason": null, - "localImageId": "sha256:72a9d2b21a7a5514ccd7b857ce694419b63c839bc5eb15b01c9fa3d517bc6121" + "localImageId": "sha256:d3ca2cefc8b826cb945260b738f795df8063db32bc31c148a26741f941f4f946" }, { "serviceId": "hwlab-router", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-router:ffffced", - "imageTag": "ffffced", - "digest": "sha256:0a175b0579f58cc3765358250e7774ffdb430aa3c1a8cab18b9d4b71a4765be9", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-router@sha256:0a175b0579f58cc3765358250e7774ffdb430aa3c1a8cab18b9d4b71a4765be9", + "image": "127.0.0.1:5000/hwlab/hwlab-router:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:cdb33cd3e66480ff70549603431e09e774aa7551f0a9009eb45942f64bcc8e41", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-router@sha256:cdb33cd3e66480ff70549603431e09e774aa7551f0a9009eb45942f64bcc8e41", "runtimeKind": "node-command", "implementationState": "repo-entrypoint", "sourceState": "source-present", @@ -1190,15 +1190,15 @@ "artifactRequired": true, "artifactScope": "required", "notPublishedReason": null, - "localImageId": "sha256:53c3966ccc1d97b5ad70859b53c3959ff787f077b39bfef895c2b72ae75efeea" + "localImageId": "sha256:c2c7aefa07e0d68220901f07039af59bb4943562aa0db9aceb642983238ec637" }, { "serviceId": "hwlab-tunnel-client", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:ffffced", - "imageTag": "ffffced", - "digest": "sha256:3e9ccc95d53adbf97e161eabb7fb4dc3203cbbdd03456339576b364ca564b9dd", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-tunnel-client@sha256:3e9ccc95d53adbf97e161eabb7fb4dc3203cbbdd03456339576b364ca564b9dd", + "image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:ec63520dd6bf9f38bc144a0c75d9d41cf6a9ac1d08b34029072aae2f51f4d170", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-tunnel-client@sha256:ec63520dd6bf9f38bc144a0c75d9d41cf6a9ac1d08b34029072aae2f51f4d170", "runtimeKind": "node-command", "implementationState": "repo-entrypoint", "sourceState": "source-present", @@ -1207,15 +1207,15 @@ "artifactRequired": true, "artifactScope": "required", "notPublishedReason": null, - "localImageId": "sha256:2cb121515785059a190c009b8fc9e2a8a72145a19a95f07ced32fea91025c1e0" + "localImageId": "sha256:63d7e9d5e41fac27ff18493e44adcb0ccb788d64f1f2d7214f59cbfe9adfc201" }, { "serviceId": "hwlab-edge-proxy", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:ffffced", - "imageTag": "ffffced", - "digest": "sha256:91311feb4f3ed4dd9c964e2c026e7b3e72f709a34ce45a93754a24884d0e6cdc", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-edge-proxy@sha256:91311feb4f3ed4dd9c964e2c026e7b3e72f709a34ce45a93754a24884d0e6cdc", + "image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:81ad8512cdf296b5811331d7d2f716a8cde241e2f2f484ff0ffed5ef7a4dfb6b", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-edge-proxy@sha256:81ad8512cdf296b5811331d7d2f716a8cde241e2f2f484ff0ffed5ef7a4dfb6b", "runtimeKind": "node-command", "implementationState": "repo-entrypoint", "sourceState": "source-present", @@ -1224,15 +1224,15 @@ "artifactRequired": true, "artifactScope": "required", "notPublishedReason": null, - "localImageId": "sha256:a789c8d1f0246b4c2367b1d642f4632db08717c323502688d253895ac194db2f" + "localImageId": "sha256:c971fc5c777cdce5fb025d20e1429a276ba74eef40e300d87269d5343c6c7903" }, { "serviceId": "hwlab-cli", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-cli:ffffced", - "imageTag": "ffffced", - "digest": "sha256:a070fc33ae5fcf99cf068106d6b1be654753239b0fb792a977c5543674354e86", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cli@sha256:a070fc33ae5fcf99cf068106d6b1be654753239b0fb792a977c5543674354e86", + "image": "127.0.0.1:5000/hwlab/hwlab-cli:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:ff1c1f5782ccbca557b8b1a2cd531c18b773fbc8095b7ba03ff68dd78ef5aea9", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cli@sha256:ff1c1f5782ccbca557b8b1a2cd531c18b773fbc8095b7ba03ff68dd78ef5aea9", "runtimeKind": "cli", "implementationState": "repo-entrypoint", "sourceState": "source-present", @@ -1241,15 +1241,15 @@ "artifactRequired": true, "artifactScope": "required", "notPublishedReason": null, - "localImageId": "sha256:0d7ee397f4eea4f57f284e877a3841fa6fac58ecab1914fe0a42ed51f1e49a5d" + "localImageId": "sha256:d5137151ab3d9358707377a896d5511461989939c64d483eab337317a0d75e4c" }, { "serviceId": "hwlab-agent-skills", "status": "published", - "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:ffffced", - "imageTag": "ffffced", - "digest": "sha256:8fbb9ca4daa97c5d0fbb1ab94dfc37f00fbce7b37b433bd59bdfaf7684fa8a46", - "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-skills@sha256:8fbb9ca4daa97c5d0fbb1ab94dfc37f00fbce7b37b433bd59bdfaf7684fa8a46", + "image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:33e4eeb", + "imageTag": "33e4eeb", + "digest": "sha256:aec834774746d8f2dbda2bad0c4a8204f7a2053fb00e808f53c1ad6c93173960", + "repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-skills@sha256:aec834774746d8f2dbda2bad0c4a8204f7a2053fb00e808f53c1ad6c93173960", "runtimeKind": "skills-bundle", "implementationState": "repo-bundle", "sourceState": "source-present", @@ -1258,7 +1258,7 @@ "artifactRequired": true, "artifactScope": "required", "notPublishedReason": null, - "localImageId": "sha256:3eb295c81ccb91dc09ba2e405a225578957695b094140f91e4387f9df3b2dd3d" + "localImageId": "sha256:4a59cc4b7a6c0c1a1acc16c56a59ce8e734b69445a15e4341f9b13fce233636f" } ], "blockers": [] diff --git a/scripts/src/dev-runtime-migration.test.mjs b/scripts/src/dev-runtime-migration.test.mjs index fa7d1e7c..421beaef 100644 --- a/scripts/src/dev-runtime-migration.test.mjs +++ b/scripts/src/dev-runtime-migration.test.mjs @@ -106,6 +106,41 @@ test("live dry-run separates SSL negotiation blocker from auth and schema", asyn assert.equal(JSON.stringify(report).includes("The server does not support SSL connections"), false); }); +test("live dry-run classifies fixture 28P01 as auth before schema or migration", async () => { + const report = await buildDevRuntimeMigrationReport( + parseArgs(["--dry-run", "--allow-live-db-read", "--confirm-dev"]), + { + env: { + HWLAB_CLOUD_DB_SSL_MODE: "disable" + }, + queryClient: { + async query(sql) { + assert.match(sql, /information_schema\.columns/u); + const error = new Error("fixture auth failure"); + error.code = "28P01"; + throw error; + } + }, + now: () => "2026-05-23T00:00:00.000Z" + } + ); + + assert.equal(report.conclusion.status, "blocked"); + assert.equal(report.actions.liveDbReadAttempted, true); + assert.equal(report.actions.liveDbWriteAttempted, false); + assert.equal(report.gates.auth.status, "blocked"); + assert.equal(report.gates.schema.status, "not_checked"); + assert.equal(report.gates.migration.status, "not_checked"); + assert.equal(report.gates.readiness.status, "not_checked"); + assert.equal(report.blockers[0].scope, "runtime-migration-auth"); + assert.equal(report.blockers[0].evidence.blocker, "runtime_durable_adapter_auth_blocked"); + assert.equal(report.runtime.blocker, "runtime_durable_adapter_auth_blocked"); + assert.equal(report.runtime.connection.queryResult, "auth_blocked"); + assert.equal(report.runtime.connection.errorCode, "28P01"); + assert.equal(report.safety.fixtureEvidenceAllowed, false); + assert.equal(JSON.stringify(report).includes("fixture auth failure"), false); +}); + test("live dry-run classifies pg_hba no-encryption rejection as SSL with ssl disabled", async () => { const report = await buildDevRuntimeMigrationReport( parseArgs(["--dry-run", "--allow-live-db-read", "--confirm-dev"]),