1
0

runtime: publish CLUSTER-REFERENCE-PUBLISHER-IMPLEMENTATION-INPUTS-172

This commit is contained in:
homelab-runtime-publisher
2026-07-22 10:31:23 +00:00
parent d8b7da7ce7
commit f03a641c5c
4 changed files with 243 additions and 70 deletions
+84 -63
View File
@@ -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