a9a95456bb
cmd/pkgserver: pagination bugfix
2026-03-13 01:01:23 -05:00
095505044b
cmd/pkgserver: guard sass/ts behind build tag
...
Packaging nodejs and ruby is an immense burden for the Rosa OS base system, and these files diff poorly.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-12 01:40:04 +09:00
0bb576d59a
cmd/pkgserver: add size
2026-03-10 15:10:05 -05:00
d0329ce8d9
cmd/pkgserver: expose size and store pre-encoded ident
...
This change also handles SIGSEGV correctly in newStatusHandler, and makes serving status fully zero copy.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-11 03:32:09 +09:00
97f02f9d9b
cmd/pkgserver: look up status by name once
...
This has far less overhead.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-11 03:17:56 +09:00
56a791a767
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-03-11 03:06:30 +09:00
148cdcea34
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-03-11 02:52:23 +09:00
bdbe65de07
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-03-11 02:33:34 +09:00
f35a616bef
cmd/pkgserver: format get error messages
...
This improves source code readability on smaller displays.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-11 02:29:27 +09:00
c2a172f839
cmd/pkgserver: constant string in pattern
...
This resolves patterns at compile time.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-11 02:23:43 +09:00
e4133771bc
cmd/pkgserver: satisfy handler signature in method
...
This is somewhat cleaner.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-11 02:18:21 +09:00
6cb3920c14
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-03-11 02:10:40 +09:00
881e4a4c89
cmd/pkgserver: appropriately mark test helpers
...
This improves usefulness of test log messages.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-11 02:04:13 +09:00
12c2f9226f
cmd/pkgserver: do not omit report field
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-11 02:03:47 +09:00
40f0c5e93e
cmd/pkgserver: gracefully shut down on signal
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-11 02:00:55 +09:00
2efad32f31
cmd/pkgserver: specify full addr string in flag
...
This allows greater flexibility.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-11 01:49:42 +09:00
117f938cb8
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-03-11 01:47:49 +09:00
8f473b78ad
cmd/pkgserver: embed internal/rosa metadata
...
This change also cleans up and reduces some unnecessary copies.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-11 01:36:54 +09:00
9d13e845a8
cmd/pkgserver: do not assume default mux
...
This helps with testing.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-10 23:59:16 +09:00
5642cc6386
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-03-10 22:31:59 +09:00
155c632f7b
cmd/pkgserver: add sort orders, change pagination rules
2026-03-10 05:18:55 -05:00
e0f014dc1b
cmd/pkgserver: add /status endpoint
2026-03-10 04:24:49 -05:00
89a2c3aa85
cmd/pkgserver: minimum viable frontend
2026-03-10 03:31:14 -05:00
20b11453a8
cmd/pkgserver: api versioning
2026-03-09 23:41:16 -05:00
2686ddff70
cmd/pkgserver: add get endpoint
2026-03-09 18:18:51 -05:00
01ec86cf5a
cmd/pkgserver: add count endpoint and restructure
2026-03-09 15:41:21 -05:00
907f79efed
cmd/pkgserver: add status endpoint
2026-03-09 04:09:18 -05:00
c7f6f97458
cmd/pkgserver: add createPackageIndex
2026-03-09 01:27:46 -05:00
9676b33cc5
cmd/pkgserver: add command handler
2026-03-08 22:28:08 -05:00
f795f19e6b
cmd/pkgserver: replace favicon
2026-03-05 01:12:17 -06:00
a1930c7d76
cmd/pkgserver: pagination
2026-03-05 00:32:25 -06:00
a7266baeeb
cmd/pkgserver: basic web ui
2026-03-04 22:50:58 -06:00
8e459bf68f
cmd/mbf: test cure all via daemon
...
Test / Create distribution (push) Successful in 1m37s
Test / Sandbox (push) Successful in 5m33s
Test / Hakurei (push) Successful in 9m23s
Test / Sandbox (race detector) (push) Successful in 9m29s
Test / ShareFS (push) Successful in 9m43s
Test / Hakurei (race detector) (push) Successful in 5m33s
Test / Flake checks (push) Successful in 2m5s
This is the daemon equivalent of CureAll in internal/rosa.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-02 02:39:12 +09:00
445d95023b
internal/rosa: global preset flags
...
Test / Create distribution (push) Successful in 1m31s
Test / Sandbox (push) Successful in 5m8s
Test / Hakurei (push) Successful in 7m31s
Test / Sandbox (race detector) (push) Successful in 8m6s
Test / ShareFS (push) Successful in 8m28s
Test / Hakurei (race detector) (push) Successful in 11m8s
Test / Flake checks (push) Successful in 2m41s
These changes preset behaviour globally. Useful for ad hoc workarounds for development or bootstrapping on resource-constrained systems.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-01 03:42:48 +09:00
fc66f0bb47
internal/rosa/llvm: use llvm build system
...
Test / Create distribution (push) Successful in 1m32s
Test / Sandbox (push) Successful in 5m9s
Test / Hakurei (push) Successful in 7m32s
Test / Sandbox (race detector) (push) Successful in 8m0s
Test / ShareFS (push) Successful in 8m22s
Test / Hakurei (race detector) (push) Successful in 11m20s
Test / Flake checks (push) Successful in 2m48s
This removes the multistep bootstrap hack. Stage0 exceptions are also eliminated for a later change to bring the stage0 distribution down to just a bare toolchain, toybox and shell. This change also enables dynamic linking and ThinLTO.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-01 03:36:58 +09:00
021cbbc2a8
cmd/mbf: default daemon socket in cache
...
Test / Create distribution (push) Successful in 1m7s
Test / Sandbox (push) Successful in 2m52s
Test / Hakurei (push) Successful in 3m53s
Test / ShareFS (push) Successful in 4m1s
Test / Sandbox (race detector) (push) Successful in 5m15s
Test / Hakurei (race detector) (push) Successful in 6m26s
Test / Flake checks (push) Successful in 1m23s
This location makes more sense than the current directory.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 19:50:54 +09:00
a4a54a4a4d
cmd/mbf: remove pointless recover
...
Test / Create distribution (push) Successful in 37s
Test / Sandbox (push) Successful in 1m43s
Test / Hakurei (push) Successful in 2m46s
Test / ShareFS (push) Successful in 2m44s
Test / Sandbox (race detector) (push) Successful in 5m25s
Test / Hakurei (race detector) (push) Successful in 6m21s
Test / Flake checks (push) Successful in 1m20s
This used to scrub the cache, and was not fully removed when that became nonviable.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 19:49:01 +09:00
753432cf09
cmd/mbf: optionally wait for cancel
...
Test / Create distribution (push) Successful in 1m4s
Test / Sandbox (push) Successful in 2m45s
Test / Hakurei (push) Successful in 3m57s
Test / ShareFS (push) Successful in 3m57s
Test / Sandbox (race detector) (push) Successful in 5m36s
Test / Hakurei (race detector) (push) Successful in 9m26s
Test / Flake checks (push) Successful in 2m12s
Synchronisation is not needed here during interactive use.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 18:24:11 +09:00
4dcec40156
cmd/mbf: close on cancel completion
...
Test / Create distribution (push) Successful in 1m3s
Test / Sandbox (push) Successful in 2m55s
Test / Hakurei (push) Successful in 3m52s
Test / ShareFS (push) Successful in 3m57s
Test / Sandbox (race detector) (push) Successful in 5m20s
Test / Hakurei (race detector) (push) Successful in 6m29s
Test / Flake checks (push) Successful in 1m21s
Like the previous change, this enables synchronisation on the client side via epoll.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 15:03:52 +09:00
9a274c78a3
cmd/mbf: close on abort completion
...
Test / Create distribution (push) Successful in 1m3s
Test / Sandbox (push) Successful in 2m49s
Test / Hakurei (push) Successful in 3m46s
Test / ShareFS (push) Successful in 3m50s
Test / Sandbox (race detector) (push) Successful in 5m17s
Test / Hakurei (race detector) (push) Successful in 6m24s
Test / Flake checks (push) Successful in 1m19s
This enables synchronisation on the client side via epoll.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 14:53:28 +09: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