aboutsummaryrefslogtreecommitdiffhomepage
path: root/cmd/fpkg
AgeCommit message (Collapse)Author
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-25treewide: rename to hakureiOphestra
Fortify makes little sense for a container tool. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-05-16nix: improve common usabilityOphestra
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-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>
2025-04-11fst: rename device fieldOphestra
Dev is very ambiguous. Rename it here alongside upcoming config changes. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-04-08sandbox/seccomp: rename flag type and constantsOphestra
The names are ambiguous. Rename them to make more sense. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-04-07app: improve shim process managementOphestra
This ensures a signal gets delivered to the process instead of relying on parent death behaviour. SIGCONT was chosen as it is the only signal an unprivileged process is allowed to send to processes with different credentials. A custom signal handler is installed because the Go runtime does not expose signal information other than which signal was received, and shim must check pid to ensure reasonable behaviour. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-31fst: optional configured shell pathOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-25app: merge shim into app packageOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-25system: optimise string formattingOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-25app: run in native sandboxOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-17sandbox: move out of internalOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-17sandbox: wrap fmsg interfaceOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-17seccomp: install output atomicallyOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-14seccomp: move out of helperOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-13internal/app: rename init to init0Ophestra
This makes way for the new container init. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-09helper/proc: expose setup fileOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-07internal/prctl: rename prctl wrappersOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-28nix: increase nixfmt max widthOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-26cmd/fpkg: call app in-processOphestra
Wrapping fortify is slow, painful and error-prone. Start apps in-process instead. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-26cmd/fpkg/test: nixos test fpkg install/startOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-26cmd/fpkg/build: expose nixos configurationOphestra
This should be used sparingly as the NixOS closure is in the bootstrap store which compresses rather poorly. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-26cmd/fpkg: use fortify path from internalOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-25cmd/fpkg/build: run final build step in nixOphestra
This used to be a script that had to be run outside of nix because the sandbox disallows access to nix store state. Turns out closureInfo is the proper way to do that. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23cmd/fpkg: integrate command handlerOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23cmd/fpkg/build: prepend extra nix flagsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-21cmd/fpkg: rename buildPackage fileOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-21cmd/fpkg: rename shell to shellPathOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-17system: move out of internalOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-16fmsg: implement suspend in writerOphestra
This removes the requirement to call fmsg.Exit on every exit path, and enables direct use of the "log" package. However, fmsg.BeforeExit is still encouraged when possible to catch exit on suspended output. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-22cmd/fpkg: expose syscall policy optionsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-18proc: remove duplicate compile-time fortify referenceOphestra
This is no longer needed since shim and init are now part of the main program. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-01-17proc/priv/shim: merge shim into main programOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-30cmd/fpkg/install: deduplicate nix storeOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-30cmd/fpkg: expose nixGL wrappersOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29cmd/fpkg: remove workDir acl from activationOphestra
Activation does not require access to workDir, and by this point all information is available in dataHome. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29cmd/fpkg: include nixGL source in inner storeOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29cmd/fpkg: optional network access when invoking with nix daemonOphestra
This is useful for building nixGL. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29cmd/fpkg: bind and document more gpu devicesOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29cmd/fpkg: improve readability of fortify invocationsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29cmd/fpkg: compare all three store pathsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29cmd/fpkg: clean up broken links before activationOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-29cmd/fpkg/start: correct drop to shell wordingOphestra
Activation no longer happens during application startup. Signed-off-by: Ophestra <cat@gensokyo.uk>
2024-12-26cmd/fpkg: app bundle helperOphestra
This helper program creates fortify configuration for running an application bundle. The activate action wraps a home-manager activation package and ensures each generation gets activated once. Signed-off-by: Ophestra <cat@gensokyo.uk>