Commit graph

463 commits

Author SHA1 Message Date
mgold1234
262ac6d3be ImagesTable: fix grey box under AMI when image build is in progress
Previously a Skeleton component was used as a placeholder for an AMI when the build was still pending.
This removes the Skeleton and returns undefined rendering the AMI as empty.
2024-01-03 08:51:14 +01:00
regexowl
b427c1a310 Wizard/test: Remove unused variables
This removes unused variable from the code.
2023-12-19 09:17:01 +01:00
Thomas Lavocat
888630acea wizard: remove unused code from the implementation
There were some leftovers that needs to be removed. This commit simply
cleans them up.
2023-12-13 16:36:21 +01:00
regexowl
014a0c1d70 Wizard: Add description to RHEL release options
This adds a description to RHEL options in the Release select on Image Output step as per mocks.
2023-12-07 19:39:58 +01:00
regexowl
f6d1b12b3c Wizard: Add annotation for current date
This adds a line annotation to mark the current date.
2023-12-07 19:39:58 +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
2b29275c2a CreateImageWizard: move oci to stable
Move the oracle cloud infrastructure PR to stable.
2023-12-07 17:01:51 +01:00
regexowl
3e07472826 Wizard/ImagesTable/test: Change "VMWare" to "VMware"
The "w" in VMware should be lower case, this updates it in all places.
2023-12-05 13:20:42 +01:00
Sanne Raymaekers
cea1caf175 CreateImageWizard: proprely gate WSL images
`isBeta` is a function, so the check would also return true in stable.
2023-12-04 15:06:28 +01:00
Sanne Raymaekers
31d286aac3 test/CreateImageWizard: Test compose requests sent by wizard 2023-12-01 13:11:07 +01:00
Sanne Raymaekers
ae7178158e CreateImageWizard: Fix passing gcp upload_options
Upload options were added in the wrong place, this inserts them back
into the correct place.

Also see #1355.
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
ab1987660e Wizard: Add client_id to compose requests
This adds `client_id` value to compose requests for the purpose of differentiating between images created in UI and those created directly via api.
2023-11-28 13:01:00 +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
regexowl
44195c5334 Wizard: Remove hard coded architecture from OCI request
This replaces hard coded 'x86_64' architecture with the value based on a form state for OCI images.
2023-11-24 09:08:00 +01:00
Sanne Raymaekers
b60c37f1f8 ImagesTable: show architecture of composes 2023-11-23 17:55:43 +01:00
regexowl
ac357f4e13 Wizard: Remove hardcoded architecture
This updates requests that contained hardcoded value `x86_64` as an architecture.
2023-11-23 17:02:26 +01:00
Amir Fefer
16cf421c68 feat(HMS-2789): simplfy activation key creation 2023-11-23 16:19:07 +01:00
Sanne Raymaekers
6739851897 CreateImageWizard: package search through correct architecture
Instead of always searching through x86 repos, search through the repos
of the selected architecture. This fixes HMS-3066.
2023-11-22 13:19:34 +01:00
regexowl
e60afdbe27 Wizard: Add temporary alert about /usr sub-directories
This adds an alert to the File system configuration step that informs about newly disables `/usr` sub-directories.

