generated from coulomb/repo-seed
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:
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user