aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2025-08-02update github noticeOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-02release: 0.1.3v0.1.3Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-01app: remount root readonlyOphestra
This does nothing for security, but should help avoid hiding bugs of programs developed in a hakurei container. 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: separate remount from bindOphestra
Remount turns out to be useful in other places. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-01nix: remove nscd coverOphestra
This is a pd workaround that does nothing in the nixos module. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-01hst/container: mount tmpfs via magic src stringOphestra
There's often good reason to mount tmpfs in the container. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-01container/mount: pass tmpfs flagsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-01cmd/hakurei: print autoroot configurationOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-01app: integrate container autorootOphestra
Doing this instead of mounting directly on / because it's impossible to ensure a parent is available for every path hakurei wants to mount to. This situation is similar to autoetc hence the similar name, however a symlink mirror will not work in this case. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-01container: implement autoroot as setup opOphestra
This code is useful beyond just pd behaviour, and implementing it this way also reduces IPC overhead. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-01test/sandbox: check pd behaviourOphestra
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-31cmd/hpkg: rename from planteretteOphestra
Planterette is now developed in another repository, so rename this proof of concept to avoid confusion. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-31test: increase vm memoryOphestra
This hopefully fixes the intermittent failures. 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-29release: 0.1.2v0.1.2Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-29hst: configurable wait delayOphestra
This is useful for programs that take a long time to clean up. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-29container/init: configurable lingering process wait delayOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-29app: integrate interrupt forwardingOphestra
This significantly increases usability of command line tools running through hakurei. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-28app/shim: implement signal handler outcome in GoOphestra
This needs to be done from the Go side eventually anyway to integrate the signal forwarding behaviour now supported by the container package. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-28app/shim: separate signal handler implementationOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-28container: forward context cancellationOphestra
This allows container processes to exit gracefully. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-28container: check cancel signal deliveryOphestra
This change also makes some parts of the test more robust. 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-26container: access test case by index in helperOphestra
This is more elegant and allows for much easier extension of the tests. Mountinfo is still serialised however due to libPaths nondeterminism. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-26nix: update flake lockOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-25container: remove custom cmd initialisationOphestra
This part of the interface is very unintuitive and only used for testing, even in testing it is inelegant and can be done better. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-18container: use more reliable nonexistenceOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-09release: 0.1.1v0.1.1Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-09test/sandbox: add arm64 constantsOphestra
Most of these are differences in qemu. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-09test/sandbox: verify seccomp on all test casesOphestra
This change also makes seccomp hashes cross-platform. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-07test/sandbox: guard on testtool tagOphestra
This tool should not show up when building hakurei normally. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-07test/sandbox/seccomp: remove uselibOphestra
This syscall is not wired on all platforms. This test barely does anything anyway and seccomp is covered by the privileged test instrumentation. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-07container/seccomp: add arm64 constantsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-07container/seccomp: move bpf hashesOphestra
Filter programs are different across platforms. This representation is also much more readable. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-07container/init: fix prctl callOphestra
This is a very silly typo. Luckily has no effect due to an upper layer doing PR_SET_NO_NEW_PRIVS already. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-07container: move capset implementationOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-07container: move syscall constantsOphestra
These aren't missing from all targets. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-07container/seccomp: move personality constantsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-07container/seccomp: cross-platform sysnum cutoffOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-07nix: cross-platform syscall wrapperOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-06container/init: use /proc/self as intermediateOphestra
Setting up via /tmp is okay, /proc/self/fd makes a lot more sense though for reasons described in the comment. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-03add miscellaneous badgesOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-03app: remove split implementationOphestra
It is completely nonsensical and highly error-prone to have multiple implementations of this in the same build. This should be switched at compile time instead therefore the split packages are pointless. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-03release: 0.1.0v0.1.0Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-03treewide: migrate to hakurei.appOphestra
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>
2025-07-02system: move system access packagesOphestra
These packages loosely belong in the "system" package and "system" provides high level wrappers for all of them. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-02hakurei: move container helpers toplevelOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>