aboutsummaryrefslogtreecommitdiffhomepage
path: root/container/ops.go
AgeCommit message (Collapse)Author
2025-08-20container/init: split setup ops into individual filesOphestra
This significantly increases readability. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-20container/ops: move Op type to init fileOphestra
This helps with the eventual separation of all setup ops into individual files. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-17container: enforce nonrepeatable autoetc and autorootOphestra
These keep track of some internal state, and they don't make sense to have multiple instances of anyway, so instead of dealing with that, just make them nonrepetable. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-17container: allow additional state between opsOphestra
This is useful for ops that need to be aware of previous instances of themselves. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-14container: export overlay escapeOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-11container: use absolute for pathnameOphestra
This is simultaneously more efficient and less error-prone. This change caused minor API changes in multiple other packages. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-08container/ops: implement overlay opOphestra
There are significant limitations to using the overlay mount, and the implementation in the kernel is quite quirky. For now the Op is quite robust, however a higher level interface for it has not been decided yet. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-03container/path: fhs path constantsOphestra
This increases readability since this can help disambiguate absolute paths from similarly named path segments. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-03container/ops: mount dev readonlyOphestra
There is usually no good reason to write to /dev. This however doesn't work in internal/app because FilesystemConfig supplied by ContainerConfig might add entries to /dev, so internal/app follows DevWritable with Remount instead. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-03container/ops: merge mqueue and dev OpsOphestra
There is no reason to mount mqueue anywhere else, and these Ops usually follow each other. This change merges them. This helps decrease IPC overhead and also enables mounting dev readonly. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-03container/mount: move tmpfs sysroot prefixing to callerOphestra
The mountTmpfs helper is a relatively low level function that is not exposed as part of the API. Prefixing sysroot here not only introduces overhead but is also quite error-prone. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-03container/op: unexport bind resolved source fieldOphestra
This is used for symlink resolution and is only used internally. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-02container/mount: export mount string constantsOphestra
This improves code readability and should also be useful for callers choosing to preserve CAP_SYS_ADMIN. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-01container/ops: expose remount as OpOphestra
This is useful for building a filesystem hierarchy then remounting it readonly. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-01container/mount: pass tmpfs flagsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-01container/ops: use correct flags value in bind stringOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-31container/ops: autoetc implementation to separate fileOphestra
This is not a general purpose setup Op. Separate it so it is easier to find. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-27container: improve doc commentsOphestra
Putting them on the builder methods is more useful. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-03container: move out of toplevelOphestra
This allows slightly easier use of the vanity url. This also provides some disambiguation between low level containers and hakurei app containers. Signed-off-by: Ophestra <cat@gensokyo.uk>