How rhinstaller/anaconda-webui works
Anaconda Web UI is a browser-based installer front end. Users progress through a wizard to configure localization, networking, software and installation source, storage, time zone, and accounts; they review choices and start installation, with progress and error reporting along the way. The UI connects to Anaconda’s module APIs through Cockpit, with storage receiving especially detailed coverage here. The graph includes the principal screens and backend domains from the tree; many unsampled screen-to-screen and API interactions are therefore shown only as unverified links or omitted.
Main entry points: AnacondaWizard.jsx Setup wizard · storage-actions.js Storage actions · Storage.jsx Storage state and planning · storage.js Storage D-Bus client
Components 25
Application shell
- Application entry
src/components/app.jsx - Setup wizard
src/components/AnacondaWizard.jsx - Shared contexts
src/contexts/Common.jsx
Installation setup
- Language and keyboard
src/components/localization/InstallationLanguage.jsx - Network setup
src/components/network/NetworkConfiguration.jsx - Software selection
src/components/software/SoftwareSelection.jsx - Install source
src/components/source/InstallationSource.jsx - Date and time
src/components/datetime/DateAndTime.jsx - User accounts
src/components/users/Accounts.jsx - Configuration review
src/components/review/ReviewConfiguration.jsx
Storage planning
- Storage scenarios
src/components/storage/installation-method/InstallationScenario.jsx - Storage validation
src/components/storage/cockpit-storage-integration/CheckStorageDialog.jsx - Storage review
src/components/storage/StorageReview.jsx - Storage state and planning
src/hooks/Storage.jsx - Storage actions
src/actions/storage-actions.js
Anaconda services
- Storage D-Bus client
src/apis/storage.js - Device tree API
src/apis/storage_devicetree.js - Disk selection API
src/apis/storage_disks_selection.js - Partitioning API
src/apis/storage_partitioning.js - Installer module APIs
src/apis/boss.js
Completion and support
- Installation progress
src/components/installation/InstallationProgress.jsx - Error reporting
src/components/error/Error.jsx - Bug reporting
src/components/error/BugzillaReport.jsx
Other components
- Installer user
- Anaconda services
Connections 36
- Installer user → Application entry: opens
- Application entry → Setup wizard: renders
src/components/app.jsx - Application entry → Shared contexts: provides
src/components/app.jsx - Application entry → Error reporting: renders
src/components/app.jsx - Setup wizard → Shared contexts: uses
src/components/AnacondaWizard.jsx - Setup wizard → Language and keyboard: hosts
- Setup wizard → Network setup: hosts
- Setup wizard → Software selection: hosts
- Setup wizard → Install source: hosts
- Setup wizard → Storage scenarios: hosts
- Setup wizard → Date and time: hosts
- Setup wizard → User accounts: hosts
- Setup wizard → Configuration review: hosts
- Setup wizard → Installation progress: hosts
- Storage scenarios → Storage state and planning: uses
src/components/storage/installation-method/InstallationScenario.jsx - Storage scenarios → Storage actions: dispatches
src/components/storage/installation-method/InstallationScenario.jsx - Storage validation → Storage actions: dispatches
src/components/storage/cockpit-storage-integration/CheckStorageDialog.jsx - Storage validation → Partitioning API: applies storage
src/components/storage/cockpit-storage-integration/CheckStorageDialog.jsx - Storage validation → Disk selection API: reads disks
src/components/storage/cockpit-storage-integration/CheckStorageDialog.jsx - Storage validation → Storage review: renders
src/components/storage/cockpit-storage-integration/CheckStorageDialog.jsx - Storage review → Storage state and planning: reads planned state
src/components/storage/StorageReview.jsx - Storage state and planning → Device tree API: queries device data
src/hooks/Storage.jsx - Storage state and planning → Partitioning API: creates partitioning
src/hooks/Storage.jsx - Storage state and planning → Disk selection API: selects usable disks
- Storage actions → Device tree API: reads device tree
src/actions/storage-actions.js - Storage actions → Disk selection API: reads disk selection
src/actions/storage-actions.js - Storage actions → Partitioning API: reads partitioning
src/actions/storage-actions.js - Storage D-Bus client → Storage actions: dispatches updates
src/apis/storage.js - Device tree API → Storage D-Bus client: calls D-Bus
src/apis/storage_devicetree.js - Disk selection API → Storage D-Bus client: calls D-Bus
src/apis/storage_disks_selection.js - Partitioning API → Storage D-Bus client: calls D-Bus
src/apis/storage_partitioning.js - Storage D-Bus client → Anaconda services: communicates
src/apis/storage.js - Setup wizard → Installer module APIs: initializes modules
src/components/AnacondaWizard.jsx - Installer module APIs → Anaconda services: communicates
- Error reporting → Bug reporting: offers report
src/components/error/Error.jsx - Error reporting → Installation progress: exits or recovers