summaryrefslogtreecommitdiff
path: root/internal/deploy
diff options
context:
space:
mode:
authorMike Wild <mike@mikeanthonywild.com>2026-08-25 23:04:10 -0500
committerMike Wild <mike@mikeanthonywild.com>2026-08-25 23:04:10 -0500
commit025a365a23f5ed2b3df4df71cbff9689575968d9 (patch)
tree1a1f93de4163a3a452d0dd4ed4499fe2084d2db7 /internal/deploy
parent2a9ca0577ecdbee8b5a4bc8886c112dbc4260eab (diff)
Split per-app dataset into OS/data layers, add skiff rebuild
Each app now gets two ZFS datasets - a disposable OS layer (zroot/skiff/appbase/<app>) cloned from base, and a persistent data layer (zroot/skiff/appdata/<app>) holding releases/current/env/ meta.json/data.db. `skiff rebuild --app|--all` discards and reclones the OS layer to pick up an OS/toolchain/config-template upgrade, guarded by the same snapshot-and-rollback safety net as deploy and config changes; the data layer is never touched. Also fixes stale docs (builds already run via jexec inside the jail, not on the host; --iface already auto-aliases the jail's IP, so the manual ifconfig step and its troubleshooting entry are gone) found while updating the same sections for this feature. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Diffstat (limited to 'internal/deploy')
-rw-r--r--internal/deploy/deploy.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/internal/deploy/deploy.go b/internal/deploy/deploy.go
index 30846ac..8d32613 100644
--- a/internal/deploy/deploy.go
+++ b/internal/deploy/deploy.go
@@ -113,7 +113,7 @@ func Run(ctx context.Context, out io.Writer, cfg layout.Config, app, sha string)
// as the other if it goes wrong, so both are guarded the same way. label
// is used only in the final error message (e.g. "deploy", "config change").
func GuardedApply(ctx context.Context, out io.Writer, cfg layout.Config, app, tag, label string, apply func() error) error {
- dataset := cfg.AppDataset(app)
+ dataset := cfg.AppDataDataset(app)
existing, err := zfsutil.Snapshots(ctx, dataset)
if err != nil {