Commit graph

284 commits

Author SHA1 Message Date
Sanne Raymaekers
90f7ce111a Wizard: Fix bulk select on repositories step
Don't select repositories that are disabled.
2024-07-31 16:30:01 +02:00
Sanne Raymaekers
4ebd0cec36 Wizard: disable non-snapshot repositories when needed
If a snapshot date is selected, all repositories need to have
snapshotting enabled.
2024-07-29 14:32:09 +02:00
Ondrej Ezr
dbfa934b38 Firstboot: validate shebang is defined 2024-07-26 11:57:24 +02:00
regexowl
6e138b5274 lint: Fix linting error 2024-07-26 10:49:36 +02:00
Simon Steinbeiss
3b83a6a72b wizard/registration: Add missing article (typo) 2024-07-26 10:49:36 +02:00
Jakub Rusz
3fe703e60f Fix typo in Snapshot step
Not actually a radio.
2024-07-25 17:01:53 +02:00
regexowl
4fb37c187e src: Rename "V2" folders to just Wizard
This replaces all occurences of "CreateImageWizardV2" with just "CreateImageWizard" as it is the only version now.
2024-07-17 11:17:06 +02:00
Ondrej Ezr
5fcc80d2db Wizard: Drop the WizardV1 2024-06-19 09:10:22 +02:00
regexowl
45a42ce549 src: Migrate remaining files to TypeScript
This migrates remaining JavaScript files to TypeScript and updates imports.
2024-06-06 08:38:41 +02:00
regexowl
813c06c5bd Utilities: Migrate remaining files to TypeScript
This migrates remaining JavaScript files in Utilities to TypeScript.
2024-05-03 15:04:45 +02:00
regexowl
e9d28498e1 constants: Move URLs to constants
Fixes #1923

This moves all URLs from code to constants.
2024-04-26 15:54:46 +02:00
mgold1234
1b39c30dc2 wizard/oscap: update the oscap step to latest specifications
Before, in the Oscap step, the drop down select menu was only listing profile_ids
Now, it shows the profiles names. When the user selects one, the details about the
profile are displayed under the selection, improving user experience.

FIXES# HMS-3087
2024-01-04 13:38:27 +01:00
regexowl
fd30e5b634 Wizard: Add release lifecycle charts
This adds information about release lifecycle to the Image Output step of the Wizard. Summary is also shown on the Review step.
2023-12-07 19:39:58 +01:00
Sanne Raymaekers
31d286aac3 test/CreateImageWizard: Test compose requests sent by wizard 2023-12-01 13:11:07 +01:00
Lucas Garfield
223be1f3fd Update src/Components/CreateImageWizard/steps/fileSystemConfiguration.js
Co-authored-by: Klara Simickova <49452678+regexowl@users.noreply.github.com>
2023-11-29 12:52:48 +01:00
lucasgarfield
f5039dea3c Wizard: Fix HMS-2036, bug in file system customization steps
Information about automatic partioning was also being displayed when
manual partioning was selected. This commit fixes the bug.
2023-11-29 12:52:48 +01:00
regexowl
1fc0aca5b2 Wizard: Activation key management link based on env
The "Activation keys page" link on the Registration step previously led to prod from both prod and stage envs.

This fixes the problem and ensures that the button in stage links to the activation key management in stage and the prod one to prod.
2023-11-24 15:28:51 +01:00
Amir Fefer
16cf421c68 feat(HMS-2789): simplfy activation key creation 2023-11-23 16:19:07 +01:00
Thomas Lavocat
938340b360 wizard: allow the creation of aarch64 images
This commit extends the supported architectures to aarch64. In the image
output step (the first one of the wizard) the user is now faced with a
new select choices to pickup the architecture they want to build.

Now the set of compatible targets to build is dynamically loaded from
the backend and the UX changes what's accessible on the fly depending on
what's the user has been selected.

Refs HMS-1135
2023-10-26 20:07:54 +02:00
Thomas Lavocat
1c1290f7ed oscap: a policy isn't a profile
There was a mixup on our side between what is a profile and what is a
policy. Long story short, a policy a super set of rules including a
profile. For now the wizard is only able to apply profiles and no
policies on images. So let's fix the terminology there.
2023-10-20 10:46:02 +02:00
Thomas Lavocat
d60c6cb74b oscap: lock the wizard step behind a feature flag
The oscap feature have been quite eagerly pushed forward and it seems we
went a bit fast with it. To take more time and make sure all the
stakeholders agree on the way forward the decision was taken to put this
functionality behind a feature flag.

