Commit graph

80 commits

Author SHA1 Message Date
regexowl
ba4b45c4cd Wizard: Removed nav status override
The override for registration step nav status got removed as it allowed user to continue without selected activation key.
2025-04-08 18:03:49 +02:00
Anna Vítová
a4034e8787 Wizard: add satellite registration, add jwt-decode
The jwt decode dependency helps us to keep track of the token that is
present in the Satellite command. jwt-decode is the most popular
dependency for the job, and very easy to use.
2025-04-03 09:46:41 +02:00
Ondřej Budai
11d36f4d6c Wizard: show a specific error message when description validation fails
Prior to this commit, the wizard showed "Invalid description" when
the description was too long. This was rather unhelpful for users.

The actual size check happens in validators.ts, but the functions there
just return a boolean value, even if they check for multiple criteria.

I'm not entirely sure, why the validation functions live in a separate
file, so I decided to move this specific condition to useValidation.tsx
so the condition, and the relevant user-facing error message can be
defined next to each other.
2025-04-02 09:50:44 +02:00
Michal Gold
978237bf84 Wizard: Fix blueprint name update on Architecture/Distribution changes
This commit resolves an issue where the blueprint name did not update when the user changed the Architecture or Distribution.
Additionally, it sets an initial value for blueprintName in the WizardSlice.
2025-03-31 16:10:05 -05:00
regexowl
019faf0ff9 Wizard: Remove if (!value) check from validators
This removes check for whether the value is defined from validators and moves it to the place the validator is called where needed.
2025-03-31 12:53:42 -05:00
regexowl
5ccc6622d9 Wizard: Remove strength indicator
This completely removes strength indicator as it includes the same information as the second Azure password helper text.
2025-03-31 15:25:38 +02:00
Michal Gold
02a3673fcc remove unused component 2025-03-26 10:24:42 -05:00
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