Commit graph

73 commits

Author SHA1 Message Date
Michal Gold
d448db9a04 Wizard: Refactor Minimum Size input in File system step to use new component
This commit refactors the Minimun size field by replacing HookValidatedInput with the new ValidatedInputAndTextArea component.
It fixes a bug where the error icon remained visible after the user cleared the value in the field.
2025-03-26 10:24:42 -05:00
Michal Gold
399126909c Wizard: Show "Strong" label only for Azure when password meets criteria
Currently, we only want to display the "Strong" label when the password meets the required strength conditions and only if it is Azure target.
This change ensures that the label remains hidden for non-Azure cases.

Let’s just disable it for now until we can decide on further adjustments.
2025-03-21 15:51:32 +01:00
Michal Gold
265ba2ac78 Wizard: Add password validation in User step
This commit adds password validation to the User step:
- Moved password validation logic to a separate `checkPasswordValidity` function, returning detailed results (strength and validation state).
- Simplified validation in `PasswordValidatedInput` by using `checkPasswordValidity` results directly.
- Added dynamic password strength indicator showing success or error based on requirements.
- Integrated environment-specific validation messages (e.g., for Azure).
- Improved code separation between presentation and validation for better maintainability.
- Unit tests: Adds tests for invalid passwords, covering both default and Azure cases.
2025-03-20 13:28:46 +01:00
Michal Gold
6afaf49452 Wizard: Refactor Description input using new component
This commit refactors the Description field by replacing HookValidatedInput with the new ValidatedInputAndTextArea component.
It fixes a bug where the validation icon remained visible after the user cleared the Description field.
2025-03-17 15:48:29 +01:00
regexowl
b68eda9660 Wizard: Replace Object.assign() in validation
This replaces `Object.assign()` method in vaidation functions with separately populated values.
2025-03-14 15:09:58 +01:00
regexowl
5eef2b3f9a Wizard: Fix kernel validation
Kernel validation worked only for one invalid field on the step. Now it is able to validate both.
2025-03-14 15:09:58 +01:00
Anna Vítová
7d6c623ee6 Wizard: add/rm firstboot service based on state
I noticed there is a bug that does not show a relevant list of services
that we create on user's behalf.

How to reproduce:
1. start creating a blueprint with a first boot script
2. go to the review step - the custom-first-boot service is not displayed there, but we are adding it on user's behalf
3. click on "Edit blueprint"
4. go to First boot step and remove the script
5. go to the review step - the custom-first-boot service is displayed
   there, but we will remove it after clicking "edit"
2025-03-13 10:38:56 +01:00
Dominik Vagner
048baffc3f Wizard: add support of upload custom repositories 2025-03-13 08:57:56 +01:00
Michal Gold
12aa5cdf52 Wizard: Refactor hostname and blueprint name inputs
This commit Implement refactor of HookValidatedInput for hostname and blueprint name
fields, addressing the following bugs:

1) Fixes a bug where the validation symbol persisted after a user deleted the value in the hostname field.
2) Fixes a bug where the validation symbol persisted after a user deleted the value in the blueprint name field.

These changes improve code maintainability and provide a more consistent user experience.
2025-03-11 14:42:50 -05:00
regexowl
9fdd6f0b43 Wizard: Add validation to Timezone select
This adds the timezones to the step validation and renders an error when an invalid timezone is imported.

How to test:
1. import a blueprint with invalid timezone "foo"
2. select a target
3. go to Registration step
4. click on "Review and finish" button

Current behaviour:
- the "Create" button is disabled, but when navigating to Timezone step no error is displayed

After update:
- there is an error rendered under the timezone select
2025-03-06 08:46:36 +01:00
Michal Gold
49fa0ee735 Wizard: Refactor HookValidatedInput component
This commit splits the HookValidatedInput component into three separate functions to improve modularity and readability:

- `getValidationState`: Calculates the validation state ('default', 'success', 'error') based on whether the input is pristine and if there is an error message.
- `ValidatedInputAndTextArea`: Renders the TextInput or TextArea component, utilizing the `getValidationState` output.
- `ErrorMessage`: Displays validation error messages.

