aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
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>
2025-04-13app/instance/common: optimise ops allocationOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-04-13fst: improve configOphestra
The config struct more or less "grew" to what it is today. This change moves things around to make more sense and fixes nonsensical comments describing obsolete behaviour. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-04-12fst: check templateOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-04-12app/instance: wrap internal implementationOphestra
This reduces the scope of the fst package, which was growing questionably large. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-04-12app: rename app implementation packageOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>