Skip to content

About

The UIs for Ansible Projects such as AWX, EDA, and HUB.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

114 stars

Watchers

16 watching

Forks

Latest commit

 

History

11,260 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Ansible UI

Source for the Ansible web UI. The supported development path is the Platform UI—the unified application in platform/—which talks to Ansible Jewel. Product-specific workspaces (AWX, Hub, EDA, and shared libraries) live under frontend/ and are composed into that application.

Day-to-day integration happens on the devel branch. Open pull requests against devel.

Getting started

  1. Prerequisites

  2. Clone the repository

    git clone git@github.com:ansible/ansible-ui.git
    cd ansible-ui
  3. Install dependencies

    npm ci
  4. Run Ansible Jewel

    The UI expects a running Jewel instance that serves the unified APIs. Follow the ansible/jewel documentation to stand up a local development environment.

  5. Configure and start the Ansible UI

    export PLATFORM_SERVER='https://localhost:443'  # Jewel API URL (protocol://host:port)
    npm start

    npm start runs the dev server in platform/ (default https://localhost:4100). See platform/README.md for build and container options.

Repository layout

This repository is an npm workspaces monorepo. See WORKSPACES.md for how packages relate to each other.

Path Role
platform/ Platform UI (unified Ansible UI; primary application)
frontend/awx, frontend/hub, frontend/eda Product UI workspaces used by the platform build
frontend/common Shared UI utilities and access components across product workspaces
frontend/chatbot Lightspeed chatbot UI workspace (and other frontend/* workspaces)
packages/* Optional shared npm packages (workspace glob; may be empty)
framework/ Shared PatternFly-based UI framework
playwright/ End-to-end and integration tests

Environment variables

Common variables when running the Ansible UI against a remote or local Jewel instance:

Environment variable Description
PLATFORM_SERVER Jewel API base URL (protocol://host:port, no trailing slash).
PLATFORM_USERNAME Login username for live E2E tests (optional for local dev).
PLATFORM_PASSWORD Login password for live E2E tests (optional for local dev).
AWX_API_PREFIX AWX API prefix when required by Jewel (often /api/controller/v2).
EDA_API_PREFIX EDA API prefix when required by Jewel (often /api/eda/v1).
HUB_API_PREFIX Hub API prefix when required by Jewel (often /api/galaxy).
export PLATFORM_SERVER='https://localhost:443'
export AWX_API_PREFIX='/api/controller/v2'
export EDA_API_PREFIX='/api/eda/v1'

Playwright tests use additional variables; see playwright/Playwright.md.

NPM scripts

From the repository root

Script Description
npm start Start the Platform UI dev server (platform/)
npm test Run eslint, TypeScript, Prettier, and Vitest across workspaces
npm run tsc TypeScript checks
npm run eslint / npm run eslint:fix Lint (all workspaces via nx)
npm run build Production builds

From platform/

Script Description
npm run start Platform UI dev server on port 4100
npm run build Production build (output under platform/dist)
npm run test Workspace-level checks

Documentation

The root README no longer links to legacy deployment-type notes that were removed during the upstream documentation refresh; use architecture and the docs index for supported development and test workflows.

Standalone product UIs (unsupported)

package.json scripts still exist to run individual product workspaces in isolation (for example npm --prefix frontend/awx start on port 4101). These standalone dev servers are not supported in this repository: they are unmaintained, are not validated in CI, and often do not work with Ansible Jewel authentication and RBAC (the unified API layer used by the supported platform/ workflow). Use the Ansible UI workflow above unless you are explicitly working on a dedicated standalone effort.

Script Dev URL (if it starts)
npm --prefix frontend/awx start http://localhost:4101
npm --prefix frontend/hub start http://localhost:4102
npm --prefix frontend/eda start http://localhost:4103

Legacy environment variables such as AWX_SERVER, EDA_SERVER, and HUB_SERVER applied to those flows only.

AI-assisted contributions

This project is primarily human-created. Contributors may use AI-assisted development tools and remain responsible for their work. See AI_POLICY.md and the Ansible community AI policy.

The attribution below describes how AI may appear in contributions to this repository (not that the codebase as a whole was AI-generated):

Code of Conduct

We follow the Ansible Code of Conduct in all our interactions within this project.

If you encounter abusive behavior, please refer to the policy violations section of the Code for information on how to raise a complaint.

Communication

For more information about communication, see the Ansible communication guide.

About

The UIs for Ansible Projects such as AWX, EDA, and HUB.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

114 stars

Watchers

16 watching

Forks

Used by

Contributors

Languages