aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
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>
2025-07-02hakurei: move container toplevelOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-02cmd/hakurei: move command handlersOphestra
The hakurei command is a bit ugly since it's also used for validating the command package. This alleviates some of the ugliness. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-02sandbox/wl: track generated filesOphestra
This allows the package to be imported. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-02cmd/hakurei: move to cmdOphestra
Having it at the project root never made sense since the "ego" name was deprecated. This change finally addresses it. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-02sandbox: expose seccomp interfaceOphestra
There's no point in artificially limiting and abstracting away these options. The higher level hakurei package is responsible for providing a secure baseline and sane defaults. The sandbox package should present everything to the caller. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-02sandbox/seccomp: import dot for syscallOphestra
This significantly increases readability in some places. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-02sandbox/seccomp: append suffix to opsOphestra
This avoids clashes with stdlib names to allow for . imports. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-02sandbox/seccomp: prepare -> exportOphestra
Export makes a lot more sense, and also matches the libseccomp function. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-02sandbox/seccomp: native rule slice in helpersOphestra
These helper functions took FilterPreset as input for ease of integration. This moves them to []NativeRule. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-02sandbox/seccomp: native rule type aliasOphestra
This makes it easier to keep API stable. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-01sandbox/seccomp: resolve rules nativelyOphestra
This enables loading syscall filter policies from external cross-platform config files. This also removes a significant amount of C code. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-01sandbox/seccomp: extra constantsOphestra
These all resolve to pseudo syscall numbers in libseccomp, but are necessary anyway for other platforms. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-01sandbox/seccomp: implement syscall lookupOphestra
This uses the Go map and is verified against libseccomp. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-07-01sandbox/seccomp: wire extra syscallOphestra
These values are only useful for libseccomp. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-06-30sandbox/seccomp: emit syscall constantsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-06-26treewide: switch to hakurei.appOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-06-26sandbox/seccomp: syscall name lookup tableOphestra
The script is from Go source of same name. The result is checked against libseccomp. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-06-25treewide: reapply clang-formatOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-06-25release: 0.0.2Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-06-25cmd/planterette: remove hsu special caseOphestra
Remove special case and invoke hakurei out of process. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-06-25workflows: port release workflow to githubOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-06-25workflows: port test workflow to githubOphestra
This is a much less useful port of the test workflow and runs much slower due to runner limitations. Still better than nothing though. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-06-25release: 0.0.1Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-06-25treewide: rename to hakureiOphestra
Fortify makes little sense for a container tool. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-06-18dist: move comp to distOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-06-18treewide: switch to clang-formatOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-06-08app: share runtime dirOphestra
This allows apps with the same identity to access the same runtime dir. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-06-08nix: deduplicate home-manager mergingOphestra
This becomes a problem when extraHomeConfig defines nixos module options. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-06-07nix: go generate in src derivationOphestra
This saves the generated files in the nix store and exposes them for use by external tools. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-06-05nix: update flake lockOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-05-26release: 0.4.1Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-05-25nix: use reverse-DNS style id as unique identifierOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-05-25dbus: handle bizarre dbus proxy behaviourOphestra
There is a strange behaviour in xdg-dbus-proxy where if any interface string when stripped of a single ".*" suffix does not contain a '.' byte anywhere, the program will exit with code 1 without any output. This checks for such conditions to make the failure less confusing. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-05-16nix: improve common usabilityOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-05-07nix: update flake lockOphestra
2025-05-07fortify: update help stringsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-04-22nix: update flake lockOphestra
2025-04-16dbus: clean up wrapper implementationOphestra
The dbus proxy wrapper haven't been updated much ever since the helper interface was introduced. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-04-15test: check xdg-dbus-proxy terminationOphestra
This process runs outside the application container's pid namespace, so it is a good idea to check whether its lifecycle becomes decoupled from the application. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-04-13release: 0.4.0Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>