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.