1
0
forked from rosa/hakurei
Commit Graph

374 Commits

Author SHA1 Message Date
cat 2066093343 cmd/app: remove sysfs bind mounts
This should be in common instead.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-20 01:57:55 +09:00
cat 07509b3ba2 cmd/app: additional bind types
This adds optional and device mount points.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-20 01:51:57 +09:00
cat a7485d587a cmd/app: pass user-specified arguments
An extra argument is added to pad out argv0.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-20 01:44:47 +09:00
cat 4892beefc1 cmd/app: optionally override configured command
Useful for multiple applications sharing state.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-20 01:31:07 +09:00
cat ed5cdd38a4 cmd/dist: build hsu separately
This program must be built with cgo disabled, and was missed when migrating build script.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-20 00:59:47 +09:00
cat cb618093d5 hst: optionally disable file placement
This works around stubborn package managers.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-20 00:16:35 +09:00
cat b0b2471c0c cmd/app: include template name in container metadata
This helps disambiguate active mutable containers.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-19 23:36:31 +09:00
cat 344d2b8207 cmd/app: use ROSA_ prefix
This avoids awkward case-insensitive zsh completion.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-19 23:29:51 +09:00
cat 3938e8bce5 cmd/app: multiple template uppers
Having multiple environments is useful, and this was trivial to implement.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-18 03:51:49 +09:00
cat aee15b4f2a cmd/app: common configuration file
Generally useful for shared storage and environment.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-18 02:35:56 +09:00
cat 79342e3053 release: 0.4.4
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-17 21:07:22 +09:00
cat 08112f0b90 hst: optionally cover /run/ early
This works around awkward root permissions.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-17 02:59:48 +09:00
cat e1a1e1e399 cmd/app: use ephemeral overlay root
This replaces autoroot.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-17 02:32:46 +09:00
cat 28e133c298 cmd/app: start application from configuration
This is currently not very usable due to hakurei immutable overlay mount limitations.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-17 01:54:29 +09:00
cat 323dcb2820 cmd/app: high-level app configuration syntax
This replaces the nixos module.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-17 01:50:53 +09:00
cat f46a0370a7 cmd/app: initial container template command
This program is an experimental frontend for cmd/hakurei. This serves as a short-term replacement of the nixos module and a testing environment to implement API useful to planterette.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-16 23:27:50 +09:00
cat c661a3b63a cmd/mbf: migrate shell to enter
This reduces duplicate code. This change also adds resolv.conf to the container.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-10 13:34:44 +09:00
cat f333b8fbd6 cmd/mbf: register binfmt entry for shell
This fixes --arch for shell.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-10 12:51:09 +09:00
cat 928a9f61e9 cmd/hsu: remove parent check
This check serves no real purpose and only makes it more difficult to start containers.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-09 18:08:17 +09:00
cat ce06539eca internal/rosa: expose supported architectures
This information is useful to external tooling and makes a lot more sense in this package than cmd/mbf. This change also fixes non-native artifact resolution during clean.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-09 16:05:04 +09:00
cat f869ff95a1 all: apply modernisers
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-08 14:58:24 +09:00
cat 4ffa20cd3f cmd/mbf: custom azalea path
This enables out-of-tree packaging.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-08 13:42:06 +09:00
cat 38450db74a internal/rosa: access backing storage through fs
This is more versatile than hardcoding the os.Root implementation.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-07 22:08:57 +09:00
cat e8bb5a622d internal/rosa: mirror service via external cache
This provides an authenticated implementation of the external cache.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-07 19:25:11 +09:00
cat 42cea1e7c6 internal/pkg: streaming archive reader/writer
This is much more robust and efficient than the simple buffering implementation for larger files. Allocations happen almost exclusively in WalkDir.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-03 16:00:36 +09:00
cat 83498b5a8a cmd/mbf: keep non-native entries alive
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-02 16:06:04 +09:00
cat 1490b32387 cmd/mbf: garbage collection commands
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-02 13:37:46 +09:00
cat 8b87e0eb76 internal/rosa: annotate blocked updates
These situations, while unfortunate, are inevitable at a larger scale. This change enables annotation and optional hiding of blocked updates.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-30 18:56:55 +09:00
cat 75715f4590 cmd/earlyinit: mount /dev/shm
Required by many programs.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 23:59:48 +09:00
cat 87c3b3663d cmd/earlyinit: improve change message formatting
This is significantly more readable.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 23:51:46 +09:00
cat 6d991f2644 cmd/earlyinit: downgrade target error severity
This happens during coldboot, before reporting gains persistent state.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 18:58:30 +09:00
cat a2cc28f53c cmd/earlyinit: load device drivers
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 18:54:05 +09:00
cat b18f40d974 internal/kobject: pass action kind for range
Useful for handling most uevents.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 17:58:01 +09:00
cat a5d9f76f50 internal/rosa/cmake: use DESTDIR instead of --prefix
Turns out --prefix is deeply broken, and DESTDIR works even when using ninja.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 15:45:58 +09:00
cat 8c7109a2d5 cmd/earlyinit: mount system device
This currently relies on a trusted bootloader to determine the boot device.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 10:37:45 +09:00
cat 689f972976 internal/rosa/package: migrate stage0
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 17:53:05 +09:00
cat b47fa1a214 internal/rosa: IR-curable source override
This creates a tarball in-memory for overriding hakurei-source.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-22 22:24:16 +09:00
cat e231341e48 release: 0.4.3
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-22 02:18:10 +09:00
cat 2a9aa3b400 cmd/dist: include version in release
This makes HAKUREI_VERSION optional during build.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-21 23:37:08 +09:00
cat 0615899e56 internal/rosa: do not register stage0
Nothing can depend on this, so remove it from the namespace.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-21 22:20:01 +09:00
cat 40b33f9fc7 internal/rosa: enforce exclusions
This restores unexported artifact behaviour.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-21 14:48:16 +09:00
cat b482fd4abf internal/rosa: remove global handles
These no longer serve any purpose.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-20 08:15:23 +09:00
cat 656059278d internal/rosa/package: migrate remaining trivial packages
The rest are migrated individually.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-20 05:57:26 +09:00
cat 962b02cf25 internal/rosa/package: migrate kernel
This introduces bindings for extra paths and KnownChecksum, and exposes a passthrough special case.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-19 21:40:15 +09:00
cat 4d60fa5632 internal/rosa: evaluate packages late
This also enables concurrent evaluation.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-19 01:26:21 +09:00
cat 8807cbc730 internal/rosa: create metadata alongside artifact
This enables deferring evaluation of azalea-based packages and fixes the longstanding quirk of version being disjoint from other metadata.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-19 00:44:24 +09:00
cat 682b3a2ce5 internal/rosa: track evaluation time
Useful to track performance regressions over migrations.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-18 22:18:09 +09:00
cat 37df040d85 internal/rosa: evaluate packages from fs
This migrates GNU sed to azalea, and resulting IR matches.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-18 17:54:01 +09:00
cat 3e236333a7 internal/rosa: panic error for invalid handle
This enables recovery and better error handling for errors originating from external azalea files.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-18 00:07:39 +09:00
cat 99b324fb17 cmd/mbf: update pkgserver title text
This makes more sense for its purpose.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-17 18:57:26 +09:00