Skip to main content
Version: 3.1.0 (Preview)

Admin React Development

Ambari Admin is a separate React application from the primary ambari-web/latest UI. Its source, package metadata, Vite configuration, and tests are under ambari-admin/src/main/resources/ui/ambari-admin.

Application Boundary

The Admin application owns administration navigation, cluster information, stack/version management, service accounts, auto-start settings, and related admin workflows. The primary Web UI enters it through the authenticated /adminView transition and the server-provided Admin View context.

Views hosted by Ambari remain server-provided applications. An Admin React build does not absorb View packages or replace their iframe resources.

Local Development

Install the dependencies in the Admin application directory and use its package scripts. The Maven ambari-admin module uses the configured Node/npm toolchain, runs the Admin React build, and copies the resulting dist output into target/classes/latest for packaging.

cd ambari-admin/src/main/resources/ui/ambari-admin
npm install
npm run dev
npm run build
npm run lint
npm run test

The development server is useful for UI iteration; a complete deployment check must also verify the packaged server context, proxy root, authentication session, and Admin route transition.

API And Roles

Use the existing Ambari API client and authorization context. Admin screens must preserve server authorization, cluster scope, and the distinction between read-only access and mutations. Do not bypass role checks with local flags or test-only profiles.

Test representative administrator, operator, read-only, missing-cluster, and another-wizard-owner responses. Check direct navigation as well as menu visibility, because an accessible menu is not the complete route authorization contract.

Build Evidence

The Admin package is independent of the primary ambari-web package. Record the exact Admin build and test commands separately from the primary UI checks, and report browser or server-context checks that were not run.