Complete ops-hub Inter-Hub bootstrap and close bootstrap workplans.

Extract bootstrap logic into src/ops_hub/bootstrap.py with dry-run support,
public hub discovery, and unit tests. Update the gate probe to accept public
hub listing (200 or 401), document dev commands and architecture, and archive
finished OPS-WP-0001 and OPS-WP-0002 workplans.
This commit is contained in:
2026-07-07 01:49:12 +02:00
parent 0454e126cb
commit 39080333da
13 changed files with 795 additions and 370 deletions

View File

@@ -2,13 +2,15 @@ IHUB_BASE ?= https://hub.coulomb.social
IHUB_OPERATOR_KEY_FILE ?=
OPS_HUB_RUNTIME_KEY_OUTPUT ?=
.PHONY: help interhub-gate interhub-bootstrap interhub-bootstrap-help
.PHONY: help interhub-gate interhub-bootstrap interhub-bootstrap-dry-run interhub-bootstrap-help test
help:
@echo "Targets:"
@echo " interhub-gate Probe whether production Inter-Hub exposes the ops-hub bootstrap API surface"
@echo " interhub-bootstrap-help Show bootstrap helper options"
@echo " interhub-bootstrap-dry-run Plan bootstrap actions with IHUB_OPERATOR_KEY_FILE (no mutations)"
@echo " interhub-bootstrap Run attended ops-hub Inter-Hub bootstrap with IHUB_OPERATOR_KEY_FILE"
@echo " test Run unit tests"
interhub-gate:
IHUB_BASE="$(IHUB_BASE)" python3 scripts/interhub-gate-probe.py
@@ -16,6 +18,13 @@ interhub-gate:
interhub-bootstrap-help:
python3 scripts/ops-hub-bootstrap-api.py --help
interhub-bootstrap-dry-run:
@test -n "$(IHUB_OPERATOR_KEY_FILE)" || \
(echo "IHUB_OPERATOR_KEY_FILE is required; materialize the operator key into a 0600 temp file first." >&2; exit 2)
IHUB_BASE="$(IHUB_BASE)" \
IHUB_OPERATOR_KEY_FILE="$(IHUB_OPERATOR_KEY_FILE)" \
python3 scripts/ops-hub-bootstrap-api.py --dry-run
interhub-bootstrap:
@test -n "$(IHUB_OPERATOR_KEY_FILE)" || \
(echo "IHUB_OPERATOR_KEY_FILE is required; materialize the operator key into a 0600 temp file first." >&2; exit 2)
@@ -23,3 +32,6 @@ interhub-bootstrap:
IHUB_OPERATOR_KEY_FILE="$(IHUB_OPERATOR_KEY_FILE)" \
OPS_HUB_RUNTIME_KEY_OUTPUT="$(OPS_HUB_RUNTIME_KEY_OUTPUT)" \
python3 scripts/ops-hub-bootstrap-api.py
test:
PYTHONPATH=src python3 -m unittest discover -s tests -v