catalog: lifecycle field replaces the retired/ directory move
Moving a template out of templates/ un-offers it but also makes the controller's orphan detector see it as GONE for anyone already running the app - flagging their working install Elavult with a Torles button. Withdrawing an app must never take a working app away from a customer. Optional lifecycle: available|hidden|abandoned in .felhom.yml instead. plant-it returns to templates/ as the first abandoned app; retired/ removed. Resolvability gate skips (and reports) non-available apps.
This commit is contained in:
@@ -36,6 +36,12 @@ deployed `app.yaml` (customer secrets) is never overwritten. Full deploy details
|
||||
run at the start of every catalog campaign and before any publish train that vouches the catalog.
|
||||
Needs network + `docker`; unauthenticated Docker Hub throttles a full sweep, so `docker login`
|
||||
first or expect exit 2. It reports a throttle as INCONCLUSIVE, never as a dead image.
|
||||
- **Retiring an app**: `git mv templates/<app> retired/<app>` (see `retired/README.md`) — the sync
|
||||
discovers apps by directory, so this un-offers it while keeping it revivable. Sync never removes a
|
||||
stack dir it already copied, so retirement freezes the app on existing boxes rather than deleting it.
|
||||
- **Taking an app out of circulation — use `lifecycle:`, never a directory move.** `.felhom.yml`
|
||||
gains an optional `lifecycle:` field: `available` (default; absent/empty means this), `hidden`
|
||||
(not offered for new installs, no explanation owed), `abandoned` (upstream stopped developing it —
|
||||
not offered for new installs, and every box already running it shows a permanent "Nem karbantartott"
|
||||
notice). **Deployed instances keep working in full either way** — the state affects what is
|
||||
OFFERED, never what already runs, and the controller REFUSES a deploy of a non-available template
|
||||
server-side. An unknown value degrades to `available` with one WARN, so a typo can never brick a
|
||||
template. This supersedes the short-lived `retired/` directory move, which was wrong: removing a
|
||||
template orphans every customer already running it.
|
||||
|
||||
Reference in New Issue
Block a user