A single, powerful, and easy-to-use web dashboard for managing OpenStack-based cloud infrastructure — giving operators and developers one UI for compute, storage, networking, identity, and more across projects and regions.
Aurora is a pnpm monorepo orchestrated with Turborepo. It contains one application and several shared packages:
aurora-dashboard/
├── apps/
│ └── aurora-portal/ # The main web application
└── packages/
├── signal-openstack/ # OpenStack API client
├── policy-engine/ # OpenStack policy (oslo.policy) evaluator
└── config/ # Shared TypeScript and ESLint configuration
The portal is a full-stack application with:
- Frontend: React + Vite, served as a SPA
- Backend: Fastify server with tRPC for type-safe API routes
- Auth: OpenStack Keystone session-based authentication
The server acts as a Backend-for-Frontend (BFF), proxying and aggregating OpenStack API calls on behalf of the authenticated user.
A typed OpenStack HTTP client built on undici. Handles authentication tokens, service catalog resolution, session management, and error normalization across OpenStack services (Compute, Network, Storage, Identity, etc.).
An in-browser and server-side evaluator for OpenStack's oslo.policy rule format. Parses policy files and evaluates rules against a request context — enabling fine-grained, OpenStack-native authorization in the UI without additional API roundtrips.
Shared TypeScript compiler and ESLint configurations used across all apps and packages.
- Node.js >= 24
- pnpm >= 9
- Access to an OpenStack environment (Keystone endpoint required — no mock mode available)
pnpm installcp apps/aurora-portal/.env.example apps/aurora-portal/.envEdit .env and set at minimum:
IDENTITY_ENDPOINT="https://<your-keystone-host>/identity/v3/"For a local OpenStack setup, DevStack works. For team access, ask in the project's GitHub Discussions or issues.
pnpm devThe portal starts at http://localhost:4005 by default.
pnpm buildpnpm testThis project uses Semantic Release for automated versioning and changelog generation based on conventional commits.
See docs/semantic_release.md for full details.
Feature requests, bug reports, and contributions are welcome via GitHub issues. See CONTRIBUTING.md for contribution guidelines.
If you find a security bug, follow our security policy. Do not open GitHub issues for security problems.
By participating in this project, you agree to abide by the Code of Conduct.
Copyright 2026 SAP SE or an SAP affiliate company and aurora-dashboard contributors. Please see our LICENSE for copyright and license information. Detailed information including third-party components and their licensing/copyright information is available via the REUSE tool.