max / makenotwork
3 files changed,
+12 insertions,
-21 deletions
| @@ -15,7 +15,6 @@ live in the Syncthing private layer (`_private/infra/`, `_private/deploy`). | |||
| 15 | 15 | | `post-receive` | git remote | Push-to-deploy hook. | | |
| 16 | 16 | | `sandod-backup-fetch.{service,timer}` | Sando host | Daily pull of the prod backup to `/srv/sando/backups/latest.sql.gz` (04:00 UTC). | | |
| 17 | 17 | | `mnw-testnot-seed.{sh,service}` | Sando host | Reset testnot.work to the fabricated example catalog (`--seed-examples`). On-demand, not scheduled. | | |
| 18 | - | | `mnw-testnot-refresh.{sh,service,timer}` | Sando host | Prod-restore refresh of testnot (05:00 UTC). **Superseded by the seed flow; kept for rollback.** | | |
| 19 | 18 | | `sando-update@.service` + `sando-self-update.sh` | Sando host | Self-update: rebuild + restart `sandod` to a target sha. | | |
| 20 | 19 | | `10-sando-update.rules` | Sando host | polkit grant letting the `sando` user start (only) `sando-update@*`. | | |
| 21 | 20 | | `install-companion.sh` | a deploy target | Install a staged companion binary + restart its unit (companion services). | | |
| @@ -146,19 +145,12 @@ sudo install -m 0644 mnw-testnot-seed.service /etc/systemd/system/ | |||
| 146 | 145 | sudo systemctl daemon-reload | |
| 147 | 146 | ``` | |
| 148 | 147 | ||
| 149 | - | Cutover (prod-mirror → example catalog): | |
| 150 | - | ||
| 151 | - | ```sh | |
| 152 | - | sudo /usr/local/bin/mnw-testnot-seed.sh # reseed the box | |
| 153 | - | sudo systemctl disable --now mnw-testnot-refresh.timer # stop the daily prod restore | |
| 154 | - | ``` | |
| 155 | - | ||
| 156 | - | Reset testnot any time afterward: `sudo /usr/local/bin/mnw-testnot-seed.sh` | |
| 148 | + | Reset testnot any time: `sudo /usr/local/bin/mnw-testnot-seed.sh` | |
| 157 | 149 | (or `sudo systemctl start mnw-testnot-seed.service`). | |
| 158 | 150 | ||
| 159 | - | **Rollback** to the prod-mirror flow: `sudo systemctl enable --now | |
| 160 | - | mnw-testnot-refresh.timer` (its units are kept installed), then run | |
| 161 | - | `sudo /usr/local/bin/mnw-testnot-refresh.sh` once to reload from the backup. | |
| 151 | + | The seed flow is the only way testnot gets its data. The prod-restore refresh it | |
| 152 | + | replaced was deleted on 2026-07-22; testnot holds no prod-derived data and there | |
| 153 | + | is no path that puts any there. | |
| 162 | 154 | ||
| 163 | 155 | **Redeploy the binary** (no Sando integration yet — manual): build the release | |
| 164 | 156 | on the Sando host, then over Tailscale SSH as root on the target, copy the |
| @@ -1,9 +1,8 @@ | |||
| 1 | 1 | # One-shot: reset testnot.work to the fabricated example catalog. | |
| 2 | 2 | # | |
| 3 | - | # Replaces the daily mnw-testnot-refresh.timer/.service (prod-restore). The seed | |
| 4 | - | # catalog is fixed, so this is NOT scheduled — run it deliberately on cutover or | |
| 5 | - | # to reset the box: systemctl start mnw-testnot-seed.service (or run the script | |
| 6 | - | # directly). The mnw-testnot-refresh units stay installed, disabled, for rollback. | |
| 3 | + | # The seed catalog is fixed, so this is NOT scheduled — run it deliberately to | |
| 4 | + | # reset the box: systemctl start mnw-testnot-seed.service (or run the script | |
| 5 | + | # directly). | |
| 7 | 6 | # | |
| 8 | 7 | # Needs root on fw13: uses Tailscale SSH (node identity) to reach testnot as root | |
| 9 | 8 | # and drives the reseed there. |
| @@ -1,11 +1,11 @@ | |||
| 1 | 1 | #!/usr/bin/env bash | |
| 2 | 2 | # Reset testnot.work to the fabricated example catalog. | |
| 3 | 3 | # | |
| 4 | - | # This replaces the prod-restore refresh (mnw-testnot-refresh.sh). Instead of | |
| 5 | - | # reloading testnot's database from a production backup — which put real user | |
| 6 | - | # data on the staging box — this reseeds it from the in-repo `--seed-examples` | |
| 7 | - | # flow: a self-contained catalog of fabricated `@example.test` creators and | |
| 8 | - | # public-domain items. testnot then holds no prod-derived data at all. | |
| 4 | + | # Reseeds from the in-repo `--seed-examples` flow: a self-contained catalog of | |
| 5 | + | # fabricated `@example.test` creators and public-domain items. testnot holds no | |
| 6 | + | # prod-derived data at all. This replaced a prod-restore refresh that reloaded | |
| 7 | + | # the database from a production backup, putting real user data on the staging | |
| 8 | + | # box; that path was deleted on 2026-07-22. | |
| 9 | 9 | # | |
| 10 | 10 | # Runs on fw13 (the Sando host, which has tailnet root on testnot via Tailscale | |
| 11 | 11 | # SSH). It stops the app, resets the schema as the postgres superuser (streamed |