summaryrefslogtreecommitdiff
path: root/internal/layout/layout.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/layout/layout.go')
-rw-r--r--internal/layout/layout.go13
1 files changed, 12 insertions, 1 deletions
diff --git a/internal/layout/layout.go b/internal/layout/layout.go
index 34edc32..5ac6c26 100644
--- a/internal/layout/layout.go
+++ b/internal/layout/layout.go
@@ -38,8 +38,19 @@ func Default() Config {
}
}
+// AppDataset is the OS layer, cloned from BaseDataset and mounted at
+// JailRoot(app) - the jail's own root. Named "appbase" (not "apps") to
+// read clearly alongside AppDataDataset now that the two are siblings.
func (c Config) AppDataset(app string) string {
- return fmt.Sprintf("%s/apps/%s", c.ZFSPool, app)
+ return fmt.Sprintf("%s/appbase/%s", c.ZFSPool, app)
+}
+
+// AppDataDataset is the persistent data layer, mounted at AppDir(app):
+// releases/, current, env, meta.json, and the app's own data.db. It is a
+// separate dataset from AppDataset so `skiff rebuild` can destroy and
+// reclone the OS layer without touching it.
+func (c Config) AppDataDataset(app string) string {
+ return fmt.Sprintf("%s/appdata/%s", c.ZFSPool, app)
}
func (c Config) JailRoot(app string) string {