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

@@ -1,7 +1,28 @@
## Architecture
<!-- TODO: Describe the key design decisions and component structure.
Key modules, data flows, external integrations, state machines, etc. -->
`ops-hub` is a Python tooling repo that extends Inter-Hub with VSM Operations
(System 1) vocabulary, bootstrap clients, and gate probes. Inter-Hub remains the
generic hub substrate; this repo owns domain-specific seeds, scripts, and library
code.
### Components
| Path | Role |
| --- | --- |
| `src/ops_hub/interhub_gate_probe.py` | Public gate probe for bootstrap API surface |
| `src/ops_hub/bootstrap.py` | Authenticated bootstrap client (plan, dry-run, execute) |
| `scripts/interhub-gate-probe.py` | CLI wrapper for gate probe |
| `scripts/ops-hub-bootstrap-api.py` | CLI wrapper for bootstrap |
| `seeds/` | Manifest, widget, and SQL bootstrap artifacts |
| `docs/` | Runbook, readiness gates, inventory handoff |
| `workplans/` | ADR-001 work source of truth |
### External integrations
- **Inter-Hub** (`https://hub.coulomb.social`) — hub rows, manifests, widgets, events
- **State Hub** — workstream/task cache rebuilt from workplan files
- **OpenBao** — operator and runtime API key custody (`warden access --exec`)
- **ops-warden** — SSH cert issuance and credential routing only
## Quick Reference

View File

@@ -2,7 +2,10 @@
This repo owns **ops-hub** only. It does not own:
<!-- TODO: List what belongs in adjacent repos, e.g.:
- SSH key management → railiance-infra/
- State hub code → state-hub/
-->
- Generic Inter-Hub framework, API substrate, auth → `inter-hub/`
- State Hub workstream/task/decision implementation → `state-hub/`
- SSH CA, credential routing catalog, bootstrap SSH envelope → `ops-warden/`
- OpenBao mounts, platform secret paths, ESO → `railiance-platform/`
- Cluster desired state, host principals, force-command wrappers → `railiance-infra/`
- HelixForge architecture handoff canon → `helix-forge/` (linked, not duplicated)
- Identity/OIDC/MFA → `key-cape/` / Keycloak

View File

@@ -1,19 +1,27 @@
## Stack
<!-- TODO: Fill in language, frameworks, and key dependencies -->
- **Language:**
- **Key deps:**
- **Language:** Python 3.11+
- **Key deps:** stdlib only (`pyproject.toml` has no runtime dependencies)
- **Layout:** `src/ops_hub/` package, `scripts/` operator CLIs, `tests/` unittest suite
## Dev Commands
```bash
# TODO: Fill in the standard commands for this repo
# Show Makefile targets
make help
# Install dependencies
# Unit tests
make test
# Run tests
# Probe production Inter-Hub bootstrap API gate (no secrets)
make interhub-gate
# Lint / type check
# Plan attended bootstrap (requires IHUB_OPERATOR_KEY_FILE)
make interhub-bootstrap-dry-run IHUB_OPERATOR_KEY_FILE=/path/to/key
# Build / package (if applicable)
# Attended production bootstrap
make interhub-bootstrap IHUB_OPERATOR_KEY_FILE=/path/to/key
# Sync workplan files to State Hub after edits
cd ~/state-hub && make fix-consistency REPO=ops-hub
```