hyperhive/nix/host-modules
Repository files (latest commit first)
Filename Latest commit message Latest commit date
iris 1bc9c18504 gateway: nginx-hosts the full Swagger UI dist, core drops the fallback
Extends the theme-only alias into the full shape mara asked for on the
PR thread:

1. nix/packages/swagger-ui-dist.nix — plain vendored Swagger UI 5.17.14
   dist, sourced directly from the swagger-ui-dist npm package (same
   release the Rust utoipa-swagger-ui-vendored crate ships, verified
   via matching gitHead commit) rather than through Cargo.lock/cargo.
2. nix/packages/swagger-ui-theme.nix — overlays our 3 override files
   (index.html, hyperhive-theme.css, and now swagger-initializer.js)
   onto (1).
3. vhosts.nix's swaggerUiLocations now prefix-matches the whole
   /api/docs/ tree (not just 2 exact-match files) straight from (2),
   plus a `= /api/docs` redirect shim since hive-c0re's own redirect
   is going away too. /api/openapi.json (outside this prefix) keeps
   proxying to c0re unchanged — that's the one thing that stays
   dynamic.

New file swagger-initializer.js needed hand-verification: the plain
vendored copy hardcodes the swagger.io petstore demo URL.
utoipa-swagger-ui normally rewrites it per-request from a {{config}}
placeholder its own build.rs injects — since hive-c0re won't be
serving this file at all once its SwaggerUi mount is removed, that
rewrite has to be baked in statically here instead. Derived by
actually running build.rs's own two transforms (strip the default
layout: line, splice the Config JSON in place of the url/deepLinking
block) against the real vendored file, not typed from scratch —
verified byte-for-byte against what format_config() would produce for
hive-c0re's actual single-URL config, and checked with node --check.

Coordinated with damocles: he's taking the corresponding hive-c0re
side (drop the utoipa-swagger-ui dependency + SwaggerUi::new(...)
mount, keep only the plain /api/openapi.json route) once this lands.

Verified: nix fmt clean; nix build .#swagger-ui-theme succeeds, output
byte-matches the checked-in override files and node --check passes on
swagger-initializer.js; a full nixosSystem eval of nixosModules.default
resolves both new locations (/api/docs/ aliased to the right store
path, = /api/docs redirecting) with auth threaded through.
2026-08-02 21:24:57 +02:00
..
hive-c0re gateway: nginx-hosts the full Swagger UI dist, core drops the fallback 2026-08-02 21:24:57 +02:00
hive-forge hive-forge: explicitly allow migrations from any domain, not just local networks 2026-08-02 01:54:17 +02:00
hive-gateway gateway: nginx-hosts the full Swagger UI dist, core drops the fallback 2026-08-02 21:24:57 +02:00
lib refactor(#2427): extract shared hive-CA trust bind-mount helper 2026-07-15 20:12:52 +02:00
default.nix refactor(#2862): swarm- prefix for the snapshot store 2026-07-31 19:03:24 +02:00
hive-ci.nix fix(#2673): set nix fallback in agent + CI containers 2026-07-25 19:36:31 +02:00
hive-matrix.nix fix: shared-netns infra containers must not run their own firewall 2026-07-14 00:08:33 +02:00
hive-network.nix feat: hive DNS always follows the host resolver 2026-07-13 22:09:53 +02:00
hive-priv.nix fix(#2573): also add /etc/tmpfiles.d to hive-priv ReadWritePaths (same EROFS class) 2026-07-18 16:39:20 +02:00
hive-tls.nix docs: sweep archaeology comments to present state 2026-07-13 22:16:02 +02:00
hyperhive.nix refactor(#2464): rename hive-ag3nt crate to hive-agent, collapse lib into main 2026-07-15 16:09:39 +02:00
otel.nix refactor: nix/host-modules + nix/agent-modules layout, update doc paths 2026-07-13 22:05:49 +02:00
swarm-snapshot-store.nix refactor(#2862): keep the option at services.hyperhive.snapshotStore 2026-07-31 19:03:24 +02:00
swarm-wireguard.nix refactor(#2862): split the wireguard mesh out of swarm.nix 2026-07-31 19:03:24 +02:00
swarm.nix refactor(#2862): one snapshot store per swarm, not one per peer 2026-07-31 22:15:37 +02:00