The web UIs for unified-api and unified-gitops, and the shared packages they are built from.
Each tool serves its own UI on its own address: open it in a browser, sign in, and see what it holds and whether it is keeping up. The UIs read the same REST API any other consumer uses and keep no state of their own, and both are built from the same packages, so they look alike.
- One look, every tool: the shell, menu, search, tables, cards and charts live in shared packages
- Thin apps: each app passes only its own words and data; the shared pieces do the rest
- Typed from the API: each app's client is generated from its tool's OpenAPI spec
- No state of its own: everything shown comes from the tool's REST API, read live
- Signs in through the tool: API keys or LDAP accounts, sessions and CSRF on every write
- Permissions respected: a restricted key sees only what it may; admin pages leave the menu
- Light and dark: follows the system, or a choice remembered in this browser
- Search anywhere:
/or Ctrl+K finds configured items by name, then the tool's own objects - Live metrics: charts sampled from
/metricswhile the app is open, the last half hour - Pinned per release: each tool builds a tagged version into its image, nothing to deploy apart
- Tested end to end: Playwright against each app's mocked API, on every pull request
| Document | What it covers |
|---|---|
| Layout | The workspace, the two packages and the apps, and where new code goes |
| Development | Dev server, API types, typecheck, build, end-to-end tests and CI |
| Sign-in | How the UI signs in, sessions and CSRF on writes |
| Demo image | The UI behind nginx, pointed at any instance, and its safety rules |
| Design tokens | The --uu-* variables, light and dark, and the four health states |
| Releasing | Versions, the CHANGELOG, tags, and how a tool picks up a release |
Contributions are welcome: CONTRIBUTING.md covers the PR workflow, commit style, CI gates and design rules.
Security issues: see SECURITY.md for private reporting.