This refactoring enhances code maintainability and testability, and the updated structure is now implemented for the username field.
2025-03-05 16:07:36 -06:00
regexowl
56e85e0954 Wizard: Add masked services input
This exposes masked services in the UI by adding a masked services input.
2025-02-27 12:46:29 -06:00
regexowl
59e383fe5a Wizard: Remove first boot script from services when no script
There is a bug that makes `custom-first-boot` service stay in services when the first boot script is removed.

How to reproduce:
1. create a blueprint with a first boot script
2. download the blueprint and confirm `custom-first-boot` was added to enabled services
3. click on "Edit blueprint"
4. go to First boot step and remove the script
5. save edited blueprint

Current behaviour:
- `custom-first-boot` service should be still enabled even with the removed first boot script

Updated behaviour:
- `custom-first-boot` is no longer in the blueprint after first boot script got removed
2025-02-26 16:48:32 +01:00
regexowl
609397d411 Wizard: register-later for non-RHEL images
This sets registration type to `register-later` when a non-RHEL distribution is selected.
2025-02-17 14:26:53 +01:00
regexowl
62bbf6d688 Wizard: Add step validation to Locale
This adds step validation to Locale, allowing to properly validate imported values.
2025-02-17 12:49:03 +01:00
regexowl
87d6c57174 Wizard: Fix nav status icon
Status icon rendered only when the step was previously visited, this caused problems with imported blueprints.

How to reproduce a bug:
1. import a blueprint with invalid hostname
2. skip to Review

Current behaviour:
- the Create blueprint button is disabled, but there is no indication of error next to the Hostname step in navigation

After fix:
- the error status should be rendered next to the Hostname nav item
2025-02-13 13:29:36 +01:00
Sanne Raymaekers
76f86c3711 CreateImageWizard: default to major releases on prem
In RHEL, VERSION_ID actually refers to the minor release. Let's strip
the minor component from it until we actually support those explicitly.
2025-02-11 21:17:18 +01:00
regexowl
5cc479115d requestMapper: Fix snapshot date parsing
Regex was wrong, would take "2025-01-01T00:00:00.000Z" even though it's a valid RFC 3339 date.
2025-02-06 09:31:49 +01:00
regexowl
8bafe6cb80 Wizard: Add validation to Systemd services step
This adds validation to ChippingInputs on the Systemd services step.
2025-02-04 15:15:49 +01:00
Michal Gold
2c414fb089 Wizard: remove confirmPassword from Mapper
this commit remove confirmPassword from Mapper because we decide that
this field is not relevant anymore to Users step, and it should remove
from the mapper as well
2025-02-04 14:08:54 +01:00
regexowl
f11ab64262 Wizard: Add validation to ChippingInput
This adds step validation to ChippingInput, allowing to validate imported values.
2025-02-04 11:37:16 +01:00
regexowl
4145157858 Wizard: Add firewall services
This adds firewall services, using the `<ChippingInput>` components. New tests were also added.
2025-01-29 14:48:15 +01:00
Gianluca Zuccarelli
45b83bd4fb CreateImageWizard: initialize on-prem with host arch
Initialize the create image wizard with the host arch for the
on-prem frontend.
2025-01-27 17:03:06 +01:00
Gianluca Zuccarelli
44af2f278b CreateImageWizard: initialize on-prem with host distro
Initialize the create image wizard with the host's distribution for the
on-premise frontend.
2025-01-27 17:03:06 +01:00
Gianluca Zuccarelli
34bf64debc store/cockpitApi: get blueprint endpoint
Create a get blueprint endpoint for the on-prem store.
2025-01-27 17:03:06 +01:00
regexowl
1b21852518 Wizard: Add kernel append input
This adds the kernel append input. New arguments can be added by pressing the "Add" button or hitting Enter after the argument.

The kernel arguments linked to a selected OpenSCAP profile are rendered in a category marked as "Required by OpenSCAP" and are read only.
2025-01-27 13:21:48 +01:00
Michal Gold
7d34d30b08 wizrad: add validation to ssh key field (HMS-5349)
this commit add validation to ssh key field

