861de12366
cmd/pkgserver: remove get endpoint count field
2026-03-13 20:48:04 -05:00
671124fa3b
cmd/pkgserver: search endpoint
2026-03-13 20:32:19 -05:00
06a74e69d7
cmd/pkgserver: pagination bugfix
2026-03-13 01:01:23 -05:00
0c0013c440
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:43:38 +09:00
c1c9ca7c57
cmd/pkgserver: add size
2026-03-10 15:10:05 -05:00
5e114f3932
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
fb36c54025
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
7011f8a580
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
dac33d7720
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
50649fdbf4
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
91aa21d92d
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
a1b515074e
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
e130443cf4
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
112c32fee2
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
6d925b3d43
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
2ec49a525f
cmd/pkgserver: do not omit report field
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-11 02:03:47 +09:00
ce914abb57
cmd/pkgserver: gracefully shut down on signal
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-11 02:00:55 +09:00
b03ad185de
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
534cac83fb
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
887edcbe48
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:40:25 +09:00
fa9bc70b39
cmd/pkgserver: do not assume default mux
...
This helps with testing.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-11 00:06:12 +09:00
4a63fbbc2a
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
b104ad6e2d
cmd/pkgserver: add sort orders, change pagination rules
2026-03-10 05:18:55 -05:00
469bd1ee99
cmd/pkgserver: add /status endpoint
2026-03-10 04:24:49 -05:00
52a4e5b87d
cmd/pkgserver: minimum viable frontend
2026-03-10 03:32:17 -05:00
35d76c5d2b
cmd/pkgserver: api versioning
2026-03-10 17:28:49 +09:00
dfd3301a33
cmd/pkgserver: add get endpoint
2026-03-09 18:18:51 -05:00
a4ce41ea9a
cmd/pkgserver: add count endpoint and restructure
2026-03-09 15:41:21 -05:00
773e43a215
cmd/pkgserver: add status endpoint
2026-03-09 04:09:18 -05:00
f150e1fdd6
cmd/pkgserver: add createPackageIndex
2026-03-09 01:27:46 -05:00
dec7010c35
cmd/pkgserver: add command handler
2026-03-08 22:28:08 -05:00
69bd88282c
cmd/pkgserver: replace favicon
2026-03-05 01:12:17 -06:00
ca2053d3ba
cmd/pkgserver: pagination
2026-03-05 00:32:25 -06:00
8d0aa1127c
cmd/pkgserver: basic web ui
2026-03-04 22:50:58 -06:00
2c17d1abe0
cmd/mbf: create report with reasonable perm
...
Test / Create distribution (push) Successful in 59s
Test / Sandbox (push) Successful in 2m38s
Test / Hakurei (push) Successful in 3m38s
Test / ShareFS (push) Successful in 3m48s
Test / Sandbox (race detector) (push) Successful in 4m56s
Test / Hakurei (race detector) (push) Successful in 5m51s
Test / Flake checks (push) Successful in 1m32s
Making it inaccessible certainly is not reasonable.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-07 16:16:47 +09:00
0aa459d1a9
cmd/mbf: check for updates concurrently
...
Test / Create distribution (push) Successful in 59s
Test / Sandbox (push) Successful in 2m39s
Test / Hakurei (push) Successful in 3m43s
Test / ShareFS (push) Successful in 3m50s
Test / Sandbox (race detector) (push) Successful in 4m57s
Test / Hakurei (race detector) (push) Successful in 6m0s
Test / Flake checks (push) Successful in 1m36s
Runs much faster this way.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-07 16:05:16 +09:00
6228cda7ad
cmd/mbf: optionally read report in info
...
Test / Create distribution (push) Successful in 1m3s
Test / Sandbox (push) Successful in 2m39s
Test / Hakurei (push) Successful in 3m46s
Test / ShareFS (push) Successful in 3m55s
Test / Sandbox (race detector) (push) Successful in 5m6s
Test / Hakurei (race detector) (push) Successful in 6m3s
Test / Flake checks (push) Successful in 1m28s
This is a useful frontend for the report files before web server is ready.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-07 02:26:35 +09:00
86c336de88
cmd/mbf: cure status report command
...
Test / Create distribution (push) Successful in 32s
Test / Sandbox (push) Successful in 46s
Test / Hakurei (push) Successful in 2m40s
Test / ShareFS (push) Successful in 2m38s
Test / Sandbox (race detector) (push) Successful in 4m57s
Test / Hakurei (race detector) (push) Successful in 5m55s
Test / Flake checks (push) Successful in 1m29s
This emits a report stream for the opened cache into the specified file.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-07 02:20:40 +09:00
80f2367c16
cmd/mbf: merge status and info commands
...
Test / Create distribution (push) Successful in 58s
Test / Sandbox (push) Successful in 2m32s
Test / Hakurei (push) Successful in 3m52s
Test / ShareFS (push) Successful in 4m6s
Test / Sandbox (race detector) (push) Successful in 5m4s
Test / Hakurei (race detector) (push) Successful in 5m55s
Test / Flake checks (push) Successful in 1m24s
This is cleaner, and offers better integration with the work-in-progress report file.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 23:20:00 +09:00
5ea4dae4b8
cmd/mbf: info accept multiple names
...
Test / Create distribution (push) Successful in 59s
Test / Sandbox (push) Successful in 2m33s
Test / Hakurei (push) Successful in 3m38s
Test / ShareFS (push) Successful in 3m47s
Test / Sandbox (race detector) (push) Successful in 4m59s
Test / Hakurei (race detector) (push) Successful in 5m54s
Test / Flake checks (push) Successful in 1m26s
This also improves formatting for use with multiple info blocks.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 23:10:43 +09:00
95ffe0429c
internal/rosa: overridable version check
...
Test / Create distribution (push) Successful in 35s
Test / Sandbox (push) Successful in 1m45s
Test / Hakurei (push) Successful in 2m52s
Test / ShareFS (push) Successful in 2m50s
Test / Sandbox (race detector) (push) Successful in 5m9s
Test / Hakurei (race detector) (push) Successful in 6m13s
Test / Flake checks (push) Successful in 1m35s
For projects with strange versioning practices.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 19:13:55 +09:00
fbd97b658f
cmd/mbf: display metadata
...
Test / Create distribution (push) Successful in 1m0s
Test / Sandbox (push) Successful in 2m35s
Test / Hakurei (push) Successful in 3m37s
Test / ShareFS (push) Successful in 3m48s
Test / Sandbox (race detector) (push) Successful in 5m0s
Test / Hakurei (race detector) (push) Successful in 5m50s
Test / Flake checks (push) Successful in 1m30s
For viewing package metadata before the website is ready.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-05 22:11:26 +09:00
a36b3ece16
internal/rosa: release monitoring via Anitya
...
Test / Create distribution (push) Successful in 1m0s
Test / Sandbox (push) Successful in 2m44s
Test / Hakurei (push) Successful in 3m35s
Test / ShareFS (push) Successful in 3m48s
Test / Sandbox (race detector) (push) Successful in 4m56s
Test / Hakurei (race detector) (push) Successful in 5m53s
Test / Flake checks (push) Successful in 1m30s
This is much more sustainable than manual package flagging.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-05 20:57:05 +09:00
ebdf9dcecc
cmd/mbf: preset status command
...
Test / Create distribution (push) Successful in 1m6s
Test / Sandbox (push) Successful in 2m50s
Test / Hakurei (push) Successful in 3m50s
Test / ShareFS (push) Successful in 4m2s
Test / Sandbox (race detector) (push) Successful in 5m8s
Test / Hakurei (race detector) (push) Successful in 6m9s
Test / Flake checks (push) Successful in 1m42s
This exposes the new OpenStatus cache method.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-05 16:59:47 +09:00
c5089cad78
cmd: remove hpkg
...
Test / Create distribution (push) Successful in 58s
Test / Sandbox (push) Successful in 2m30s
Test / Hakurei (push) Successful in 3m40s
Test / ShareFS (push) Successful in 3m48s
Test / Sandbox (race detector) (push) Successful in 5m3s
Test / Hakurei (race detector) (push) Successful in 5m54s
Test / Flake checks (push) Successful in 1m28s
This proof-of-concept was abandoned long ago. Its test suite is flaky, heavy on I/O and does not increase test coverage. This change fully removes hpkg and supporting code.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-02 13:42:49 +09:00
5694e528e6
cmd/mbf: use standalone musl in container
...
Test / Create distribution (push) Successful in 57s
Test / Sandbox (push) Successful in 2m37s
Test / Hakurei (push) Successful in 3m47s
Test / ShareFS (push) Successful in 3m52s
Test / Hpkg (push) Successful in 4m31s
Test / Sandbox (race detector) (push) Successful in 4m53s
Test / Hakurei (race detector) (push) Successful in 6m1s
Test / Flake checks (push) Successful in 1m52s
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-28 23:12:13 +09:00
c74c269b66
container: use /proc/self/exe directly
...
Test / Create distribution (push) Successful in 57s
Test / Sandbox (push) Successful in 2m30s
Test / Hakurei (push) Successful in 3m47s
Test / ShareFS (push) Successful in 3m51s
Test / Hpkg (push) Successful in 4m26s
Test / Sandbox (race detector) (push) Successful in 4m55s
Test / Hakurei (race detector) (push) Successful in 5m47s
Test / Flake checks (push) Successful in 1m49s
This is a more reliable form of pathname to self and also cheaper than os.Executable.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-28 20:44:44 +09:00
84e6922f30
cmd/mbf: optionally set SCHED_IDLE
...
Test / Create distribution (push) Successful in 1m54s
Test / Sandbox (push) Successful in 3m46s
Test / Hakurei (push) Successful in 5m50s
Test / ShareFS (push) Successful in 6m15s
Test / Sandbox (race detector) (push) Successful in 6m43s
Test / Hpkg (push) Successful in 6m54s
Test / Hakurei (race detector) (push) Successful in 7m54s
Test / Flake checks (push) Successful in 1m50s
None of the other supported policies are applicable here.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-26 16:50:35 +09:00
085eaed7ba
cmd/earlyinit: early /dev/ and io setup
...
Test / Create distribution (push) Successful in 1m1s
Test / Sandbox (push) Successful in 2m47s
Test / Hakurei (push) Successful in 3m55s
Test / ShareFS (push) Successful in 4m1s
Test / Hpkg (push) Successful in 4m27s
Test / Sandbox (race detector) (push) Successful in 5m4s
Test / Hakurei (race detector) (push) Successful in 3m12s
Test / Flake checks (push) Successful in 1m48s
This establishes an environment where devtmpfs is mounted, and if the kernel fails to set up console, 1 and 2 is pointed at /dev/kmsg.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-25 16:37:42 +09:00
2b93631f52
cmd/mbf: use stage2 musl when possible
...
Test / Create distribution (push) Successful in 1m1s
Test / Sandbox (push) Successful in 2m35s
Test / Hakurei (push) Successful in 3m54s
Test / ShareFS (push) Successful in 4m4s
Test / Hpkg (push) Successful in 4m34s
Test / Sandbox (race detector) (push) Successful in 5m4s
Test / Hakurei (race detector) (push) Successful in 5m58s
Test / Flake checks (push) Successful in 1m44s
This avoids pulling in the stage3 toolchain when it is not requested.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-25 01:05:49 +09:00