It can be removed in two weeks after all the images with possible erroneous mount points are removed.
2023-11-22 11:47:23 +01:00
regexowl
c2cd4bed97 Wizard: Replace /usr path with sub-directories by /usr on Recreate
Sub-directories for `/usr` prefix are no longer supported in file system configuration. This replaces the possible erroneous path with a valid one so the user is not able to send an invalid image request via Recreate action.
2023-11-22 11:47:23 +01:00
mgold1234
9ab3d45f99 Wizard: add all/selected toggle buttons to custom repository step
This commit resolves #1201.
It adds a toggle to the repositories step that allows users to toggle
between all and selected repositories.
2023-11-21 14:43:32 +01:00
mgold1234
b8c634eac0 fix some lint warning message 2023-11-20 09:37:12 +01:00
lucasgarfield
0405eda319 Wizard: Fix HMS-3031, bug in Package's step search
This fixes a bug in the packages step search where hitting enter causes
the wizard to re-render and reset to the first step.
2023-11-16 16:25:52 +01:00
lucasgarfield
196e358aa3 Wizard: Fix eslint warnings in Packages step
Most of these fixes are required because of the exhaustive dependencies
rule.
2023-11-16 16:25:52 +01:00
Sanne Raymaekers
f1141ec698 src: add RHEL 8.9 2023-11-16 14:44:21 +01:00
Tomáš Hozza
cfbeb77ac5 Wizard/MountPoint: hotfix for updated mountpoint policy
The updated mountpoint policy merged in osbuild-composer upstream does
not allow sub-directories of `/usr` to be placed on a separate
partition. There are other changes, but this fix prevents users from
making an obvious error during image creation, until the updated policy
is reflected in the UI.

Related to https://issues.redhat.com/browse/COMPOSER-2030

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2023-11-14 11:00:40 +01:00
Thomas Lavocat
2173545f60 wizard/review: add the review step
Bring in a review step in the wizard. The purpose is to incrementally
develop it while new steps are added to the mix. This way the Wizard
gets to be integration testable from the early beginning.

Right now the review step is only showing information about the Image
Output step. Even though the Image Output step contains data about the
target environment, these information are going to need the Target
Environment step to be developed in order to be fully shown.
2023-11-14 09:33:36 +01:00
Thomas Lavocat
9c78456c57 wizard/image_output: add the image output step
Port the image output step to the new wizard v2.

This is also the first step in the new redesigned wizard and this commit
message is an opportunity to detail a bit the organisation of it:

The code is organised as followed:
- CreateImageWizard is the root and contains all the code associated
  with the PF wizard. (i.e Wizard and WizardStep).
- Each step has its code under the step/ sub directory.
- The step directory is named after the step (i.e ImageOutput for the
  Image Output step
- At the root of the step directory there is a file which contains the
  code of the step (i.e ImageOutput.tsx).
- The main component of the step can access many subcomponents and they
  have to be stored alongside it in its directory.

State management:
- The state management is only done with react use states, prop drilling
  and state lifting. This is to ensure simplicity as it makes the wizard
- If necessary in the future, there might be needs for context and
  reducers, but it's quite not the case RN. And using them come at the
  cost of making exploring the code harder.
- CreateImageWizard will declare all the states
2023-11-14 09:33:36 +01:00
Sanne Raymaekers
6e737c59a9 src: add rhel-93 2023-11-13 17:32:32 +01:00
mgold1234
536312680d fix some react-hooks/exhaustive-deps lint warning message
this commit fixes some react-hooks/exhaustive-deps linting warning message
2023-11-13 10:51:52 +01:00
Thomas Lavocat
9a1b823eed wizard: prepare a dev env to create the new wizard
Developing a new wizard will require many pull requests and some of them
might even be worked on in parallel. To allow to develop all of that
without interfering with the legacy wizard this commit introduces a new
dev environment alongside an unleash flag when we later want to do the
switch.

To use the new dev en use `npm run stage-beta:experimental` or `npm run
stage-beta:msw+experimental` depending on what you want.

Then unleash flag to toggle in stage and prod is: `image-builder.new-wizard.enabled`

fixes: HMS-2859
2023-11-09 12:43:01 +01:00
regexowl
1fd8deec1a ImagesTable: Add expiring/expired status to OCI images
Pre-authenticated requests for the OCI images expire 7 days after creation. This adds "Expires in <x> days" and "Expired" as possible statuses for the OCI images.
2023-11-07 11:13:28 +01:00
regexowl
7ec87dfa58 fixtures: Add OCI images to the mock fixtures
This adds an expired mock OCI image with an ID "0c1ec8d8-be39-47f2-9bd4-a3fff8244fce" and an expiring mock OCI image with an ID "ea23cfd6-fd8b-43ed-adfc-9f76bb8487ef".
2023-11-07 11:13:28 +01:00
regexowl
b8372eeaf5 ImagesTable: Add OCI images
This adds a row for OCI images in the ImagesTable. Details about the images show UUID of the image and the Object Storage URL which is needed to deploy the image.

"Image link" button in the Instance column contains instrucion on how to run an OCI image built by Image Builder in Oracle Cloud. The documentation link in the popover is just a placeholder for now as the documentation is being prepared.

Until the build is finished the "Image link" button is disabled as it would be missing the Object Storage URL which is creating on upload.
2023-11-07 11:13:28 +01:00
regexowl
fd61cd135b Wizard: Add the option of building OCI images to the Wizard
This adds a tile allowing to build an OCI image to the Image output step of the wizard. The tile is only visible in the Preview.

As there are no other customer information needed for the build, no addiional step for OCI was added.

Review step was also updated to include OCI images.
2023-11-07 11:13:28 +01:00
regexowl
6a19aae96c ImagesTable: Fix padding of disabled download links
This fixes an uneven padding for disabled "Download (....)" links.
2023-11-02 12:33:42 +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
mgold1234
d91727bf38 ImageTable: THEEDGE-3450 - add ignoreImageType to getComposes endpoint
this commit adds filter for image_type to the getComposes endpoint,
enhancing the functionality of the Image Builder frontend table, which comprises two tabs: RPM and OSTree.
With this enhancement, users can now filter OSTree images from the RPM tab, preventing duplication.
2023-10-26 15:53:31 +02:00
jkozol
21298f4047 Wizard: fix mountpoint select 2023-10-25 09:02:47 +02:00
jkozol
3dd2accb1d Wizard: remove nav horizontal scroll 2023-10-25 09:02:47 +02:00
jkozol
751b393fea Wizard: fix dual list selector styling 2023-10-25 09:02:47 +02:00
lucasgarfield
854ff4a8eb Wizard: Fix file system customization form inputs
Upgrading to PF5 caused the inputs on the file system customization
inputs to stack on each other.

This commit makes them appear in-line again by using the `<Grid>`
component.

Inspiration taken from this PF5 example:
https://www.patternfly.org/components/forms/form#grid-form
2023-10-25 09:02:47 +02:00
jkozol
cf1d477544 ShareImageModal: update the typeahead selector to pf5
This dropdown needed to be update as part of the overall pf5 upgrade.
Each of the components in the select now need to be declared and
handled. Also, some of the Select and SelectOption props come from the
Menu props since Select inherits Menu.
2023-10-25 09:02:47 +02:00
jkozol
a5b1b1f775 package.json: upgrade patternfly to version 5
This upgrade requires multiple package updates. There are many style
updates to reflect pf5's syntax and structure changes
2023-10-25 09:02:47 +02:00
lucasgarfield
c4d411efa4 Wizard: Improve in-page wizard cosmetically
This commit:
1. Removes the header from the Data Driven Forms wizard
2. Adds padding around the in-page wizard so it is visually consistent
   with the images table
3. Refactors the images table header into a re-usable component that is
   now used in both the images table and the wizard
4. Allows the repositories table to fill the available vertical space in
   the wizard
5. Adjusts the package dual list selectors so that they fill the
   available horizontal space in the wizard
2023-10-20 15:51:03 +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
lucasgarfield
89f1da11bf API: Move notification dispatch to Image Builder API slice
This commit moves the notification dispatching for creating composes and
clones into a more sensible location – the Image Builder API slice.

It is more sensible because it separates the logic of the React
component (the wizard or share images modal) from the logic of handling
the request life cycle (which is now handled entirely in the slice).

There is a subtle but significant change – a new request will be
dispatched for every request. This is the correct way to do things as it
is possible that some requests succeed, and that others fail. Insights
causes the notifications to stack on top of each other neatly, so there
is no UI problem.

To facilitate this, we also need to use use Promise.allSettled instead
of Promise.all.
2023-10-13 11:44:33 +02:00