8483d8a005
cmd/pkgserver: look up status by name once
...
This has far less overhead.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-18 11:30:56 -05:00
5bc5aed024
cmd/pkgserver: refer to preset in index
...
This enables referencing back to internal/rosa through an entry obtained via the index.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-18 11:30:56 -05:00
9465649d13
cmd/pkgserver: handle unversioned value
...
This omits the field for an unversioned artifact, and only does so once on startup.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-18 11:30:56 -05:00
33c461aa67
cmd/pkgserver: determine disposition route in mux
...
This removes duplicate checks and uses the more sound check in mux.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-18 11:30:56 -05:00
dee0204fc0
cmd/pkgserver: format get error messages
...
This improves source code readability on smaller displays.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-18 11:30:56 -05:00
2f916ed0c0
cmd/pkgserver: constant string in pattern
...
This resolves patterns at compile time.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-18 11:30:56 -05:00
55ce3a2f90
cmd/pkgserver: satisfy handler signature in method
...
This is somewhat cleaner.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-18 11:30:56 -05:00
3f6a07ef59
cmd/pkgserver: log instead of write encoding error
...
This message is unlikely to be useful to the user, and output may be partially written at this point, causing the error to be even less intelligible.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-18 11:30:56 -05:00
02941e7c23
cmd/pkgserver: appropriately mark test helpers
...
This improves usefulness of test log messages.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-18 11:30:56 -05:00
b9601881b7
cmd/pkgserver: do not omit report field
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-18 11:30:56 -05:00
58596f0af5
cmd/pkgserver: gracefully shut down on signal
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-18 11:30:56 -05:00
02cde40289
cmd/pkgserver: specify full addr string in flag
...
This allows greater flexibility.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-18 11:30:56 -05:00
5014534884
cmd/pkgserver: make report argument optional
...
This allows serving metadata only without a populated report. This also removes the out-of-bounds read on args when no arguments are passed.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-18 11:30:56 -05:00
13cf99ced4
cmd/pkgserver: embed internal/rosa metadata
...
This change also cleans up and reduces some unnecessary copies.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-18 11:30:56 -05:00
6bfb258fd0
cmd/pkgserver: do not assume default mux
...
This helps with testing.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-18 11:30:56 -05:00
b649645189
cmd/pkgserver: create index without report
...
This is useful for testing, where report testdata is not available.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-18 11:30:56 -05:00
3ddba4e21f
cmd/pkgserver: add sort orders, change pagination rules
2026-04-18 11:30:56 -05:00
40a906c6c2
cmd/pkgserver: add /status endpoint
2026-04-18 11:30:56 -05:00
06894e2104
cmd/pkgserver: minimum viable frontend
2026-04-18 11:30:56 -05:00
56f0392b86
cmd/pkgserver: api versioning
2026-04-18 11:30:56 -05:00
e2315f6c1a
cmd/pkgserver: add get endpoint
2026-04-18 11:30:56 -05:00
e4aee49eb0
cmd/pkgserver: add count endpoint and restructure
2026-04-18 11:30:56 -05:00
6c03cc8b8a
cmd/pkgserver: add status endpoint
2026-04-18 11:30:56 -05:00
59ade6a86b
cmd/pkgserver: add createPackageIndex
2026-04-18 11:30:56 -05:00
59ab493035
cmd/pkgserver: add command handler
2026-04-18 11:30:56 -05:00
d80a3346e2
cmd/pkgserver: replace favicon
2026-04-18 11:30:56 -05:00
327a34aacb
cmd/pkgserver: pagination
2026-04-18 11:30:56 -05:00
ea7c6b3b48
cmd/pkgserver: basic web ui
2026-04-18 11:30:56 -05:00
9e752b588a
internal/pkg: drop cached error on cancel
...
Test / Create distribution (push) Successful in 1m3s
Test / Sandbox (push) Successful in 2m45s
Test / Hakurei (push) Successful in 3m47s
Test / ShareFS (push) Successful in 3m54s
Test / Sandbox (race detector) (push) Successful in 5m17s
Test / Hakurei (race detector) (push) Successful in 6m22s
Test / Flake checks (push) Successful in 1m23s
This avoids disabling the artifact when using the individual cancel method. Unfortunately this makes the method blocking.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-18 03:24:48 +09:00
b80ea91a42
cmd/mbf: abort remote cures
...
Test / Create distribution (push) Successful in 1m5s
Test / Sandbox (push) Successful in 2m53s
Test / Hakurei (push) Successful in 3m47s
Test / ShareFS (push) Successful in 3m50s
Test / Sandbox (race detector) (push) Successful in 5m17s
Test / Hakurei (race detector) (push) Successful in 6m21s
Test / Flake checks (push) Successful in 1m15s
This command arranges for all pending cures to be aborted. It does not wait for cures to complete.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-17 22:47:02 +09:00
8d657b6fdf
cmd/mbf: cancel remote cure
...
Test / Create distribution (push) Successful in 1m3s
Test / Sandbox (push) Successful in 2m43s
Test / Hakurei (push) Successful in 3m49s
Test / ShareFS (push) Successful in 3m50s
Test / Sandbox (race detector) (push) Successful in 5m20s
Test / Hakurei (race detector) (push) Successful in 6m19s
Test / Flake checks (push) Successful in 1m22s
This exposes the new fine-grained cancel API in cmd/mbf.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-17 22:00:04 +09:00
dd6a480a21
cmd/mbf: handle flags in serve
...
Test / Create distribution (push) Successful in 1m4s
Test / Sandbox (push) Successful in 2m47s
Test / ShareFS (push) Successful in 3m50s
Test / Sandbox (race detector) (push) Successful in 5m13s
Test / Hakurei (race detector) (push) Successful in 6m27s
Test / Hakurei (push) Successful in 2m38s
Test / Flake checks (push) Successful in 1m21s
This enables easier expansion of the protocol.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-17 20:14:09 +09:00
9036986156
cmd/mbf: optionally ignore reply
...
Test / Create distribution (push) Successful in 1m3s
Test / Sandbox (push) Successful in 2m57s
Test / Hakurei (push) Successful in 3m52s
Test / ShareFS (push) Successful in 4m58s
Test / Sandbox (race detector) (push) Successful in 5m17s
Test / Hakurei (race detector) (push) Successful in 6m29s
Test / Flake checks (push) Successful in 1m47s
An acknowledgement is not always required in this use case. This change also adds 64 bits of connection configuration for future expansion.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-17 16:46:49 +09:00
a394971dd7
cmd/mbf: do not abort cache acquisition during testing
...
Test / Create distribution (push) Successful in 1m15s
Test / Sandbox (push) Successful in 2m59s
Test / Hakurei (push) Successful in 3m58s
Test / ShareFS (push) Successful in 4m7s
Test / Sandbox (race detector) (push) Successful in 5m29s
Test / Hakurei (race detector) (push) Successful in 6m32s
Test / Flake checks (push) Successful in 1m22s
This can sometimes fire during testing due to how short the test is.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-17 02:06:51 +09:00
9daba60809
cmd/mbf: daemon command
...
Test / Create distribution (push) Successful in 1m9s
Test / Sandbox (push) Successful in 2m49s
Test / ShareFS (push) Successful in 4m0s
Test / Sandbox (race detector) (push) Successful in 5m25s
Test / Hakurei (race detector) (push) Successful in 6m27s
Test / Hakurei (push) Successful in 3m53s
Test / Flake checks (push) Successful in 1m25s
This services internal/pkg artifact IR with Rosa OS extensions originating from another process.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-17 02:05:59 +09:00
bcd79a22ff
cmd/mbf: do not open cache for IR encoding
...
Test / Create distribution (push) Successful in 1m7s
Test / Sandbox (push) Successful in 2m52s
Test / Hakurei (push) Successful in 3m55s
Test / ShareFS (push) Successful in 3m56s
Test / Sandbox (race detector) (push) Successful in 5m20s
Test / Hakurei (race detector) (push) Successful in 6m28s
Test / Flake checks (push) Successful in 1m24s
This can now be allocated independently.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-17 01:04:39 +09:00
823575acac
cmd/mbf: move info command
...
Test / Create distribution (push) Successful in 1m0s
Test / Sandbox (push) Successful in 2m45s
Test / Hakurei (push) Successful in 3m47s
Test / ShareFS (push) Successful in 3m44s
Test / Sandbox (race detector) (push) Successful in 5m14s
Test / Hakurei (race detector) (push) Successful in 6m21s
Test / Flake checks (push) Successful in 1m19s
This is cleaner with less shared state.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-16 17:43:52 +09:00
136bc0917b
cmd/mbf: optionally open cache
...
Test / Sandbox (push) Successful in 3m13s
Test / Create distribution (push) Successful in 1m1s
Test / ShareFS (push) Successful in 2m42s
Test / Hakurei (push) Successful in 2m49s
Test / Sandbox (race detector) (push) Successful in 5m6s
Test / Hakurei (race detector) (push) Successful in 6m35s
Test / Flake checks (push) Successful in 1m27s
Some commands do not require the cache. This change also makes acquisition of locked cache cancelable.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-16 15:59:34 +09:00
f7f48d57e9
internal/pkg: pass impure job count
...
Test / Create distribution (push) Successful in 1m6s
Test / Sandbox (push) Successful in 2m58s
Test / Hakurei (push) Successful in 3m56s
Test / ShareFS (push) Successful in 4m6s
Test / Sandbox (race detector) (push) Successful in 5m24s
Test / Hakurei (race detector) (push) Successful in 6m49s
Test / Flake checks (push) Successful in 1m27s
This is cleaner than checking cpu count during cure, it is impossible to avoid impurity in both situations but this is configurable.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-15 15:36:44 +09:00
5b5b676132
internal/rosa/cmake: remove variant
...
Test / Create distribution (push) Successful in 1m21s
Test / Sandbox (race detector) (push) Successful in 9m30s
Test / ShareFS (push) Successful in 9m35s
Test / Sandbox (push) Successful in 3m6s
Test / Hakurei (push) Successful in 4m24s
Test / Hakurei (race detector) (push) Successful in 5m23s
Test / Flake checks (push) Successful in 1m35s
This has no effect outside formatting of name and is a remnant of the old llvm helpers.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-14 02:57:47 +09:00
e97f6a393f
internal/rosa/llvm: migrate runtimes and clang
...
Test / Create distribution (push) Successful in 1m56s
Test / ShareFS (push) Successful in 8m1s
Test / Sandbox (race detector) (push) Successful in 8m31s
Test / Hakurei (race detector) (push) Successful in 9m57s
Test / Sandbox (push) Successful in 2m13s
Test / Hakurei (push) Successful in 3m17s
Test / Flake checks (push) Successful in 1m38s
This eliminates most newLLVM family of functions.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-14 02:07:13 +09:00
ac825640ab
internal/rosa/llvm: migrate musl
...
Test / Create distribution (push) Successful in 2m48s
Test / Sandbox (push) Successful in 6m4s
Test / Hakurei (push) Successful in 7m14s
Test / ShareFS (push) Successful in 7m23s
Test / Sandbox (race detector) (push) Successful in 9m34s
Test / Hakurei (race detector) (push) Successful in 4m2s
Test / Flake checks (push) Successful in 1m33s
This removes the pointless special treatment given to musl.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-14 00:35:42 +09:00
a7f7ce1795
internal/rosa/llvm: migrate compiler-rt
...
Test / Create distribution (push) Successful in 1m24s
Test / Sandbox (push) Successful in 3m33s
Test / Hakurei (push) Successful in 6m17s
Test / ShareFS (push) Successful in 6m14s
Test / Hakurei (race detector) (push) Successful in 8m34s
Test / Sandbox (race detector) (push) Successful in 5m39s
Test / Flake checks (push) Successful in 1m40s
The newLLVM family of functions predate the package system. This change migrates compiler-rt without changing any resulting artifacts.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-14 00:19:33 +09:00
86eacb3208
cmd/mbf: checksum command
...
Test / Create distribution (push) Successful in 1m19s
Test / Sandbox (push) Successful in 3m16s
Test / Hakurei (push) Successful in 4m36s
Test / ShareFS (push) Successful in 4m43s
Test / Sandbox (race detector) (push) Successful in 5m55s
Test / Hakurei (race detector) (push) Successful in 7m11s
Test / Flake checks (push) Successful in 1m31s
This computes and encodes sha384 checksum of data streamed from standard input.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-13 03:09:21 +09:00
560cb626a1
hst: remove enablement json adapter
...
Test / Create distribution (push) Successful in 1m2s
Test / Sandbox (push) Successful in 2m46s
Test / Hakurei (push) Successful in 3m48s
Test / ShareFS (push) Successful in 3m49s
Test / Sandbox (race detector) (push) Successful in 5m11s
Test / Hakurei (race detector) (push) Successful in 6m20s
Test / Flake checks (push) Successful in 1m23s
The go116 behaviour of built-in new function makes this cleaner.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-10 20:47:30 +09:00
c33a6a5b7e
hst: optionally reject insecure options
...
Test / Create distribution (push) Successful in 1m31s
Test / Sandbox (push) Successful in 3m35s
Test / Hakurei (push) Successful in 4m43s
Test / ShareFS (push) Successful in 4m49s
Test / Sandbox (race detector) (push) Successful in 5m59s
Test / Hakurei (race detector) (push) Successful in 7m13s
Test / Flake checks (push) Successful in 1m30s
This prevents inadvertent use of insecure compatibility features.
Closes #30 .
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-10 19:34:02 +09:00
b0ba165107
cmd/sharefs: group-accessible permission bits
...
Test / Create distribution (push) Successful in 1m16s
Test / Sandbox (push) Successful in 3m17s
Test / Hakurei (push) Successful in 4m21s
Test / ShareFS (push) Successful in 4m30s
Test / Sandbox (race detector) (push) Successful in 5m43s
Test / Hakurei (race detector) (push) Successful in 6m48s
Test / Flake checks (push) Successful in 1m28s
This works around the race in vfs via supplementary group.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-08 16:14:47 +09:00
351d6c5a35
cmd/sharefs: reproduce vfs inode file attribute race
...
Test / ShareFS (push) Successful in 46s
Test / Sandbox (race detector) (push) Successful in 53s
Test / Sandbox (push) Successful in 55s
Test / Hakurei (push) Successful in 1m1s
Test / Hakurei (race detector) (push) Successful in 1m0s
Test / Create distribution (push) Successful in 1m11s
Test / Flake checks (push) Successful in 1m28s
This happens in the vfs permissions check only and stale data appears to never reach userspace.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-08 15:51:36 +09:00
f23f73701c
cmd/mbf: optional host abstract
...
Test / Create distribution (push) Successful in 1m30s
Test / Sandbox (push) Successful in 3m25s
Test / Hakurei (push) Successful in 4m28s
Test / ShareFS (push) Successful in 4m29s
Test / Sandbox (race detector) (push) Successful in 5m47s
Test / Hakurei (race detector) (push) Successful in 6m54s
Test / Flake checks (push) Successful in 1m23s
This works around kernels with Landlock LSM disabled. Does not affect cure outcome.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-07 18:15:49 +09:00
062edb3487
container: remove setup pipe helper
...
Test / Create distribution (push) Successful in 1m20s
Test / Sandbox (push) Successful in 3m10s
Test / Hakurei (push) Successful in 4m24s
Test / ShareFS (push) Successful in 4m34s
Test / Sandbox (race detector) (push) Successful in 5m46s
Test / Hakurei (race detector) (push) Successful in 6m53s
Test / Flake checks (push) Successful in 1m30s
The API forces use of finalizer to close the read end of the setup pipe, which is no longer considered acceptable. Exporting this as part of package container also imposes unnecessary maintenance burden.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-07 16:05:33 +09:00