The two feature flags for both stage and prod are there:
* https://insights-stage.unleash.devshift.net/projects/default/features/image-builder.wizard.oscap.enabled (enabled on stage so we can test the feature)
* https://insights.unleash.devshift.net/projects/default/features/image-builder.wizard.oscap.enabled (disabled on prod)
2023-10-19 10:00:44 +02:00
Thomas Lavocat
e8f454a579 packages: load the oscap profile when available
The packages list is now pre populated with the customization packages
asked by the oscap profile the user has selected.

HMS-2077
2023-10-06 16:26:09 +02:00
Thomas Lavocat
7c55190ac3 fsc: load the oscap profile when available.
When the user has selected a profile to customize their distribution,
the FSC step now shows immediately the manual configuration opened up
with the partitions coming from the profile already filled in.

If the user goes back to the Compliance step and changes anything, the
FSC step is going to be reinitialized.

HMS-2077
2023-10-06 16:26:09 +02:00
Thomas Lavocat
3e11639960 wizard: the oscap step is reserved for beta
Do not show the oscap step outside of beta. Only protecting the step
itself is sufficient since the FSC and the Packages steps wont load any
profile data if no entry point allows to get one.

HMS-2077

wizardrecreatebeta
2023-10-06 16:26:09 +02:00
Thomas Lavocat
02a642df19 oscap: add the compliance step to the wizard
This commit adds the Compliance step to the wizard. In this step the
user can select a policy from the list of available policies. Their
image is going to be updated with the necessary changes on the later
steps.

IB and The compliance endpoint are both returning the list of policies a
user has access to. The oscap step computes the intersection of the
policies accessible before showing the select list to the user.

HMS-2077
2023-10-06 16:26:09 +02:00
Adi Abramovich
a890dc5666 wizard: add GCP image sharing options
Adding GCP image sharing option according to the discussion on slack(https://redhat-internal.slack.com/archives/C03AZ0264LW/p1692789579814619) and mocks(https://issues.redhat.com/browse/HMS-2352).

In summary, within our GCP sources, we store the project ID. Images cannot be shared directly with a project ID, but they can be shared with a service account or a Google account. Consequently, to launch instances in GCP, users are not required to provide their Google account; instead, the images should be shared with the provisioning service account. This ensures that the provisioning team has access to the necessary images, as sharing them with individual users would not allow that.

After a thorough discussion, we have collectively decided to introduce an option. This option allows users to exclusively utilize the Launch service without the need to share the image with a Google account.
2023-09-27 13:53:36 +02:00
regexowl
9f5a0af826 Wizard: Update the Repositories step
This updates the Repositories and Review step as per [mocks](https://www.sketch.com/s/d7aa6d29-fca0-4283-a846-09cc5fd10612/a/MyEbDz7).

Repositories with the unavailable or invalid status have a popover that allows for further inspection. The time of the last introspection and the counter of failed attempts was added to the popover, together with the "Go to Repositories" button.

On Recreate the payload repositories are checked against "freshly" fetched list of repositories. In case any of the previously checked repositories is no longer available in content sources an Alert is rendered on both Repositories and Review steps. The unavailable repository is checked, but the checkbox is disabled and the information is dashed out. Since the information about the repository is stored in the Repository type, the only information available to be rendered is the baseurl.

Create image button is also disabled when recreating an image with unavailable repositories.
2023-09-11 10:30:04 +02:00
regexowl
ab1b60ee99 feat(HMS-1491): Fix capitalization on the Register step
This fixes the capitalization on the Review step from "Automatically Register your systems" to "Automatically register your systems".
2023-08-29 12:55:49 +02:00
Ondrej Ezr
b486f44dcb Custom Repositories gate by Feature flag 2023-08-23 15:38:25 +02:00
regexowl
a9dc4f4a14 lint: Fix "assign before exporting" warnings
This fixes all instances which caused the following lint warning: "Assign object/arrow function to a variable before exporting as module default"
2023-08-23 14:54:23 +02:00
Ondrej Ezr
2a8e5a10df Launch button in stable environments
This moves Beta only features to stable environment:
- Sharing Images through Sources
- Launch button

This tries to avoid any refactoring, just moving components from Beta to stable with minimal changes.
2023-08-23 09:27:25 +02:00
lucasgarfield
0de68305c1 Wizard: Update registration step activation key link URL
Fixes HMS-2322: On the Register step of the image build wizard, the link
to "Create and manage activation keys here" should point to
https://console.redhat.com/insights/connector/activation-keys.
2023-08-16 14:31:52 +02:00
mgold1234
7cb3f2d0b6 Wizard: add description field to Details steps 2023-07-28 12:24:25 +02:00
mgold1234
5c1952d8c9 Wizard: change the name of wizard details
This commit change the name of wizard-details to details, to prevent misconfusion with the image-name component
2023-07-26 17:13:42 +02:00
mgold1234
ca2f2f7ba3 Wizard: change the image name
fixes #1196
this commit update the wording on image name step
when user create new image.
2023-07-17 17:05:03 +02:00
regexowl
c4f616763d Wizard: Image name validation
This adds validation of an image name based on a pattern, which was chosen as an intersection of the naming constrains of hyperscalers.

The pattern is based on the one for naming GCP images as those naming guidelines are the most restrictive. With added minimal length restriction of AWS.
2023-07-11 10:39:32 +02:00
Sanne Raymaekers
a5edf0bb75 src: Update doc links
The access.redhat.com documentation moved from
`https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/creating_customized_rhel_images_using_the_image_builder_service/index`
to
`https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/creating_customized_images_by_using_insights_image_builder/index`.
2023-06-30 15:33:50 +02:00
mgold1234
8dbca83c14 googleCloud: Format the text on GCP target
This commit fix the format text when create image
with Google Cloud Platform target
related to issue: https://github.com/RedHatInsights/image-builder-frontend/issues/1195
2023-06-27 14:48:37 +02:00
Lukas Zapletal
9ba6498037 GCP: rename Email label to Principal 2023-06-26 14:25:00 +02:00
lucasgarfield
0fd07f1f74 RTKQ: Add typing to RTKQ hooks in apiSlice
This commit adds typing to the RTK Query hooks. The hooks have been
refactored to be simpler and all custom query functions have been
removed.
2023-06-20 16:36:39 +02:00
lucasgarfield
05b411c241 Wizard: Add 'Refresh' button to repositories step
Users may visit the Repositories service to add or modify repositories
while they are on the repositories step in the wizard. This commit adds
a 'Refresh' button that will refetch the repositories and update the
table so that the user does not have to restart the wizard to view their
modifications.
2023-05-04 14:13:17 +02:00
Sanne Raymaekers
f0679d1196 CreateImageWizard: rename custom- to payload-repositories
To avoid confusion between custom and payload repositories.

Custom repositories will be embedded in the yum config, payload
repositories are used for installing packages.
2023-05-02 14:33:53 +02:00
lucasgarfield
7bca4c7438 LandingPage/ImagesTable/Wizard: Remove all insights global calls
This commit replaces all calls to the insights.chrome global with calls
to the useChrome() hook (or the useGetEnvironment() custom hook that
wraps useChrome()).
2023-04-28 17:07:31 +02:00
lucasgarfield
b2e6e3cf04 Wizard: Use useChrome hook to set beta feature flag
The use of chrome.isBeta is deprecated, the useChrome hook should be
used instead to obtain an isBeta() function. Using the deprecrated
chrome.isBeta pollutes the browser console with warning messages.

This commit replaces the isBeta() helper function with a new custom
hook, useGetEnvironment().

We still sometimes need to know which environment is running outside of
React components, where we cannot call the useChrome() or
useGetEnvironment() hooks. For instance, in the json used to define a
wizard step. Therefore a new isBeta variable has been added to the
form's initialState for use in these cases.
2023-04-28 17:07:31 +02:00
regexowl
79fe46474a Wizard: Update text on Packages and Additional Red Hat packages steps
This removes unnecessary sentences from the description of Packages and Additional Red Hat packages steps. The min and max height of the `DualListSelector` was also updated.
2023-04-26 18:24:28 +02:00
regexowl
876e605a23 Wizard: Ensure unique IDs for buttons
Fixes #1065.

This sets buttons on the Repositories and Additional custom packages steps to `CustomButtons` to ensure buttons in each of the steps have a unique ID.
2023-04-13 13:58:16 +02:00
Ondrej Ezr
065900c0f8 Add sources selection for Azure
Fixes HMS-1511
2023-04-13 13:32:23 +02:00
regexowl
87dc7f8440 Wizard: Update links on File system configuration step
Fixes #1023. This updates the links on the File system configuration step.
2023-03-29 14:28:13 +02:00
lucasgarfield
4c2a410dd7 Wizard: Expose beta features in qa environment
The QE team has requested that all beta features be exposed in the
ephemeral environment (insights.chrome.getEnvironment() === 'qa').
2023-03-28 09:26:13 +02:00
Sanne Raymaekers
724668a3a4 CreateImageWizard: add org id in activation key popover 2023-03-08 16:45:31 +01:00