Skip to content

feat: web UI, LDAP sign-in, topology and host search - #246

Merged
blaipr merged 2 commits into
mainfrom
feat/ldap-login
Oct 25, 2026
Merged

blaipr merged 2 commits into
mainfrom
feat/ldap-login

Conversation

@blaipr

@blaipr blaipr commented Oct 25, 2026

Copy link
Copy Markdown
Member

Everything for 0.34.0 except the version bump. Details are in the CHANGELOG's Unreleased section and the linked docs.

Added

  • Web UI served by unified-api itself (server.ui.assets_dir): the image builds unified-ui v0.1.0 in (UI_REF in docker/Dockerfile) and the bundled config turns it on. Unknown API paths stay a JSON 404, and /metrics is the Metrics page only for a browser asking for HTML. docs/ui.md.
  • LDAP sign-in (server.ui.ldap), with access rules mapping groups or users to admin or restricted scopes. Failed attempts are throttled and every failure takes the same time. LDAP without any API key refuses to start or to reload. docs/ldap-login.md.
  • ?next= on login. server.ui.home sets where a login with no next lands (/ with a UI). Logout passes next on to the login page.
  • GET /api/v1/topology: the federation map, asking peers recursively with per-depth timeouts. Restricted keys see each peer's version only.
  • GET /api/v1/hosts/search: find a host across sources and views from the cache.
  • Routes the UI uses: /auth (who is signed in, CSRF token), /settings, /credentials, /endpoints/{id}/counts. Process metrics (CPU from /proc/self/stat, open files, uptime).

Changed

  • Breaking (image on its bundled config): the UI is on, so / serves it instead of redirecting to Swagger.

Fixed

  • The image can clone the bundled config's projects: /app/projects is now owned by the unprivileged user (it failed with Permission denied, 0.33.0 included).
  • CPU metric counts every thread. session_ttl_seconds is listed as restart-only.

Checks run locally: cargo fmt --check, cargo clippy --all-targets -- -D warnings, cargo test (770 passed), cargo deny check, cargo audit, and the image built and run (UI pages, assets, /metrics negotiation, API 404).

@blaipr
blaipr merged commit 9afef1f into main Oct 25, 2026
6 checks passed
@blaipr
blaipr deleted the feat/ldap-login branch October 25, 2026 03:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant