runtime: publish CLUSTER-REFERENCE-PUBLISHER-IMPLEMENTATION-INPUTS-172
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"channel": "homelab-runtime",
|
||||
"command_id": "CLUSTER-REFERENCE-PUBLISHER-IMPLEMENTATION-INPUTS-172",
|
||||
"status": "OK",
|
||||
"rc": 0,
|
||||
"host": "pve01",
|
||||
"mode": "read-only",
|
||||
"component": "cluster-audit",
|
||||
"started_at_utc": "2026-07-22T10:31:22Z",
|
||||
"finished_at_utc": "2026-07-22T10:31:23Z",
|
||||
"reference_register_checked": true,
|
||||
"reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e",
|
||||
"error_register_checked": true,
|
||||
"error_register_sha256": "08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752",
|
||||
"command_sha256": "1732aee566a83403f448dd74bbfed41489b1640081fd869e751d662ce82fabd8",
|
||||
"duplicate_failed_command_blocked": false,
|
||||
"block_reason": null,
|
||||
"execution_started": true,
|
||||
"changes_made": false,
|
||||
"sanitized": true,
|
||||
"secrets_included": false,
|
||||
"private_addresses_included": false,
|
||||
"raw_evidence_retained_locally": true,
|
||||
"raw_evidence_sha256": "83348d7ce6421d9722baa8fdaee5cd8b7337acf0b6478cd72e2a94805c053e4d",
|
||||
"sanitized_output_sha256": "83348d7ce6421d9722baa8fdaee5cd8b7337acf0b6478cd72e2a94805c053e4d",
|
||||
"output_truncated_in_json": false,
|
||||
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
|
||||
"output": "BOOTSTRAP_CHECK=OK\nERROR_REGISTER_LOADED=YES\nPREVIOUS_RESULT=VERIFIED\nvalidation=PASS\n=== REFERENCE_STATE ===\nstatus=AUTO_REFRESH_READY\nupdated_at=2026-07-22T10:01:14+00:00\ncluster declared=0 observed=1 effective=1\nnodes declared=0 observed=3 effective=3\nguests declared=0 observed=12 effective=12\ncontainers declared=0 observed=4 effective=4\nservices declared=0 observed=863 effective=863\napplications declared=0 observed=0 effective=0\nnetworks declared=0 observed=1 effective=1\ndns declared=0 observed=1 effective=1\ndomains declared=0 observed=81 effective=81\ncertificates declared=0 observed=0 effective=0\ningress declared=0 observed=0 effective=0\nstorage declared=0 observed=2 effective=2\nbackups declared=0 observed=84 effective=84\nmonitoring declared=0 observed=67 effective=67\nexternal_services declared=0 observed=84 effective=84\ndependencies declared=0 observed=0 effective=0\naccess declared=0 observed=25 effective=25\nowners declared=0 observed=0 effective=0\nvendors declared=0 observed=0 effective=0\ncontracts declared=0 observed=0 effective=0\nsecurity declared=0 observed=1 effective=1\ndisaster_recovery declared=0 observed=0 effective=0\nchange_management declared=0 observed=0 effective=0\nrunbooks declared=0 observed=0 effective=0\n=== PUBLISH_CONTRACT_CONTEXT ===\n1-# Operations\n2-\n3-List: homelab-reference list\n4-Read: homelab-reference get SECTION ID --layer effective\n5-Add: homelab-reference add SECTION JSON\n6-Edit: homelab-reference edit SECTION ID --set key=value\n7-Remove: homelab-reference remove SECTION ID\n8-Validate: homelab-reference validate\n9-Merge: homelab-reference merge\n10-Refresh: homelab-reference-refresh\n11:Publish: homelab-reference-publish\n12-\n13-Immutable runtime history for the exact COMMAND_ID is authoritative. latest.json is not authoritative.\n=== GIT_WORKTREES ===\nWORKTREE=/root/homelab-configs-worktree\nBRANCH=main\nHEAD=cfab5168f800d63eba1bc0f669427ff8fcd48006\nUPSTREAM=origin/main\nTRACKED_DIRTY_COUNT=0\nREMOTE_PROTOCOL=HTTPS\nREMOTE_REPOSITORY_NAME=homelab-configs\nCREDENTIAL_HELPER_CONFIGURED=YES\nHTTP_EXTRAHEADER_CONFIGURED=NO\nSSH_COMMAND_CONFIGURED=NO\n---\nWORKTREE=/srv/homelab-desired-state\nBRANCH=master\nHEAD=d4d9951208ae33886665319d19350bd9539895c4\nUPSTREAM=origin/master\nTRACKED_DIRTY_COUNT=0\nREMOTE_PROTOCOL=HTTPS\nREMOTE_REPOSITORY_NAME=homelab-desired-state\nCREDENTIAL_HELPER_CONFIGURED=YES\nHTTP_EXTRAHEADER_CONFIGURED=NO\nSSH_COMMAND_CONFIGURED=NO\n---\nGIT_WORKTREE_COUNT=2\n=== UNIT_PUBLICATION_METADATA ===\nResult=success\nExecMainStatus=0\nId=homelab-reference-refresh.service\nLoadState=loaded\nActiveState=inactive\nSubState=dead\nUnitFileState=static\n\nResult=success\nId=homelab-reference-refresh.timer\nLoadState=loaded\nActiveState=active\nSubState=waiting\nUnitFileState=enabled\n=== ENVIRONMENT_FILE_PATHS ===\nENVIRONMENT_FILES=NONE\n=== AUTH_VARIABLE_NAMES_IN_CODE ===\n=== SOURCE_INTEGRITY ===\n43660be7880012216a89c2bd63215ebe23eac2bada7fab66de8d3d5d352bfa56 /usr/local/sbin/homelab-reference\n334c93cff5f3fb544e1c246f2949297cdf058763db24a76900f6346370a75e82 /usr/local/sbin/homelab-reference-refresh\n0173c076def65dd57896aa6eec634c9ebae52c4878c73f61c52180c23706f829 /etc/homelab/reference/docs/OPERATIONS.md\n2c363363ab36bbfb84d305c744613e20a94df59a15d712c6a4e108811a4db882 /etc/homelab/reference/manifest.json\n2725bd97a6406b5b491aaf46f56dda06ad10589d3c32931cf7fe67b99a2020d1 /etc/homelab/reference/state/current.json\nREFERENCE_CHECK=OK\nERROR_REGISTER_CHECK=OK\nSECRET_PRINTED=NO\nPRIVATE_ADDRESS_PRINTED=NO\nPUBLISHER_IMPLEMENTATION_INPUTS=COMPLETE\n"
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
CHAT_OUTPUT_BEGIN
|
||||
COMMAND_ID=CLUSTER-REFERENCE-PUBLISHER-IMPLEMENTATION-INPUTS-172
|
||||
STATUS=OK
|
||||
RC=0
|
||||
HOST=pve01
|
||||
MODE=read-only
|
||||
COMPONENT=cluster-audit
|
||||
REFERENCE_REGISTER_CHECK=OK
|
||||
REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e
|
||||
ERROR_REGISTER_CHECK=OK
|
||||
ERROR_REGISTER_SHA256=08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752
|
||||
COMMAND_SHA256=1732aee566a83403f448dd74bbfed41489b1640081fd869e751d662ce82fabd8
|
||||
DUPLICATE_FAILED_COMMAND_BLOCKED=false
|
||||
EXECUTION_STARTED=true
|
||||
CHANGES_MADE=false
|
||||
SANITIZED=yes
|
||||
SECRETS_INCLUDED=no
|
||||
PRIVATE_ADDRESSES_INCLUDED=no
|
||||
RAW_EVIDENCE_SHA256=83348d7ce6421d9722baa8fdaee5cd8b7337acf0b6478cd72e2a94805c053e4d
|
||||
SANITIZED_OUTPUT_SHA256=83348d7ce6421d9722baa8fdaee5cd8b7337acf0b6478cd72e2a94805c053e4d
|
||||
OUTPUT_BEGIN
|
||||
BOOTSTRAP_CHECK=OK
|
||||
ERROR_REGISTER_LOADED=YES
|
||||
PREVIOUS_RESULT=VERIFIED
|
||||
validation=PASS
|
||||
=== REFERENCE_STATE ===
|
||||
status=AUTO_REFRESH_READY
|
||||
updated_at=2026-07-22T10:01:14+00:00
|
||||
cluster declared=0 observed=1 effective=1
|
||||
nodes declared=0 observed=3 effective=3
|
||||
guests declared=0 observed=12 effective=12
|
||||
containers declared=0 observed=4 effective=4
|
||||
services declared=0 observed=863 effective=863
|
||||
applications declared=0 observed=0 effective=0
|
||||
networks declared=0 observed=1 effective=1
|
||||
dns declared=0 observed=1 effective=1
|
||||
domains declared=0 observed=81 effective=81
|
||||
certificates declared=0 observed=0 effective=0
|
||||
ingress declared=0 observed=0 effective=0
|
||||
storage declared=0 observed=2 effective=2
|
||||
backups declared=0 observed=84 effective=84
|
||||
monitoring declared=0 observed=67 effective=67
|
||||
external_services declared=0 observed=84 effective=84
|
||||
dependencies declared=0 observed=0 effective=0
|
||||
access declared=0 observed=25 effective=25
|
||||
owners declared=0 observed=0 effective=0
|
||||
vendors declared=0 observed=0 effective=0
|
||||
contracts declared=0 observed=0 effective=0
|
||||
security declared=0 observed=1 effective=1
|
||||
disaster_recovery declared=0 observed=0 effective=0
|
||||
change_management declared=0 observed=0 effective=0
|
||||
runbooks declared=0 observed=0 effective=0
|
||||
=== PUBLISH_CONTRACT_CONTEXT ===
|
||||
1-# Operations
|
||||
2-
|
||||
3-List: homelab-reference list
|
||||
4-Read: homelab-reference get SECTION ID --layer effective
|
||||
5-Add: homelab-reference add SECTION JSON
|
||||
6-Edit: homelab-reference edit SECTION ID --set key=value
|
||||
7-Remove: homelab-reference remove SECTION ID
|
||||
8-Validate: homelab-reference validate
|
||||
9-Merge: homelab-reference merge
|
||||
10-Refresh: homelab-reference-refresh
|
||||
11:Publish: homelab-reference-publish
|
||||
12-
|
||||
13-Immutable runtime history for the exact COMMAND_ID is authoritative. latest.json is not authoritative.
|
||||
=== GIT_WORKTREES ===
|
||||
WORKTREE=/root/homelab-configs-worktree
|
||||
BRANCH=main
|
||||
HEAD=cfab5168f800d63eba1bc0f669427ff8fcd48006
|
||||
UPSTREAM=origin/main
|
||||
TRACKED_DIRTY_COUNT=0
|
||||
REMOTE_PROTOCOL=HTTPS
|
||||
REMOTE_REPOSITORY_NAME=homelab-configs
|
||||
CREDENTIAL_HELPER_CONFIGURED=YES
|
||||
HTTP_EXTRAHEADER_CONFIGURED=NO
|
||||
SSH_COMMAND_CONFIGURED=NO
|
||||
---
|
||||
WORKTREE=/srv/homelab-desired-state
|
||||
BRANCH=master
|
||||
HEAD=d4d9951208ae33886665319d19350bd9539895c4
|
||||
UPSTREAM=origin/master
|
||||
TRACKED_DIRTY_COUNT=0
|
||||
REMOTE_PROTOCOL=HTTPS
|
||||
REMOTE_REPOSITORY_NAME=homelab-desired-state
|
||||
CREDENTIAL_HELPER_CONFIGURED=YES
|
||||
HTTP_EXTRAHEADER_CONFIGURED=NO
|
||||
SSH_COMMAND_CONFIGURED=NO
|
||||
---
|
||||
GIT_WORKTREE_COUNT=2
|
||||
=== UNIT_PUBLICATION_METADATA ===
|
||||
Result=success
|
||||
ExecMainStatus=0
|
||||
Id=homelab-reference-refresh.service
|
||||
LoadState=loaded
|
||||
ActiveState=inactive
|
||||
SubState=dead
|
||||
UnitFileState=static
|
||||
|
||||
Result=success
|
||||
Id=homelab-reference-refresh.timer
|
||||
LoadState=loaded
|
||||
ActiveState=active
|
||||
SubState=waiting
|
||||
UnitFileState=enabled
|
||||
=== ENVIRONMENT_FILE_PATHS ===
|
||||
ENVIRONMENT_FILES=NONE
|
||||
=== AUTH_VARIABLE_NAMES_IN_CODE ===
|
||||
=== SOURCE_INTEGRITY ===
|
||||
43660be7880012216a89c2bd63215ebe23eac2bada7fab66de8d3d5d352bfa56 /usr/local/sbin/homelab-reference
|
||||
334c93cff5f3fb544e1c246f2949297cdf058763db24a76900f6346370a75e82 /usr/local/sbin/homelab-reference-refresh
|
||||
0173c076def65dd57896aa6eec634c9ebae52c4878c73f61c52180c23706f829 /etc/homelab/reference/docs/OPERATIONS.md
|
||||
2c363363ab36bbfb84d305c744613e20a94df59a15d712c6a4e108811a4db882 /etc/homelab/reference/manifest.json
|
||||
2725bd97a6406b5b491aaf46f56dda06ad10589d3c32931cf7fe67b99a2020d1 /etc/homelab/reference/state/current.json
|
||||
REFERENCE_CHECK=OK
|
||||
ERROR_REGISTER_CHECK=OK
|
||||
SECRET_PRINTED=NO
|
||||
PRIVATE_ADDRESS_PRINTED=NO
|
||||
PUBLISHER_IMPLEMENTATION_INPUTS=COMPLETE
|
||||
|
||||
OUTPUT_END
|
||||
CHAT_OUTPUT_END
|
||||
+7
-7
@@ -1,19 +1,19 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"channel": "homelab-runtime",
|
||||
"command_id": "CLUSTER-REFERENCE-PUBLISHER-CONTRACT-AUDIT-171",
|
||||
"command_id": "CLUSTER-REFERENCE-PUBLISHER-IMPLEMENTATION-INPUTS-172",
|
||||
"status": "OK",
|
||||
"rc": 0,
|
||||
"host": "pve01",
|
||||
"mode": "read-only",
|
||||
"component": "cluster-audit",
|
||||
"started_at_utc": "2026-07-22T10:25:15Z",
|
||||
"finished_at_utc": "2026-07-22T10:25:15Z",
|
||||
"started_at_utc": "2026-07-22T10:31:22Z",
|
||||
"finished_at_utc": "2026-07-22T10:31:23Z",
|
||||
"reference_register_checked": true,
|
||||
"reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e",
|
||||
"error_register_checked": true,
|
||||
"error_register_sha256": "08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752",
|
||||
"command_sha256": "1299fe30eb30386fec901e120ab525ece490edc5eca767d9216466ecd225bef5",
|
||||
"command_sha256": "1732aee566a83403f448dd74bbfed41489b1640081fd869e751d662ce82fabd8",
|
||||
"duplicate_failed_command_blocked": false,
|
||||
"block_reason": null,
|
||||
"execution_started": true,
|
||||
@@ -22,9 +22,9 @@
|
||||
"secrets_included": false,
|
||||
"private_addresses_included": false,
|
||||
"raw_evidence_retained_locally": true,
|
||||
"raw_evidence_sha256": "ced96ca03c186b7a4b64cc4939add95121ad329963b7fddde6c5fcde8c47940f",
|
||||
"sanitized_output_sha256": "ced96ca03c186b7a4b64cc4939add95121ad329963b7fddde6c5fcde8c47940f",
|
||||
"raw_evidence_sha256": "83348d7ce6421d9722baa8fdaee5cd8b7337acf0b6478cd72e2a94805c053e4d",
|
||||
"sanitized_output_sha256": "83348d7ce6421d9722baa8fdaee5cd8b7337acf0b6478cd72e2a94805c053e4d",
|
||||
"output_truncated_in_json": false,
|
||||
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
|
||||
"output": "PREVIOUS_RESULT=VERIFIED\n=== OPERATIONS_PUBLISH_CONTEXT ===\n1-# Operations\n2-\n3-List: homelab-reference list\n4-Read: homelab-reference get SECTION ID --layer effective\n5-Add: homelab-reference add SECTION JSON\n6-Edit: homelab-reference edit SECTION ID --set key=value\n7-Remove: homelab-reference remove SECTION ID\n8-Validate: homelab-reference validate\n9-Merge: homelab-reference merge\n10-Refresh: homelab-reference-refresh\n11:Publish: homelab-reference-publish\n12-\n13-Immutable runtime history for the exact COMMAND_ID is authoritative. latest.json is not authoritative.\n=== ACTIVE_CODE_REFERENCES ===\n=== REFRESH_RELEVANT_LINES ===\n5:S=json.loads((R/\"manifest.json\").read_text())[\"sections\"]\n34: f=int(json.loads((R/\"manifest.json\").read_text()).get(\"freshness_seconds\",{}).get(s,3600));z=(t+datetime.timedelta(seconds=f)).isoformat()\n131: st=load(\"state\",\"current\") if False else json.loads((R/\"state/current.json\").read_text());st.update({\"schema_version\":2,\"status\":\"AUTO_REFRESH_READY\",\"updated_at\":t.isoformat(),\"last_snapshot\":str(snap),\"observed_counts\":cnt,\"effective_counts\":eff,\"public_index\":str(R/\"public/index.json\"),\"collector\":str(pathlib.Path(__file__))});atom(R/\"state/current.json\",st)\n=== CLI_RELEVANT_LINES ===\n43: manifest = json.loads((ROOT / \"manifest.json\").read_text(encoding=\"utf-8\"))\n44: return manifest.get(\"sections\", [])\n65:def validate_section(layer, section):\n105:def cmd_status(args):\n106: state_path = ROOT / \"state\" / \"current.json\"\n108: print(\"status=\" + str(state.get(\"status\", \"UNKNOWN\")))\n120: print(str(record.get(\"id\")) + \"\\t\" + str(record.get(\"name\", \"\")) + \"\\t\" + str(record.get(\"status\", \"\")))\n176:def cmd_validate(args):\n182: errors.extend(validate_section(layer, section))\n205:p = sub.add_parser(\"status\"); p.set_defaults(func=cmd_status)\n211:p = sub.add_parser(\"validate\"); p.add_argument(\"section\", nargs=\"?\"); p.add_argument(\"--layer\", choices=LAYERS); p.set_defaults(func=cmd_validate)\n=== UNIT_FILES ===\n# /etc/systemd/system/homelab-reference-refresh.service\n[Unit]\nDescription=Refresh homelab cluster reference\nAfter=network-online.target pve-cluster.service\nWants=network-online.target\n\n[Service]\nType=oneshot\nExecStart=/usr/local/sbin/homelab-reference-refresh\nUser=root\nGroup=root\nNice=10\nIOSchedulingClass=best-effort\nIOSchedulingPriority=7\nNoNewPrivileges=true\nPrivateTmp=true\nProtectSystem=strict\nReadWritePaths=/etc/homelab/reference /var/backups/homelab-reference\nProtectHome=read-only\n\n# /etc/systemd/system/homelab-reference-refresh.timer\n[Unit]\nDescription=Periodic homelab reference refresh\n\n[Timer]\nOnBootSec=10min\nOnUnitActiveSec=30min\nRandomizedDelaySec=5min\nPersistent=true\nUnit=homelab-reference-refresh.service\n\n[Install]\nWantedBy=timers.target\n=== MANIFEST_CONTRACT ===\n2: \"schema_version\": 2,\n4: \"updated_at\": \"2026-07-22T08:12:10+00:00\",\n=== STATE_CONTRACT ===\n2: \"schema_version\": 2,\n3: \"status\": \"AUTO_REFRESH_READY\",\n4: \"updated_at\": \"2026-07-22T10:01:14+00:00\",\nREFERENCE_CHECK=OK\nERROR_REGISTER_CHECK=OK\nSECRET_PRINTED=NO\nPUBLISHER_CONTRACT_AUDIT=COMPLETE\n"
|
||||
"output": "BOOTSTRAP_CHECK=OK\nERROR_REGISTER_LOADED=YES\nPREVIOUS_RESULT=VERIFIED\nvalidation=PASS\n=== REFERENCE_STATE ===\nstatus=AUTO_REFRESH_READY\nupdated_at=2026-07-22T10:01:14+00:00\ncluster declared=0 observed=1 effective=1\nnodes declared=0 observed=3 effective=3\nguests declared=0 observed=12 effective=12\ncontainers declared=0 observed=4 effective=4\nservices declared=0 observed=863 effective=863\napplications declared=0 observed=0 effective=0\nnetworks declared=0 observed=1 effective=1\ndns declared=0 observed=1 effective=1\ndomains declared=0 observed=81 effective=81\ncertificates declared=0 observed=0 effective=0\ningress declared=0 observed=0 effective=0\nstorage declared=0 observed=2 effective=2\nbackups declared=0 observed=84 effective=84\nmonitoring declared=0 observed=67 effective=67\nexternal_services declared=0 observed=84 effective=84\ndependencies declared=0 observed=0 effective=0\naccess declared=0 observed=25 effective=25\nowners declared=0 observed=0 effective=0\nvendors declared=0 observed=0 effective=0\ncontracts declared=0 observed=0 effective=0\nsecurity declared=0 observed=1 effective=1\ndisaster_recovery declared=0 observed=0 effective=0\nchange_management declared=0 observed=0 effective=0\nrunbooks declared=0 observed=0 effective=0\n=== PUBLISH_CONTRACT_CONTEXT ===\n1-# Operations\n2-\n3-List: homelab-reference list\n4-Read: homelab-reference get SECTION ID --layer effective\n5-Add: homelab-reference add SECTION JSON\n6-Edit: homelab-reference edit SECTION ID --set key=value\n7-Remove: homelab-reference remove SECTION ID\n8-Validate: homelab-reference validate\n9-Merge: homelab-reference merge\n10-Refresh: homelab-reference-refresh\n11:Publish: homelab-reference-publish\n12-\n13-Immutable runtime history for the exact COMMAND_ID is authoritative. latest.json is not authoritative.\n=== GIT_WORKTREES ===\nWORKTREE=/root/homelab-configs-worktree\nBRANCH=main\nHEAD=cfab5168f800d63eba1bc0f669427ff8fcd48006\nUPSTREAM=origin/main\nTRACKED_DIRTY_COUNT=0\nREMOTE_PROTOCOL=HTTPS\nREMOTE_REPOSITORY_NAME=homelab-configs\nCREDENTIAL_HELPER_CONFIGURED=YES\nHTTP_EXTRAHEADER_CONFIGURED=NO\nSSH_COMMAND_CONFIGURED=NO\n---\nWORKTREE=/srv/homelab-desired-state\nBRANCH=master\nHEAD=d4d9951208ae33886665319d19350bd9539895c4\nUPSTREAM=origin/master\nTRACKED_DIRTY_COUNT=0\nREMOTE_PROTOCOL=HTTPS\nREMOTE_REPOSITORY_NAME=homelab-desired-state\nCREDENTIAL_HELPER_CONFIGURED=YES\nHTTP_EXTRAHEADER_CONFIGURED=NO\nSSH_COMMAND_CONFIGURED=NO\n---\nGIT_WORKTREE_COUNT=2\n=== UNIT_PUBLICATION_METADATA ===\nResult=success\nExecMainStatus=0\nId=homelab-reference-refresh.service\nLoadState=loaded\nActiveState=inactive\nSubState=dead\nUnitFileState=static\n\nResult=success\nId=homelab-reference-refresh.timer\nLoadState=loaded\nActiveState=active\nSubState=waiting\nUnitFileState=enabled\n=== ENVIRONMENT_FILE_PATHS ===\nENVIRONMENT_FILES=NONE\n=== AUTH_VARIABLE_NAMES_IN_CODE ===\n=== SOURCE_INTEGRITY ===\n43660be7880012216a89c2bd63215ebe23eac2bada7fab66de8d3d5d352bfa56 /usr/local/sbin/homelab-reference\n334c93cff5f3fb544e1c246f2949297cdf058763db24a76900f6346370a75e82 /usr/local/sbin/homelab-reference-refresh\n0173c076def65dd57896aa6eec634c9ebae52c4878c73f61c52180c23706f829 /etc/homelab/reference/docs/OPERATIONS.md\n2c363363ab36bbfb84d305c744613e20a94df59a15d712c6a4e108811a4db882 /etc/homelab/reference/manifest.json\n2725bd97a6406b5b491aaf46f56dda06ad10589d3c32931cf7fe67b99a2020d1 /etc/homelab/reference/state/current.json\nREFERENCE_CHECK=OK\nERROR_REGISTER_CHECK=OK\nSECRET_PRINTED=NO\nPRIVATE_ADDRESS_PRINTED=NO\nPUBLISHER_IMPLEMENTATION_INPUTS=COMPLETE\n"
|
||||
}
|
||||
|
||||
+84
-63
@@ -1,5 +1,5 @@
|
||||
CHAT_OUTPUT_BEGIN
|
||||
COMMAND_ID=CLUSTER-REFERENCE-PUBLISHER-CONTRACT-AUDIT-171
|
||||
COMMAND_ID=CLUSTER-REFERENCE-PUBLISHER-IMPLEMENTATION-INPUTS-172
|
||||
STATUS=OK
|
||||
RC=0
|
||||
HOST=pve01
|
||||
@@ -9,18 +9,48 @@ REFERENCE_REGISTER_CHECK=OK
|
||||
REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e
|
||||
ERROR_REGISTER_CHECK=OK
|
||||
ERROR_REGISTER_SHA256=08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752
|
||||
COMMAND_SHA256=1299fe30eb30386fec901e120ab525ece490edc5eca767d9216466ecd225bef5
|
||||
COMMAND_SHA256=1732aee566a83403f448dd74bbfed41489b1640081fd869e751d662ce82fabd8
|
||||
DUPLICATE_FAILED_COMMAND_BLOCKED=false
|
||||
EXECUTION_STARTED=true
|
||||
CHANGES_MADE=false
|
||||
SANITIZED=yes
|
||||
SECRETS_INCLUDED=no
|
||||
PRIVATE_ADDRESSES_INCLUDED=no
|
||||
RAW_EVIDENCE_SHA256=ced96ca03c186b7a4b64cc4939add95121ad329963b7fddde6c5fcde8c47940f
|
||||
SANITIZED_OUTPUT_SHA256=ced96ca03c186b7a4b64cc4939add95121ad329963b7fddde6c5fcde8c47940f
|
||||
RAW_EVIDENCE_SHA256=83348d7ce6421d9722baa8fdaee5cd8b7337acf0b6478cd72e2a94805c053e4d
|
||||
SANITIZED_OUTPUT_SHA256=83348d7ce6421d9722baa8fdaee5cd8b7337acf0b6478cd72e2a94805c053e4d
|
||||
OUTPUT_BEGIN
|
||||
BOOTSTRAP_CHECK=OK
|
||||
ERROR_REGISTER_LOADED=YES
|
||||
PREVIOUS_RESULT=VERIFIED
|
||||
=== OPERATIONS_PUBLISH_CONTEXT ===
|
||||
validation=PASS
|
||||
=== REFERENCE_STATE ===
|
||||
status=AUTO_REFRESH_READY
|
||||
updated_at=2026-07-22T10:01:14+00:00
|
||||
cluster declared=0 observed=1 effective=1
|
||||
nodes declared=0 observed=3 effective=3
|
||||
guests declared=0 observed=12 effective=12
|
||||
containers declared=0 observed=4 effective=4
|
||||
services declared=0 observed=863 effective=863
|
||||
applications declared=0 observed=0 effective=0
|
||||
networks declared=0 observed=1 effective=1
|
||||
dns declared=0 observed=1 effective=1
|
||||
domains declared=0 observed=81 effective=81
|
||||
certificates declared=0 observed=0 effective=0
|
||||
ingress declared=0 observed=0 effective=0
|
||||
storage declared=0 observed=2 effective=2
|
||||
backups declared=0 observed=84 effective=84
|
||||
monitoring declared=0 observed=67 effective=67
|
||||
external_services declared=0 observed=84 effective=84
|
||||
dependencies declared=0 observed=0 effective=0
|
||||
access declared=0 observed=25 effective=25
|
||||
owners declared=0 observed=0 effective=0
|
||||
vendors declared=0 observed=0 effective=0
|
||||
contracts declared=0 observed=0 effective=0
|
||||
security declared=0 observed=1 effective=1
|
||||
disaster_recovery declared=0 observed=0 effective=0
|
||||
change_management declared=0 observed=0 effective=0
|
||||
runbooks declared=0 observed=0 effective=0
|
||||
=== PUBLISH_CONTRACT_CONTEXT ===
|
||||
1-# Operations
|
||||
2-
|
||||
3-List: homelab-reference list
|
||||
@@ -34,68 +64,59 @@ PREVIOUS_RESULT=VERIFIED
|
||||
11:Publish: homelab-reference-publish
|
||||
12-
|
||||
13-Immutable runtime history for the exact COMMAND_ID is authoritative. latest.json is not authoritative.
|
||||
=== ACTIVE_CODE_REFERENCES ===
|
||||
=== REFRESH_RELEVANT_LINES ===
|
||||
5:S=json.loads((R/"manifest.json").read_text())["sections"]
|
||||
34: f=int(json.loads((R/"manifest.json").read_text()).get("freshness_seconds",{}).get(s,3600));z=(t+datetime.timedelta(seconds=f)).isoformat()
|
||||
131: st=load("state","current") if False else json.loads((R/"state/current.json").read_text());st.update({"schema_version":2,"status":"AUTO_REFRESH_READY","updated_at":t.isoformat(),"last_snapshot":str(snap),"observed_counts":cnt,"effective_counts":eff,"public_index":str(R/"public/index.json"),"collector":str(pathlib.Path(__file__))});atom(R/"state/current.json",st)
|
||||
=== CLI_RELEVANT_LINES ===
|
||||
43: manifest = json.loads((ROOT / "manifest.json").read_text(encoding="utf-8"))
|
||||
44: return manifest.get("sections", [])
|
||||
65:def validate_section(layer, section):
|
||||
105:def cmd_status(args):
|
||||
106: state_path = ROOT / "state" / "current.json"
|
||||
108: print("status=" + str(state.get("status", "UNKNOWN")))
|
||||
120: print(str(record.get("id")) + "\t" + str(record.get("name", "")) + "\t" + str(record.get("status", "")))
|
||||
176:def cmd_validate(args):
|
||||
182: errors.extend(validate_section(layer, section))
|
||||
205:p = sub.add_parser("status"); p.set_defaults(func=cmd_status)
|
||||
211:p = sub.add_parser("validate"); p.add_argument("section", nargs="?"); p.add_argument("--layer", choices=LAYERS); p.set_defaults(func=cmd_validate)
|
||||
=== UNIT_FILES ===
|
||||
# /etc/systemd/system/homelab-reference-refresh.service
|
||||
[Unit]
|
||||
Description=Refresh homelab cluster reference
|
||||
After=network-online.target pve-cluster.service
|
||||
Wants=network-online.target
|
||||
=== GIT_WORKTREES ===
|
||||
WORKTREE=/root/homelab-configs-worktree
|
||||
BRANCH=main
|
||||
HEAD=cfab5168f800d63eba1bc0f669427ff8fcd48006
|
||||
UPSTREAM=origin/main
|
||||
TRACKED_DIRTY_COUNT=0
|
||||
REMOTE_PROTOCOL=HTTPS
|
||||
REMOTE_REPOSITORY_NAME=homelab-configs
|
||||
CREDENTIAL_HELPER_CONFIGURED=YES
|
||||
HTTP_EXTRAHEADER_CONFIGURED=NO
|
||||
SSH_COMMAND_CONFIGURED=NO
|
||||
---
|
||||
WORKTREE=/srv/homelab-desired-state
|
||||
BRANCH=master
|
||||
HEAD=d4d9951208ae33886665319d19350bd9539895c4
|
||||
UPSTREAM=origin/master
|
||||
TRACKED_DIRTY_COUNT=0
|
||||
REMOTE_PROTOCOL=HTTPS
|
||||
REMOTE_REPOSITORY_NAME=homelab-desired-state
|
||||
CREDENTIAL_HELPER_CONFIGURED=YES
|
||||
HTTP_EXTRAHEADER_CONFIGURED=NO
|
||||
SSH_COMMAND_CONFIGURED=NO
|
||||
---
|
||||
GIT_WORKTREE_COUNT=2
|
||||
=== UNIT_PUBLICATION_METADATA ===
|
||||
Result=success
|
||||
ExecMainStatus=0
|
||||
Id=homelab-reference-refresh.service
|
||||
LoadState=loaded
|
||||
ActiveState=inactive
|
||||
SubState=dead
|
||||
UnitFileState=static
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/local/sbin/homelab-reference-refresh
|
||||
User=root
|
||||
Group=root
|
||||
Nice=10
|
||||
IOSchedulingClass=best-effort
|
||||
IOSchedulingPriority=7
|
||||
NoNewPrivileges=true
|
||||
PrivateTmp=true
|
||||
ProtectSystem=strict
|
||||
ReadWritePaths=/etc/homelab/reference /var/backups/homelab-reference
|
||||
ProtectHome=read-only
|
||||
|
||||
# /etc/systemd/system/homelab-reference-refresh.timer
|
||||
[Unit]
|
||||
Description=Periodic homelab reference refresh
|
||||
|
||||
[Timer]
|
||||
OnBootSec=10min
|
||||
OnUnitActiveSec=30min
|
||||
RandomizedDelaySec=5min
|
||||
Persistent=true
|
||||
Unit=homelab-reference-refresh.service
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
=== MANIFEST_CONTRACT ===
|
||||
2: "schema_version": 2,
|
||||
4: "updated_at": "2026-07-22T08:12:10+00:00",
|
||||
=== STATE_CONTRACT ===
|
||||
2: "schema_version": 2,
|
||||
3: "status": "AUTO_REFRESH_READY",
|
||||
4: "updated_at": "2026-07-22T10:01:14+00:00",
|
||||
Result=success
|
||||
Id=homelab-reference-refresh.timer
|
||||
LoadState=loaded
|
||||
ActiveState=active
|
||||
SubState=waiting
|
||||
UnitFileState=enabled
|
||||
=== ENVIRONMENT_FILE_PATHS ===
|
||||
ENVIRONMENT_FILES=NONE
|
||||
=== AUTH_VARIABLE_NAMES_IN_CODE ===
|
||||
=== SOURCE_INTEGRITY ===
|
||||
43660be7880012216a89c2bd63215ebe23eac2bada7fab66de8d3d5d352bfa56 /usr/local/sbin/homelab-reference
|
||||
334c93cff5f3fb544e1c246f2949297cdf058763db24a76900f6346370a75e82 /usr/local/sbin/homelab-reference-refresh
|
||||
0173c076def65dd57896aa6eec634c9ebae52c4878c73f61c52180c23706f829 /etc/homelab/reference/docs/OPERATIONS.md
|
||||
2c363363ab36bbfb84d305c744613e20a94df59a15d712c6a4e108811a4db882 /etc/homelab/reference/manifest.json
|
||||
2725bd97a6406b5b491aaf46f56dda06ad10589d3c32931cf7fe67b99a2020d1 /etc/homelab/reference/state/current.json
|
||||
REFERENCE_CHECK=OK
|
||||
ERROR_REGISTER_CHECK=OK
|
||||
SECRET_PRINTED=NO
|
||||
PUBLISHER_CONTRACT_AUDIT=COMPLETE
|
||||
PRIVATE_ADDRESS_PRINTED=NO
|
||||
PUBLISHER_IMPLEMENTATION_INPUTS=COMPLETE
|
||||
|
||||
OUTPUT_END
|
||||
CHAT_OUTPUT_END
|
||||
|
||||
Reference in New Issue
Block a user