S15: ns1 deployed; stop sm-leaf before binary replace
Some checks are pending
review / inventory (push) Waiting to run
Some checks are pending
review / inventory (push) Waiting to run
GATE table marked deployed. Historical-Information open items closed. Admin-history seeded; PFC_REQUIRE_NPE left unset.
This commit is contained in:
parent
d9bd1fd175
commit
9ba17747a4
5 changed files with 32 additions and 19 deletions
|
|
@ -62,23 +62,33 @@ Update checkboxes in `TODO.md` as each is done.
|
||||||
1. [x] Historical file committed (this file)
|
1. [x] Historical file committed (this file)
|
||||||
2. [x] Expand `sm-leaf` health HTTP + sm subjects; linux/amd64 build
|
2. [x] Expand `sm-leaf` health HTTP + sm subjects; linux/amd64 build
|
||||||
3. [x] `cicd/deploy-ns1.sh`: test then rsync; never skip tests
|
3. [x] `cicd/deploy-ns1.sh`: test then rsync; never skip tests
|
||||||
4. [ ] Generate Ed25519 config keys **on ns1**; signed config + admin-history
|
4. [x] Generate Ed25519 config keys **on ns1**; signed config + admin-history
|
||||||
5. [ ] Install secure-messaging Python under `/opt/pfc/python/secure_messaging`
|
5. [x] Install secure-messaging Python under `/opt/pfc/python/secure_messaging`
|
||||||
6. [ ] systemd `pfc-sm-leaf.service`; loopback health
|
6. [x] systemd `pfc-sm-leaf.service`; loopback health
|
||||||
7. [ ] Point `pfc-py-admin` PYTHONPATH at secure-messaging; optional signed config
|
7. [x] Point `pfc-py-admin` PYTHONPATH at secure-messaging; optional signed config
|
||||||
8. [ ] Caddy/docs: hub + endpoints HTML/PDF under docs.pfc (docs already partial)
|
8. [x] Caddy/docs: hub + endpoints HTML/PDF under docs.pfc
|
||||||
9. [ ] Smoke: pfc health 200, sm-leaf health, signed config load, PFC tests
|
9. [x] Smoke: pfc health 200, sm-leaf health, signed config load, PFC tests
|
||||||
10. [x] Promote SHA in `cicd/GATE.md`
|
10. [x] Promote SHA in `cicd/GATE.md`
|
||||||
11. [x] Re-run `cicd/run-review.sh`; second doc sync (after ns1)
|
11. [x] Re-run `cicd/run-review.sh`; second doc sync (after ns1)
|
||||||
12. [ ] NPE live: **only if** `/opt/pfc/bin/npe` exists; else leave fail-closed
|
12. [x] NPE live: binary exists at `/opt/pfc/bin/npe`; **`PFC_REQUIRE_NPE` left unset** (bus still lab-xor; fail-closed would take down the console). Cutover remains UserReview.
|
||||||
13. [x] Websites org: no NATS code; inventory remains complete
|
13. [x] Websites org: no NATS code; inventory remains complete
|
||||||
14. [ ] Push all git remotes; close S15
|
14. [x] Push all git remotes; close S15
|
||||||
|
|
||||||
Local review 2026-09-16: PFC 25/25, SM 5/5, Go leaf OK, catalog subjects OK.
|
## ns1 validation (2026-09-16)
|
||||||
Promoted: secure-messaging `f4da7ff`, peergos-for-compliance `2c45603`,
|
|
||||||
admin `c46d494`, nats-service-endpoints `1d01768`. `PFC_REQUIRE_NPE=1` stays unset
|
- Local review: PFC 25/25, SM 5/5, Go leaf OK, catalog subjects OK (twice).
|
||||||
even though `/opt/pfc/bin/npe` exists (bus still lab-xor; fail-closed would
|
- Host: `pfc-py-admin`, `pfc-sm-leaf`, `pfc-connector`, `pfc-peergos-bridge` active.
|
||||||
take down the console).
|
- `GET http://127.0.0.1:18783/health` → `{"ok":true,"service":"sm-leaf"}`
|
||||||
|
- `GET https://pfc.georgelambert.org/health` → 200 (ipfs 200, replication 503 pre-existing)
|
||||||
|
- `GET /v1/admin/config` unauthenticated → 401
|
||||||
|
- Signed wrapper `crypto.mode=lab-xor` `routing.mode=passthrough` verifies on host
|
||||||
|
- Admin-history seq 0 actor `deploy-ns1` has prev + new + unified diff
|
||||||
|
- Host SM tests (signed/tamper, lab-xor, NPE fail-closed, error bundle, history) OK
|
||||||
|
- Docs: `/sync/index.html` 200, `/sync/Historical-Information.MD` 200, `/nats-service-endpoints/` 200 + PDF
|
||||||
|
- Promoted SHAs: secure-messaging `f4da7ff`, peergos-for-compliance `2c45603`,
|
||||||
|
admin `c46d494`, nats-service-endpoints `1d01768`, system-git-sync `c570dc1`/`d9bd1fd`
|
||||||
|
|
||||||
|
**S15 closed.** Remaining UserReview only: NPE cutover, HSM custody, optional `sync.pfc` hostname, website deep-links, replication :8782 503.
|
||||||
|
|
||||||
## Do not
|
## Do not
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -158,6 +158,7 @@ Append-only. Newest at the bottom.
|
||||||
- 2026-09-16 — Python 4/4 tests OK; Go leaf in-process test OK; endpoints PDF 17 pages. ns1: docs-only, no binary deploy.
|
- 2026-09-16 — Python 4/4 tests OK; Go leaf in-process test OK; endpoints PDF 17 pages. ns1: docs-only, no binary deploy.
|
||||||
- 2026-09-16 — S10–S14: PFC admin `GET/POST /v1/admin/config`; NPE fail-closed; cicd/run-review.sh **REVIEW PASS (no deploy)**; Forgejo CI on pfc, admin, docs, endpoints, hub.
|
- 2026-09-16 — S10–S14: PFC admin `GET/POST /v1/admin/config`; NPE fail-closed; cicd/run-review.sh **REVIEW PASS (no deploy)**; Forgejo CI on pfc, admin, docs, endpoints, hub.
|
||||||
- 2026-09-16 — S15: `cicd/deploy-ns1.sh` (tests required), sm-leaf health + `verae.sm.*`, signed lab-xor config + admin-history seed, docs `/sync/` and `/nats-service-endpoints/`. `PFC_REQUIRE_NPE=1` still unset. Websites org untouched.
|
- 2026-09-16 — S15: `cicd/deploy-ns1.sh` (tests required), sm-leaf health + `verae.sm.*`, signed lab-xor config + admin-history seed, docs `/sync/` and `/nats-service-endpoints/`. `PFC_REQUIRE_NPE=1` still unset. Websites org untouched.
|
||||||
|
- 2026-09-16 — S15 closed on ns1: units active, signed_ok, history seq 0, public pfc/docs 200. Replication 503 remains UserReview.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,4 +7,5 @@ Decisions to confirm later. Work continued with guesses in `TODO-With-User.MD`.
|
||||||
3. **Caddy hostname** for this hub (`sync.pfc.georgelambert.org` vs a path under `docs.pfc`). Guess: path `/sync/` under existing docs host after CI.
|
3. **Caddy hostname** for this hub (`sync.pfc.georgelambert.org` vs a path under `docs.pfc`). Guess: path `/sync/` under existing docs host after CI.
|
||||||
4. **verae org** is empty — leave empty unless you want it as the canonical NATS catalog owner instead of `marchon`.
|
4. **verae org** is empty — leave empty unless you want it as the canonical NATS catalog owner instead of `marchon`.
|
||||||
5. **Website org** — no NATS changes. Confirm if any site should deep-link the endpoint catalog.
|
5. **Website org** — no NATS changes. Confirm if any site should deep-link the endpoint catalog.
|
||||||
6. **Admin console that re-signs config** — PFC console vs peergos-compliance-config TUI. Guess: both may call the same Python `signed_config.sign`; PFC console first.
|
6. **Admin console that re-signs config** — PFC console vs peergos-compliance-config TUI. Guess: both may call the same Python `signed_config.sign`; PFC console first. `POST /v1/admin/config` is live; lab login still requires TOTP.
|
||||||
|
7. **Replication backend** on ns1 `:18782`/`:8782` still 503 connection refused (pre-existing; not part of sm-leaf). Confirm whether pfc-repl should be restarted or retired.
|
||||||
|
|
|
||||||
10
cicd/GATE.md
10
cicd/GATE.md
|
|
@ -19,11 +19,11 @@ without operator interruption.
|
||||||
|
|
||||||
| SHA | repo | reviewer | date | ns1 |
|
| SHA | repo | reviewer | date | ns1 |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| f4da7ff44634973e1b32db93c694f6ee47c34e41 | secure-messaging | agent | 2026-09-16 | promote |
|
| f4da7ff44634973e1b32db93c694f6ee47c34e41 | secure-messaging | agent | 2026-09-16 | deployed |
|
||||||
| 2c45603a3e14bbfd6de4e9b065ad43d234e46012 | peergos-for-compliance | agent | 2026-09-16 | promote |
|
| 2c45603a3e14bbfd6de4e9b065ad43d234e46012 | peergos-for-compliance | agent | 2026-09-16 | deployed |
|
||||||
| c46d494 | peergos-for-compliance-admin | agent | 2026-09-16 | promote |
|
| c46d494 | peergos-for-compliance-admin | agent | 2026-09-16 | deployed |
|
||||||
| 1d01768 | nats-service-endpoints | agent | 2026-09-16 | promote |
|
| 1d01768 | nats-service-endpoints | agent | 2026-09-16 | deployed |
|
||||||
| c570dc10fb50973a022fd5eb361c9928cdb8d8f6 | system-git-sync | agent | 2026-09-16 | promote |
|
| c570dc10fb50973a022fd5eb361c9928cdb8d8f6 | system-git-sync | agent | 2026-09-16 | deployed |
|
||||||
|
|
||||||
## Local review
|
## Local review
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,7 @@ fi
|
||||||
echo "=== install on host ==="
|
echo "=== install on host ==="
|
||||||
ssh "$HOST" 'bash -s' << "EOF"
|
ssh "$HOST" 'bash -s' << "EOF"
|
||||||
set -e
|
set -e
|
||||||
|
sudo systemctl stop pfc-sm-leaf || true
|
||||||
sudo cp /tmp/sm-leaf-linux /opt/pfc/bin/sm-leaf
|
sudo cp /tmp/sm-leaf-linux /opt/pfc/bin/sm-leaf
|
||||||
sudo chmod +x /opt/pfc/bin/sm-leaf
|
sudo chmod +x /opt/pfc/bin/sm-leaf
|
||||||
sudo mkdir -p /opt/pfc/python/secure_messaging /opt/pfc/python/admin/pfc_admin /opt/pfc/python/lib
|
sudo mkdir -p /opt/pfc/python/secure_messaging /opt/pfc/python/admin/pfc_admin /opt/pfc/python/lib
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue