Commit Graph

325 Commits

Author SHA1 Message Date
kat ac83f3fd65 TODO: actually write tests lol. 2026-04-19 02:07:18 +10:00
kat 244db6a530 cmd/pkgserver/ui_test: implement skipping from DSL 2026-04-19 02:07:18 +10:00
kat 62870d959e cmd/pkgserver/ui_test: add JSON reporter for go test integration 2026-04-19 02:07:18 +10:00
kat 4d76e42f5f cmd/pkgserver/ui_test: implement DSL and runner 2026-04-19 02:07:18 +10:00
kat cbd2eb0b7d cmd/pkgserver/ui_test: add DOM reporter 2026-04-19 02:07:18 +10:00
kat d03095b2ce cmd/pkgserver/ui_test: add basic CLI reporter 2026-04-19 02:07:18 +10:00
maemachinebroke 36ea4df936 cmd/pkgserver: better no results handling 2026-04-18 11:03:55 -05:00
maemachinebroke 4f73062292 cmd/pkgserver: better no results handling 2026-04-18 10:57:04 -05:00
maemachinebroke da00d149bd cmd/pkgserver: finish search implementation 2026-04-18 02:07:52 -05:00
maemachinebroke 0db8da9cba cmd/pkgserver: remove get endpoint count field 2026-04-08 20:26:38 -05:00
maemachinebroke 4ae5468cf6 cmd/pkgserver: search endpoint 2026-04-08 20:26:38 -05:00
maemachinebroke 226b86fe38 cmd/pkgserver: pagination bugfix 2026-04-08 20:26:38 -05:00
cat 23b5d0dd3e 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-04-08 20:26:38 -05:00
maemachinebroke ba06769c5f cmd/pkgserver: add size 2026-04-08 20:26:38 -05:00
cat 28e84f0445 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-04-08 20:26:38 -05:00
cat 51ae9496e9 cmd/pkgserver: look up status by name once
This has far less overhead.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-08 20:26:38 -05:00
cat 3cd8abc451 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-08 20:26:38 -05:00
cat edf4d0d32a 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-08 20:26:38 -05:00
cat 97657ad9fc 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-08 20:26:38 -05:00
cat 81344a1c8a cmd/pkgserver: format get error messages
This improves source code readability on smaller displays.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-08 20:26:38 -05:00
cat 50514edc00 cmd/pkgserver: constant string in pattern
This resolves patterns at compile time.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-08 20:26:38 -05:00
cat 7affd5735a cmd/pkgserver: satisfy handler signature in method
This is somewhat cleaner.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-08 20:26:38 -05:00
cat 0a2d9dbe42 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-08 20:26:38 -05:00
cat 049f212a02 cmd/pkgserver: appropriately mark test helpers
This improves usefulness of test log messages.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-08 20:26:38 -05:00
cat ccecaee7ca cmd/pkgserver: do not omit report field
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-08 20:26:38 -05:00
cat 365602c9b6 cmd/pkgserver: gracefully shut down on signal
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-08 20:26:38 -05:00
cat 85e066ccc4 cmd/pkgserver: specify full addr string in flag
This allows greater flexibility.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-08 20:26:38 -05:00
cat ffe37ae439 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-08 20:26:38 -05:00
cat 222a2aa8b4 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-08 20:26:38 -05:00
cat 29384553bf cmd/pkgserver: do not assume default mux
This helps with testing.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-08 20:26:37 -05:00
cat cb0c652b18 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-08 20:26:37 -05:00
maemachinebroke 5552598bc4 cmd/pkgserver: add sort orders, change pagination rules 2026-04-08 20:26:37 -05:00
maemachinebroke 3db5603e78 cmd/pkgserver: add /status endpoint 2026-04-08 20:26:37 -05:00
maemachinebroke 08d120a84d cmd/pkgserver: minimum viable frontend 2026-04-08 20:26:37 -05:00
maemachinebroke 1ecdcdc243 cmd/pkgserver: api versioning 2026-04-08 20:26:37 -05:00
maemachinebroke e425c3b769 cmd/pkgserver: add get endpoint 2026-04-08 20:26:37 -05:00
maemachinebroke 3d8b89e1ab cmd/pkgserver: add count endpoint and restructure 2026-04-08 20:26:37 -05:00
maemachinebroke b2777de621 cmd/pkgserver: add status endpoint 2026-04-08 20:26:37 -05:00
maemachinebroke 529a641fcd cmd/pkgserver: add createPackageIndex 2026-04-08 20:26:37 -05:00
maemachinebroke 0e34ec3093 cmd/pkgserver: add command handler 2026-04-08 20:26:37 -05:00
maemachinebroke 31b2d5431c cmd/pkgserver: replace favicon 2026-04-08 20:26:37 -05:00
maemachinebroke d6954e6bdb cmd/pkgserver: pagination 2026-04-08 20:26:37 -05:00
maemachinebroke 1cda0d83c3 cmd/pkgserver: basic web ui 2026-04-08 20:26:37 -05:00
cat 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
cat 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
cat 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
cat 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
cat 6907700d67 cmd/dist: set hsu tar header mode bits
Test / Create distribution (push) Successful in 1m15s
Test / Sandbox (push) Successful in 3m1s
Test / Hakurei (push) Successful in 4m5s
Test / ShareFS (push) Successful in 4m14s
Test / Sandbox (race detector) (push) Successful in 5m27s
Test / Hakurei (race detector) (push) Successful in 6m30s
Test / Flake checks (push) Successful in 1m20s
This has no effect, but is nice to have.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-06 23:37:38 +09:00
cat a69273ab2a cmd/dist: replace dist/release.sh
Test / Create distribution (push) Successful in 1m19s
Test / Sandbox (push) Successful in 3m12s
Test / Hakurei (push) Successful in 4m26s
Test / ShareFS (push) Successful in 4m31s
Test / Sandbox (race detector) (push) Successful in 5m46s
Test / Hakurei (race detector) (push) Successful in 7m1s
Test / Flake checks (push) Successful in 1m29s
This is much more robust than a shell script.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-05 23:58:08 +09:00
cat 591a60bac9 internal/pkg: per-cache SCHED_IDLE
Test / Create distribution (push) Successful in 1m19s
Test / Sandbox (push) Successful in 3m11s
Test / Hakurei (push) Successful in 4m22s
Test / ShareFS (push) Successful in 4m27s
Test / Sandbox (race detector) (push) Successful in 5m49s
Test / Hakurei (race detector) (push) Successful in 6m48s
Test / Flake checks (push) Successful in 1m27s
This is cleaner than setting it globally, and is impossible to race.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-03 16:49:34 +09:00