ops-hub/Makefile
tegwick 75f4944144
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
implement ops hub extension contract
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a053ff-1d6f-7fe2-ac1c-a6eb40a42a0c
2026-08-31 21:31:53 +02:00

53 lines
2.3 KiB
Makefile

IHUB_BASE ?= https://hub.coulomb.social
IHUB_OPERATOR_KEY_FILE ?=
OPS_HUB_RUNTIME_KEY_OUTPUT ?=
HUB_CORE_REPO ?= ../hub-core
HUB_CORE_PYTHON ?= $(HUB_CORE_REPO)/.venv/bin/python
.PHONY: help hub-extension-check hub-core-conformance interhub-gate interhub-bootstrap interhub-bootstrap-dry-run interhub-bootstrap-help test
help:
@echo "Targets:"
@echo " hub-extension-check Validate the owner package against hub-core 0.1.0 schemas/catalog"
@echo " hub-core-conformance Exercise the owner package in a disposable hub-core runtime"
@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"
hub-extension-check:
@test -x "$(HUB_CORE_PYTHON)" || \
(echo "hub-core environment missing at $(HUB_CORE_PYTHON)" >&2; exit 2)
PYTHONPATH=src "$(HUB_CORE_PYTHON)" scripts/hub-extension-check.py \
--hub-core-repo "$(HUB_CORE_REPO)"
hub-core-conformance:
@test -x "$(HUB_CORE_PYTHON)" || \
(echo "hub-core environment missing at $(HUB_CORE_PYTHON)" >&2; exit 2)
PYTHONPATH=src "$(HUB_CORE_PYTHON)" scripts/hub-core-conformance.py \
--hub-core-repo "$(HUB_CORE_REPO)"
interhub-gate:
IHUB_BASE="$(IHUB_BASE)" python3 scripts/interhub-gate-probe.py
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)
IHUB_BASE="$(IHUB_BASE)" \
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