JIRA: HMS-5349
2025-01-23 14:08:24 +01:00
Michal Gold
25f124077c wizard: add Administrator checkbox to users step (HMS-4903)
this commit add Administrator checkbox to users step
2025-01-21 13:29:25 +01:00
regexowl
30d77faeb5 this commit add validation to name field in Users step 2025-01-21 11:36:33 +01:00
regexowl
bfef28999d Wizard: Add validation for kernel step
This adds validation for the Kernel step.
2025-01-21 08:33:52 +01:00
regexowl
1fce574146 Wizard: Swap kernel name input with drop down
This replaces the kernel name input with a static drop down populated with valid values.
2025-01-21 08:33:52 +01:00
regexowl
c121e5caba Wizard: Add Kernel name input
This adds a kernel name input.
2025-01-21 08:33:52 +01:00
regexowl
563ff04054 Wizard: Parse old snapshot dates when editing
This updates format of the snapshot date when the blueprint with the old format gets edited.
2025-01-20 11:43:40 +01:00
regexowl
4802d08214 Wizard: Firewall ports input
This adds chipping input for ports on the Firewall step.
2025-01-16 11:23:56 -06:00
Anna Vítová
e805c65f81 src: add custom repositories import feature
This allows sharing blueprints cross organizations even with custom
repositories.
2025-01-07 12:11:25 +01:00
regexowl
d77ac55482 Wizard: Skip directly to Review
When clicking "Review and finish" the user skips directly to the Review step and the name of the blueprint gets automatically populated.
2025-01-06 18:22:50 -06:00
regexowl
4af4b56332 this commit adds ssh_key to users step 2025-01-06 13:05:41 +01:00
Michal Gold
d0f2317649 wizard: add user information step (HMS-4903)
This commit introduces the user information step with the following fields:
(*) `userName` field
(*) `password` field
(*) add unit tests for create and edit mode
2024-12-20 12:35:15 -06:00
Lucas Garfield
b4932d6a44 Wizard: Hostname validation
Hostname validation rules can be found in the hostname man pages (`man 5
hostname`). This commit tweaks the hostname validator function so it is
in line with these guidelines by limiting the length to 64 characters
and also updates the error message for invalid hostnames to provide
users with some additional guidance/context when an invalid hostname is
provided.
2024-12-11 12:59:41 -06:00
regexowl
5a514d1d04 Wizard: Add Hostname functionality
This adds a validated hostname input and new tests.
2024-12-11 12:59:41 -06:00
regexowl
ab446c2a36 Wizard: Add timezone structure to store and mapper
This creates structure and actions for the timezone customization in the wizardSlice and requestMapper.
2024-12-06 13:53:56 -06:00
Gianluca Zuccarelli
0d4bb26e0f multiple: check when var is possibly undefined
In cases where a field on an object might be undefined,
rather omit the value than set the field to undefined.
2024-12-06 12:02:34 -06:00
Gianluca Zuccarelli
4125a9cd3b multiple: set pagination defaults
Set pagination defaults, otherwise these might be `undefined`.
2024-12-06 12:02:34 -06:00
regexowl
e4e83d4417 Wizard: Add locale structure to store and mapper
This creates structure and actions for the locale customization in the wizardSlice and requestMapper.
2024-12-05 11:06:11 -06:00
Sanne Raymaekers
c1378a7913 Wizard: Integrate HyperV selection in Azure target options
This determines the generation the image will get registered as in
Azure. V2 supports UEFI and more instance types than V1.
2024-12-04 12:37:23 +01:00
Anna Vítová
b2401afe27 src: add flag to measure on prem import
The flag can be used later to track the usage of on prem import feature.
2024-11-26 13:03:55 +01:00
Sanne Raymaekers
3ada1ceb68 Wizard: RHEL 10 support 2024-11-19 11:21:57 +01:00
Anna Vítová
7c99415822 Wizard: Add bytes to min_size partitioning <HMS-4981> 2024-11-14 11:07:45 +01:00
Sanne Raymaekers
493649f766 Wizard: fix editing RHEL 9 beta blueprints
It would default to RHEL 9 instead of the beta.
2024-10-24 12:00:22 +02:00
regexowl
ba9282b61c src: Resolve circular dependency FileSystemTable <-> FileSystemConfiguration
Nothing got added, nothing got removed. Stuff just got moved around and imports are updated.
2024-10-11 14:55:03 +02:00