691 lines
27 KiB
JSON
691 lines
27 KiB
JSON
{
|
|
"catalogVersion": "v1",
|
|
"kind": "hwlab-artifact-catalog",
|
|
"environment": "dev",
|
|
"profile": "dev",
|
|
"namespace": "hwlab-dev",
|
|
"endpoint": "http://74.48.78.17:16667",
|
|
"commitId": "f4b45cf",
|
|
"artifactState": "published",
|
|
"publish": {
|
|
"ciPublished": true,
|
|
"registryVerified": true,
|
|
"provenance": "g14-ci-artifact:hwlab-g14-ci-poll-f4b45cf4ec23-collect",
|
|
"note": "Digest fields were copied from a successful DEV artifact publish report for this source commit."
|
|
},
|
|
"healthContract": {
|
|
"method": "GET",
|
|
"path": "/health/live",
|
|
"responseFormat": "json",
|
|
"requiredFields": [
|
|
"serviceId",
|
|
"environment",
|
|
"status"
|
|
]
|
|
},
|
|
"allowedProfiles": [
|
|
"dev"
|
|
],
|
|
"forbiddenProfiles": [
|
|
"prod"
|
|
],
|
|
"forbiddenItems": [
|
|
{
|
|
"id": "prod-deploy",
|
|
"reason": "MVP acceptance is DEV-only."
|
|
},
|
|
{
|
|
"id": "prod-profile-enabled",
|
|
"reason": "PROD profile may only exist as a disabled placeholder."
|
|
},
|
|
{
|
|
"id": "prod-namespace",
|
|
"reason": "The catalog must not target hwlab-prod."
|
|
},
|
|
{
|
|
"id": "real-ci-publish-claim",
|
|
"reason": "The skeleton catalog must not claim real image publish or registry verification."
|
|
},
|
|
{
|
|
"id": "real-dev-deploy",
|
|
"reason": "This contract does not authorize a real DEV deployment."
|
|
},
|
|
{
|
|
"id": "secret-material",
|
|
"reason": "Validation must not read or require secrets or tokens."
|
|
},
|
|
{
|
|
"id": "unidesk-runtime-substitute",
|
|
"reason": "UniDesk backend, provider-gateway, and microservice proxy are not HWLAB runtime substitutes."
|
|
},
|
|
{
|
|
"id": "force-push",
|
|
"reason": "Mainline updates must not use force push."
|
|
}
|
|
],
|
|
"services": [
|
|
{
|
|
"serviceId": "hwlab-cloud-api",
|
|
"commitId": "7a14c6b",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:7a14c6b",
|
|
"imageTag": "7a14c6b",
|
|
"digest": "sha256:ce74dffb3fd43c380cf6ec52bb9fd7b45738b53427ee9f752021815c762a3788",
|
|
"publishState": "reused",
|
|
"profile": "dev",
|
|
"namespace": "hwlab-dev",
|
|
"healthPath": "/health/live",
|
|
"sourceState": "source-present",
|
|
"publishEnabled": true,
|
|
"artifactRequired": true,
|
|
"artifactScope": "required",
|
|
"notPublishedReason": null,
|
|
"buildCreatedAt": "2026-05-26T02:56:51.061Z",
|
|
"buildSource": null,
|
|
"componentCommitId": "7c3df10f103715fe26803af4910e54fbe1cc4d77",
|
|
"componentInputHash": "220f844a6c66ad65d8d458254576a0412226b02d5e02110456f22d18821b4537",
|
|
"dockerfileHash": "c55a2edc42975567d9f2c70708e7435372a449f5d83200b1c55cf2eb00a57303",
|
|
"baseImageReference": "127.0.0.1:5000/hwlab/hwlab-node20-base:20-bookworm-slim",
|
|
"baseImageDigest": null,
|
|
"buildArgsHash": "31de87c01b0c617b550b82b7a65780fac56d03a3b8abb9301bf0096766f87237",
|
|
"ciAffected": false,
|
|
"ciReason": [
|
|
"gitops-only-no-image-build"
|
|
],
|
|
"reuse": {
|
|
"status": "ready",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:7a14c6b",
|
|
"digest": "sha256:ce74dffb3fd43c380cf6ec52bb9fd7b45738b53427ee9f752021815c762a3788",
|
|
"reusedFrom": "220f844a6c66ad65d8d458254576a0412226b02d5e02110456f22d18821b4537"
|
|
},
|
|
"reusedFrom": "220f844a6c66ad65d8d458254576a0412226b02d5e02110456f22d18821b4537"
|
|
},
|
|
{
|
|
"serviceId": "hwlab-cloud-web",
|
|
"commitId": "7a14c6b",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:7a14c6b",
|
|
"imageTag": "7a14c6b",
|
|
"digest": "sha256:fedcf8af0057a32ef81150dfd680ffc68ed513d535d1bc6372e6485cd15a7c95",
|
|
"publishState": "reused",
|
|
"profile": "dev",
|
|
"namespace": "hwlab-dev",
|
|
"healthPath": "/health/live",
|
|
"sourceState": "source-present",
|
|
"publishEnabled": true,
|
|
"artifactRequired": true,
|
|
"artifactScope": "required",
|
|
"notPublishedReason": null,
|
|
"buildCreatedAt": "2026-05-26T02:56:51.061Z",
|
|
"buildSource": null,
|
|
"componentCommitId": "7c3df10f103715fe26803af4910e54fbe1cc4d77",
|
|
"componentInputHash": "1012fa470b86fc345c01c9c5df465da87178aae4e459f56ce7239196224eb34a",
|
|
"dockerfileHash": "c55a2edc42975567d9f2c70708e7435372a449f5d83200b1c55cf2eb00a57303",
|
|
"baseImageReference": "127.0.0.1:5000/hwlab/hwlab-node20-base:20-bookworm-slim",
|
|
"baseImageDigest": null,
|
|
"buildArgsHash": "39effb18af665e5e286cca9f84ef2a30f577ad11c9acca098589b7ee37f6950c",
|
|
"ciAffected": false,
|
|
"ciReason": [
|
|
"gitops-only-no-image-build"
|
|
],
|
|
"reuse": {
|
|
"status": "ready",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:7a14c6b",
|
|
"digest": "sha256:fedcf8af0057a32ef81150dfd680ffc68ed513d535d1bc6372e6485cd15a7c95",
|
|
"reusedFrom": "1012fa470b86fc345c01c9c5df465da87178aae4e459f56ce7239196224eb34a"
|
|
},
|
|
"reusedFrom": "1012fa470b86fc345c01c9c5df465da87178aae4e459f56ce7239196224eb34a"
|
|
},
|
|
{
|
|
"serviceId": "hwlab-agent-mgr",
|
|
"commitId": "7a14c6b",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:7a14c6b",
|
|
"imageTag": "7a14c6b",
|
|
"digest": "sha256:e1dccd0fc0cd615cfc03262ef7a890d4beb3f5e2a283294735d5635dfcdd9fea",
|
|
"publishState": "reused",
|
|
"profile": "dev",
|
|
"namespace": "hwlab-dev",
|
|
"healthPath": "/health/live",
|
|
"sourceState": "source-present",
|
|
"publishEnabled": true,
|
|
"artifactRequired": true,
|
|
"artifactScope": "required",
|
|
"notPublishedReason": null,
|
|
"buildCreatedAt": "2026-05-26T02:56:51.061Z",
|
|
"buildSource": null,
|
|
"componentCommitId": "7c3df10f103715fe26803af4910e54fbe1cc4d77",
|
|
"componentInputHash": "ad9d4ef6ab77c165638835dd6c5ce1c0f2be62ebbc5c2b409278be82bdeee4d0",
|
|
"dockerfileHash": "c55a2edc42975567d9f2c70708e7435372a449f5d83200b1c55cf2eb00a57303",
|
|
"baseImageReference": "127.0.0.1:5000/hwlab/hwlab-node20-base:20-bookworm-slim",
|
|
"baseImageDigest": null,
|
|
"buildArgsHash": "804a2e2f48cae4f739c3e88bb0d961359fca0a8e1b8cac43517fb065989df72b",
|
|
"ciAffected": false,
|
|
"ciReason": [
|
|
"gitops-only-no-image-build"
|
|
],
|
|
"reuse": {
|
|
"status": "ready",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:7a14c6b",
|
|
"digest": "sha256:e1dccd0fc0cd615cfc03262ef7a890d4beb3f5e2a283294735d5635dfcdd9fea",
|
|
"reusedFrom": "ad9d4ef6ab77c165638835dd6c5ce1c0f2be62ebbc5c2b409278be82bdeee4d0"
|
|
},
|
|
"reusedFrom": "ad9d4ef6ab77c165638835dd6c5ce1c0f2be62ebbc5c2b409278be82bdeee4d0"
|
|
},
|
|
{
|
|
"serviceId": "hwlab-agent-worker",
|
|
"commitId": "7a14c6b",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:7a14c6b",
|
|
"imageTag": "7a14c6b",
|
|
"digest": "sha256:23da75c4575df5f3cbc930322cc90871c4d1183696446cbf1ec8bf9460ad642f",
|
|
"publishState": "reused",
|
|
"profile": "dev",
|
|
"namespace": "hwlab-dev",
|
|
"healthPath": "/health/live",
|
|
"sourceState": "source-present",
|
|
"publishEnabled": true,
|
|
"artifactRequired": true,
|
|
"artifactScope": "required",
|
|
"notPublishedReason": null,
|
|
"buildCreatedAt": "2026-05-26T02:56:51.061Z",
|
|
"buildSource": null,
|
|
"componentCommitId": "7c3df10f103715fe26803af4910e54fbe1cc4d77",
|
|
"componentInputHash": "d9f2a38b2cd5aba5120c720c3a082ce89c4ebb1284d3f5d634273c4822cb2519",
|
|
"dockerfileHash": "c55a2edc42975567d9f2c70708e7435372a449f5d83200b1c55cf2eb00a57303",
|
|
"baseImageReference": "127.0.0.1:5000/hwlab/hwlab-node20-base:20-bookworm-slim",
|
|
"baseImageDigest": null,
|
|
"buildArgsHash": "d5ea384583ca6916b9fdf4469a8c591e33e6e1a0ba9a59b9901fbaa797824cab",
|
|
"ciAffected": false,
|
|
"ciReason": [
|
|
"gitops-only-no-image-build"
|
|
],
|
|
"reuse": {
|
|
"status": "ready",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:7a14c6b",
|
|
"digest": "sha256:23da75c4575df5f3cbc930322cc90871c4d1183696446cbf1ec8bf9460ad642f",
|
|
"reusedFrom": "d9f2a38b2cd5aba5120c720c3a082ce89c4ebb1284d3f5d634273c4822cb2519"
|
|
},
|
|
"reusedFrom": "d9f2a38b2cd5aba5120c720c3a082ce89c4ebb1284d3f5d634273c4822cb2519"
|
|
},
|
|
{
|
|
"serviceId": "hwlab-gateway",
|
|
"commitId": "7a14c6b",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-gateway:7a14c6b",
|
|
"imageTag": "7a14c6b",
|
|
"digest": "sha256:5df0357736e7a0555e742001c5995af823f8da91511ac02346a1481d0c2a51e9",
|
|
"publishState": "reused",
|
|
"profile": "dev",
|
|
"namespace": "hwlab-dev",
|
|
"healthPath": "/health/live",
|
|
"sourceState": "source-present",
|
|
"publishEnabled": true,
|
|
"artifactRequired": true,
|
|
"artifactScope": "required",
|
|
"notPublishedReason": null,
|
|
"buildCreatedAt": "2026-05-26T02:56:51.061Z",
|
|
"buildSource": null,
|
|
"componentCommitId": "7c3df10f103715fe26803af4910e54fbe1cc4d77",
|
|
"componentInputHash": "17ea08407096b3428111028c40f176693611f3c27a7da249b5f567338231237d",
|
|
"dockerfileHash": "c55a2edc42975567d9f2c70708e7435372a449f5d83200b1c55cf2eb00a57303",
|
|
"baseImageReference": "127.0.0.1:5000/hwlab/hwlab-node20-base:20-bookworm-slim",
|
|
"baseImageDigest": null,
|
|
"buildArgsHash": "083cc565bccb315303df802dfc1f7fb87738e763afb9662fed7bc7c12719b070",
|
|
"ciAffected": false,
|
|
"ciReason": [
|
|
"gitops-only-no-image-build"
|
|
],
|
|
"reuse": {
|
|
"status": "ready",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-gateway:7a14c6b",
|
|
"digest": "sha256:5df0357736e7a0555e742001c5995af823f8da91511ac02346a1481d0c2a51e9",
|
|
"reusedFrom": "17ea08407096b3428111028c40f176693611f3c27a7da249b5f567338231237d"
|
|
},
|
|
"reusedFrom": "17ea08407096b3428111028c40f176693611f3c27a7da249b5f567338231237d"
|
|
},
|
|
{
|
|
"serviceId": "hwlab-gateway-simu",
|
|
"commitId": "7a14c6b",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:7a14c6b",
|
|
"imageTag": "7a14c6b",
|
|
"digest": "sha256:937e6a1568296814605792296d4ab66eed3858f078458863e9a8dd0c8b7ab0cb",
|
|
"publishState": "reused",
|
|
"profile": "dev",
|
|
"namespace": "hwlab-dev",
|
|
"healthPath": "/health/live",
|
|
"sourceState": "source-present",
|
|
"publishEnabled": true,
|
|
"artifactRequired": true,
|
|
"artifactScope": "required",
|
|
"notPublishedReason": null,
|
|
"buildCreatedAt": "2026-05-26T02:56:51.061Z",
|
|
"buildSource": null,
|
|
"componentCommitId": "7c3df10f103715fe26803af4910e54fbe1cc4d77",
|
|
"componentInputHash": "938686de799c3bf9dbb52a4bc1e0b9e0f489c27a27829010e0194b3555f9615c",
|
|
"dockerfileHash": "c55a2edc42975567d9f2c70708e7435372a449f5d83200b1c55cf2eb00a57303",
|
|
"baseImageReference": "127.0.0.1:5000/hwlab/hwlab-node20-base:20-bookworm-slim",
|
|
"baseImageDigest": null,
|
|
"buildArgsHash": "79c757588262d875c61a2542e37c9a849000d54d8bb58e8bf19c597114956f5f",
|
|
"ciAffected": false,
|
|
"ciReason": [
|
|
"gitops-only-no-image-build"
|
|
],
|
|
"reuse": {
|
|
"status": "ready",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:7a14c6b",
|
|
"digest": "sha256:937e6a1568296814605792296d4ab66eed3858f078458863e9a8dd0c8b7ab0cb",
|
|
"reusedFrom": "938686de799c3bf9dbb52a4bc1e0b9e0f489c27a27829010e0194b3555f9615c"
|
|
},
|
|
"reusedFrom": "938686de799c3bf9dbb52a4bc1e0b9e0f489c27a27829010e0194b3555f9615c"
|
|
},
|
|
{
|
|
"serviceId": "hwlab-box-simu",
|
|
"commitId": "7a14c6b",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-box-simu:7a14c6b",
|
|
"imageTag": "7a14c6b",
|
|
"digest": "sha256:ea253ba3b5cb1977ca222817d2b117244eb41dd1b6aefa694fceabd94385b704",
|
|
"publishState": "reused",
|
|
"profile": "dev",
|
|
"namespace": "hwlab-dev",
|
|
"healthPath": "/health/live",
|
|
"sourceState": "source-present",
|
|
"publishEnabled": true,
|
|
"artifactRequired": true,
|
|
"artifactScope": "required",
|
|
"notPublishedReason": null,
|
|
"buildCreatedAt": "2026-05-26T02:56:51.061Z",
|
|
"buildSource": null,
|
|
"componentCommitId": "7c3df10f103715fe26803af4910e54fbe1cc4d77",
|
|
"componentInputHash": "f48a282a1bb20e4d5cfd725da63dca27888c2511000509fd063e8abd8ae7ed5e",
|
|
"dockerfileHash": "c55a2edc42975567d9f2c70708e7435372a449f5d83200b1c55cf2eb00a57303",
|
|
"baseImageReference": "127.0.0.1:5000/hwlab/hwlab-node20-base:20-bookworm-slim",
|
|
"baseImageDigest": null,
|
|
"buildArgsHash": "2b321eec447decb8ca22b30a42dffa467405af983aa06e487b66a45c6ecbd0e9",
|
|
"ciAffected": false,
|
|
"ciReason": [
|
|
"gitops-only-no-image-build"
|
|
],
|
|
"reuse": {
|
|
"status": "ready",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-box-simu:7a14c6b",
|
|
"digest": "sha256:ea253ba3b5cb1977ca222817d2b117244eb41dd1b6aefa694fceabd94385b704",
|
|
"reusedFrom": "f48a282a1bb20e4d5cfd725da63dca27888c2511000509fd063e8abd8ae7ed5e"
|
|
},
|
|
"reusedFrom": "f48a282a1bb20e4d5cfd725da63dca27888c2511000509fd063e8abd8ae7ed5e"
|
|
},
|
|
{
|
|
"serviceId": "hwlab-patch-panel",
|
|
"commitId": "7a14c6b",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:7a14c6b",
|
|
"imageTag": "7a14c6b",
|
|
"digest": "sha256:0c4b888fb42e75d8d1deb67c5623d8cc4f297e8be58c046e33c61c34856b65e3",
|
|
"publishState": "reused",
|
|
"profile": "dev",
|
|
"namespace": "hwlab-dev",
|
|
"healthPath": "/health/live",
|
|
"sourceState": "source-present",
|
|
"publishEnabled": true,
|
|
"artifactRequired": true,
|
|
"artifactScope": "required",
|
|
"notPublishedReason": null,
|
|
"buildCreatedAt": "2026-05-26T02:56:51.061Z",
|
|
"buildSource": null,
|
|
"componentCommitId": "7c3df10f103715fe26803af4910e54fbe1cc4d77",
|
|
"componentInputHash": "f3f06dc14e414c03f766a21795e7c7f18539c971d6ea4c6c2d8677bb93fb1aa6",
|
|
"dockerfileHash": "c55a2edc42975567d9f2c70708e7435372a449f5d83200b1c55cf2eb00a57303",
|
|
"baseImageReference": "127.0.0.1:5000/hwlab/hwlab-node20-base:20-bookworm-slim",
|
|
"baseImageDigest": null,
|
|
"buildArgsHash": "bea7ca0cf1e6f84b11a7848e3dff6dfe4aa613f1df2c51e9ab4807fffe718128",
|
|
"ciAffected": false,
|
|
"ciReason": [
|
|
"gitops-only-no-image-build"
|
|
],
|
|
"reuse": {
|
|
"status": "ready",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:7a14c6b",
|
|
"digest": "sha256:0c4b888fb42e75d8d1deb67c5623d8cc4f297e8be58c046e33c61c34856b65e3",
|
|
"reusedFrom": "f3f06dc14e414c03f766a21795e7c7f18539c971d6ea4c6c2d8677bb93fb1aa6"
|
|
},
|
|
"reusedFrom": "f3f06dc14e414c03f766a21795e7c7f18539c971d6ea4c6c2d8677bb93fb1aa6"
|
|
},
|
|
{
|
|
"serviceId": "hwlab-router",
|
|
"commitId": "7a14c6b",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-router:7a14c6b",
|
|
"imageTag": "7a14c6b",
|
|
"digest": "sha256:3cc67c92f59a517a38ac6896d547a52827b35ded062edf6164530207dc3343cf",
|
|
"publishState": "reused",
|
|
"profile": "dev",
|
|
"namespace": "hwlab-dev",
|
|
"healthPath": "/health/live",
|
|
"sourceState": "source-present",
|
|
"publishEnabled": true,
|
|
"artifactRequired": true,
|
|
"artifactScope": "required",
|
|
"notPublishedReason": null,
|
|
"buildCreatedAt": "2026-05-26T02:56:51.061Z",
|
|
"buildSource": null,
|
|
"componentCommitId": "7c3df10f103715fe26803af4910e54fbe1cc4d77",
|
|
"componentInputHash": "1f5ca569ec17add7628a4624000da7ccdda3107fc6473306214de2f6f1678fe0",
|
|
"dockerfileHash": "c55a2edc42975567d9f2c70708e7435372a449f5d83200b1c55cf2eb00a57303",
|
|
"baseImageReference": "127.0.0.1:5000/hwlab/hwlab-node20-base:20-bookworm-slim",
|
|
"baseImageDigest": null,
|
|
"buildArgsHash": "31f0f27ef0e4375ac141f0d54c2c9449bd5dce14df0bb6469704245d1cf86b09",
|
|
"ciAffected": false,
|
|
"ciReason": [
|
|
"gitops-only-no-image-build"
|
|
],
|
|
"reuse": {
|
|
"status": "ready",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-router:7a14c6b",
|
|
"digest": "sha256:3cc67c92f59a517a38ac6896d547a52827b35ded062edf6164530207dc3343cf",
|
|
"reusedFrom": "1f5ca569ec17add7628a4624000da7ccdda3107fc6473306214de2f6f1678fe0"
|
|
},
|
|
"reusedFrom": "1f5ca569ec17add7628a4624000da7ccdda3107fc6473306214de2f6f1678fe0"
|
|
},
|
|
{
|
|
"serviceId": "hwlab-tunnel-client",
|
|
"commitId": "7a14c6b",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:7a14c6b",
|
|
"imageTag": "7a14c6b",
|
|
"digest": "sha256:0bcd5045479f25c8d9ce23a8d2643e286fcc640a2020c09237f257bd5d38d93c",
|
|
"publishState": "reused",
|
|
"profile": "dev",
|
|
"namespace": "hwlab-dev",
|
|
"healthPath": "/health/live",
|
|
"sourceState": "source-present",
|
|
"publishEnabled": true,
|
|
"artifactRequired": true,
|
|
"artifactScope": "required",
|
|
"notPublishedReason": null,
|
|
"buildCreatedAt": "2026-05-26T02:56:51.061Z",
|
|
"buildSource": null,
|
|
"componentCommitId": "7c3df10f103715fe26803af4910e54fbe1cc4d77",
|
|
"componentInputHash": "42597259512302df201276e29c0ff92f4231b349ed9200a16641a242e5c9fcbb",
|
|
"dockerfileHash": "c55a2edc42975567d9f2c70708e7435372a449f5d83200b1c55cf2eb00a57303",
|
|
"baseImageReference": "127.0.0.1:5000/hwlab/hwlab-node20-base:20-bookworm-slim",
|
|
"baseImageDigest": null,
|
|
"buildArgsHash": "c49a07574a1d4fe74642170efcbb231c2c59436e1d3d2434c285349d23a35fcb",
|
|
"ciAffected": false,
|
|
"ciReason": [
|
|
"gitops-only-no-image-build"
|
|
],
|
|
"reuse": {
|
|
"status": "ready",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:7a14c6b",
|
|
"digest": "sha256:0bcd5045479f25c8d9ce23a8d2643e286fcc640a2020c09237f257bd5d38d93c",
|
|
"reusedFrom": "42597259512302df201276e29c0ff92f4231b349ed9200a16641a242e5c9fcbb"
|
|
},
|
|
"reusedFrom": "42597259512302df201276e29c0ff92f4231b349ed9200a16641a242e5c9fcbb"
|
|
},
|
|
{
|
|
"serviceId": "hwlab-edge-proxy",
|
|
"commitId": "7a14c6b",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:7a14c6b",
|
|
"imageTag": "7a14c6b",
|
|
"digest": "sha256:39e4c82ce35e6699e2223000a2f8287445bec86c5d3cd24f7039b93ad2037224",
|
|
"publishState": "reused",
|
|
"profile": "dev",
|
|
"namespace": "hwlab-dev",
|
|
"healthPath": "/health/live",
|
|
"sourceState": "source-present",
|
|
"publishEnabled": true,
|
|
"artifactRequired": true,
|
|
"artifactScope": "required",
|
|
"notPublishedReason": null,
|
|
"buildCreatedAt": "2026-05-26T02:56:51.061Z",
|
|
"buildSource": null,
|
|
"componentCommitId": "7c3df10f103715fe26803af4910e54fbe1cc4d77",
|
|
"componentInputHash": "8304487389696b1291aa0e94fefb71cd8c9bfd6bff6fecac620fd6e847b5c84e",
|
|
"dockerfileHash": "c55a2edc42975567d9f2c70708e7435372a449f5d83200b1c55cf2eb00a57303",
|
|
"baseImageReference": "127.0.0.1:5000/hwlab/hwlab-node20-base:20-bookworm-slim",
|
|
"baseImageDigest": null,
|
|
"buildArgsHash": "68746696603227763e5768f8daf45d31331f4c8425e6d756b21482ad104e6183",
|
|
"ciAffected": false,
|
|
"ciReason": [
|
|
"gitops-only-no-image-build"
|
|
],
|
|
"reuse": {
|
|
"status": "ready",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:7a14c6b",
|
|
"digest": "sha256:39e4c82ce35e6699e2223000a2f8287445bec86c5d3cd24f7039b93ad2037224",
|
|
"reusedFrom": "8304487389696b1291aa0e94fefb71cd8c9bfd6bff6fecac620fd6e847b5c84e"
|
|
},
|
|
"reusedFrom": "8304487389696b1291aa0e94fefb71cd8c9bfd6bff6fecac620fd6e847b5c84e"
|
|
},
|
|
{
|
|
"serviceId": "hwlab-cli",
|
|
"commitId": "7a14c6b",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-cli:7a14c6b",
|
|
"imageTag": "7a14c6b",
|
|
"digest": "sha256:31b2c7ab37603efd973e134bfd4fedb6e4e0b9d082086d06a19f08a5a59aa5ac",
|
|
"publishState": "reused",
|
|
"profile": "dev",
|
|
"namespace": "hwlab-dev",
|
|
"healthPath": "/health/live",
|
|
"sourceState": "source-present",
|
|
"publishEnabled": true,
|
|
"artifactRequired": true,
|
|
"artifactScope": "required",
|
|
"notPublishedReason": null,
|
|
"buildCreatedAt": "2026-05-26T02:56:51.061Z",
|
|
"buildSource": null,
|
|
"componentCommitId": "7c3df10f103715fe26803af4910e54fbe1cc4d77",
|
|
"componentInputHash": "6c9b65f17faa1683044071a98404b26689fec20f99725aa1ab70e8ebf0f0e721",
|
|
"dockerfileHash": "c55a2edc42975567d9f2c70708e7435372a449f5d83200b1c55cf2eb00a57303",
|
|
"baseImageReference": "127.0.0.1:5000/hwlab/hwlab-node20-base:20-bookworm-slim",
|
|
"baseImageDigest": null,
|
|
"buildArgsHash": "bd9fa0f62fb873c87cf8ec47790d26c5068956c14be61eed222f78dc9f7f5c1a",
|
|
"ciAffected": false,
|
|
"ciReason": [
|
|
"gitops-only-no-image-build"
|
|
],
|
|
"reuse": {
|
|
"status": "ready",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-cli:7a14c6b",
|
|
"digest": "sha256:31b2c7ab37603efd973e134bfd4fedb6e4e0b9d082086d06a19f08a5a59aa5ac",
|
|
"reusedFrom": "6c9b65f17faa1683044071a98404b26689fec20f99725aa1ab70e8ebf0f0e721"
|
|
},
|
|
"reusedFrom": "6c9b65f17faa1683044071a98404b26689fec20f99725aa1ab70e8ebf0f0e721"
|
|
},
|
|
{
|
|
"serviceId": "hwlab-agent-skills",
|
|
"commitId": "7a14c6b",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:7a14c6b",
|
|
"imageTag": "7a14c6b",
|
|
"digest": "sha256:e1c87bb30bc4eab165af7cd50aae9433daa412700cc1737f552a8503a786a56a",
|
|
"publishState": "reused",
|
|
"profile": "dev",
|
|
"namespace": "hwlab-dev",
|
|
"healthPath": "/health/live",
|
|
"sourceState": "source-present",
|
|
"publishEnabled": true,
|
|
"artifactRequired": true,
|
|
"artifactScope": "required",
|
|
"notPublishedReason": null,
|
|
"buildCreatedAt": "2026-05-26T02:56:51.061Z",
|
|
"buildSource": null,
|
|
"componentCommitId": "7c3df10f103715fe26803af4910e54fbe1cc4d77",
|
|
"componentInputHash": "4bdf43acac570e412638b310f6222c151360980596d8dc01d659b3e0c39e71cc",
|
|
"dockerfileHash": "c55a2edc42975567d9f2c70708e7435372a449f5d83200b1c55cf2eb00a57303",
|
|
"baseImageReference": "127.0.0.1:5000/hwlab/hwlab-node20-base:20-bookworm-slim",
|
|
"baseImageDigest": null,
|
|
"buildArgsHash": "d5e50a18e70c6a8b4896e527fa07b5dd2c85458ed9ef512c1d46775ef4e40a10",
|
|
"ciAffected": false,
|
|
"ciReason": [
|
|
"gitops-only-no-image-build"
|
|
],
|
|
"reuse": {
|
|
"status": "ready",
|
|
"image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:7a14c6b",
|
|
"digest": "sha256:e1c87bb30bc4eab165af7cd50aae9433daa412700cc1737f552a8503a786a56a",
|
|
"reusedFrom": "4bdf43acac570e412638b310f6222c151360980596d8dc01d659b3e0c39e71cc"
|
|
},
|
|
"reusedFrom": "4bdf43acac570e412638b310f6222c151360980596d8dc01d659b3e0c39e71cc"
|
|
}
|
|
],
|
|
"serviceInventory": {
|
|
"version": "v2",
|
|
"serviceCount": 13,
|
|
"requiredServiceCount": 13,
|
|
"disabledServiceCount": 0,
|
|
"requiredServiceIds": [
|
|
"hwlab-cloud-api",
|
|
"hwlab-cloud-web",
|
|
"hwlab-agent-mgr",
|
|
"hwlab-agent-worker",
|
|
"hwlab-gateway",
|
|
"hwlab-gateway-simu",
|
|
"hwlab-box-simu",
|
|
"hwlab-patch-panel",
|
|
"hwlab-router",
|
|
"hwlab-tunnel-client",
|
|
"hwlab-edge-proxy",
|
|
"hwlab-cli",
|
|
"hwlab-agent-skills"
|
|
],
|
|
"disabledServiceIds": [],
|
|
"services": [
|
|
{
|
|
"serviceId": "hwlab-cloud-api",
|
|
"publishEnabled": true,
|
|
"artifactRequired": true,
|
|
"artifactScope": "required",
|
|
"runtimeKind": "node-command",
|
|
"implementationState": "repo-entrypoint",
|
|
"sourceState": "source-present",
|
|
"entrypoint": "cmd/hwlab-cloud-api/main.mjs",
|
|
"disabledReason": null
|
|
},
|
|
{
|
|
"serviceId": "hwlab-cloud-web",
|
|
"publishEnabled": true,
|
|
"artifactRequired": true,
|
|
"artifactScope": "required",
|
|
"runtimeKind": "cloud-web",
|
|
"implementationState": "static-web-wrapper",
|
|
"sourceState": "source-present",
|
|
"entrypoint": "web/hwlab-cloud-web/index.html",
|
|
"disabledReason": null
|
|
},
|
|
{
|
|
"serviceId": "hwlab-agent-mgr",
|
|
"publishEnabled": true,
|
|
"artifactRequired": true,
|
|
"artifactScope": "required",
|
|
"runtimeKind": "node-command",
|
|
"implementationState": "repo-entrypoint",
|
|
"sourceState": "source-present",
|
|
"entrypoint": "cmd/hwlab-agent-mgr/main.mjs",
|
|
"disabledReason": null
|
|
},
|
|
{
|
|
"serviceId": "hwlab-agent-worker",
|
|
"publishEnabled": true,
|
|
"artifactRequired": true,
|
|
"artifactScope": "required",
|
|
"runtimeKind": "node-command",
|
|
"implementationState": "repo-entrypoint",
|
|
"sourceState": "source-present",
|
|
"entrypoint": "cmd/hwlab-agent-worker/main.mjs",
|
|
"disabledReason": null
|
|
},
|
|
{
|
|
"serviceId": "hwlab-gateway",
|
|
"publishEnabled": true,
|
|
"artifactRequired": true,
|
|
"artifactScope": "required",
|
|
"runtimeKind": "node-command",
|
|
"implementationState": "repo-entrypoint",
|
|
"sourceState": "source-present",
|
|
"entrypoint": "cmd/hwlab-gateway/main.mjs",
|
|
"disabledReason": null
|
|
},
|
|
{
|
|
"serviceId": "hwlab-gateway-simu",
|
|
"publishEnabled": true,
|
|
"artifactRequired": true,
|
|
"artifactScope": "required",
|
|
"runtimeKind": "node-command",
|
|
"implementationState": "repo-entrypoint",
|
|
"sourceState": "source-present",
|
|
"entrypoint": "cmd/hwlab-gateway-simu/main.mjs",
|
|
"disabledReason": null
|
|
},
|
|
{
|
|
"serviceId": "hwlab-box-simu",
|
|
"publishEnabled": true,
|
|
"artifactRequired": true,
|
|
"artifactScope": "required",
|
|
"runtimeKind": "node-command",
|
|
"implementationState": "repo-entrypoint",
|
|
"sourceState": "source-present",
|
|
"entrypoint": "cmd/hwlab-box-simu/main.mjs",
|
|
"disabledReason": null
|
|
},
|
|
{
|
|
"serviceId": "hwlab-patch-panel",
|
|
"publishEnabled": true,
|
|
"artifactRequired": true,
|
|
"artifactScope": "required",
|
|
"runtimeKind": "node-command",
|
|
"implementationState": "repo-entrypoint",
|
|
"sourceState": "source-present",
|
|
"entrypoint": "cmd/hwlab-patch-panel/main.mjs",
|
|
"disabledReason": null
|
|
},
|
|
{
|
|
"serviceId": "hwlab-router",
|
|
"publishEnabled": true,
|
|
"artifactRequired": true,
|
|
"artifactScope": "required",
|
|
"runtimeKind": "node-command",
|
|
"implementationState": "repo-entrypoint",
|
|
"sourceState": "source-present",
|
|
"entrypoint": "cmd/hwlab-router/main.mjs",
|
|
"disabledReason": null
|
|
},
|
|
{
|
|
"serviceId": "hwlab-tunnel-client",
|
|
"publishEnabled": true,
|
|
"artifactRequired": true,
|
|
"artifactScope": "required",
|
|
"runtimeKind": "node-command",
|
|
"implementationState": "repo-entrypoint",
|
|
"sourceState": "source-present",
|
|
"entrypoint": "cmd/hwlab-tunnel-client/main.mjs",
|
|
"disabledReason": null
|
|
},
|
|
{
|
|
"serviceId": "hwlab-edge-proxy",
|
|
"publishEnabled": true,
|
|
"artifactRequired": true,
|
|
"artifactScope": "required",
|
|
"runtimeKind": "node-command",
|
|
"implementationState": "repo-entrypoint",
|
|
"sourceState": "source-present",
|
|
"entrypoint": "cmd/hwlab-edge-proxy/main.mjs",
|
|
"disabledReason": null
|
|
},
|
|
{
|
|
"serviceId": "hwlab-cli",
|
|
"publishEnabled": true,
|
|
"artifactRequired": true,
|
|
"artifactScope": "required",
|
|
"runtimeKind": "cli",
|
|
"implementationState": "repo-entrypoint",
|
|
"sourceState": "source-present",
|
|
"entrypoint": "tools/hwlab-cli/bin/hwlab-cli.mjs",
|
|
"disabledReason": null
|
|
},
|
|
{
|
|
"serviceId": "hwlab-agent-skills",
|
|
"publishEnabled": true,
|
|
"artifactRequired": true,
|
|
"artifactScope": "required",
|
|
"runtimeKind": "skills-bundle",
|
|
"implementationState": "repo-bundle",
|
|
"sourceState": "source-present",
|
|
"entrypoint": "skills/hwlab-agent-runtime/SKILL.md",
|
|
"disabledReason": null
|
|
}
|
|
]
|
|
}
|
|
}
|