Commit graph

278 commits

Author SHA1 Message Date
regexowl
855f1430ad api: Update pull.sh, regenerate schemas and fix errors
This adds missing schema links to the `pull.sh` script, pulls new schema definitions, re-generates schemas and updates the code where needed.
2025-07-03 10:01:15 +00:00
Gianluca Zuccarelli
e8d46dd716 deps: migrate fec/notifications
The frontend component library decoupled notifications from redux.
Dispatching notifications via the notifications middleware was replaced
by a new `useAddNotifications` hook.

We mostly used the notifications middleware outside of React Components
in our `enhancedImageBuilderApi` store for mutation events. I created a
wrapper around the RTK hooks that uses the `useAddNotification` hook
and created a directory for the new hooks.

In other places, where we were using the notification dispatcher inside
React components, I replaced the call with the new hook.

[1] b1d4973144/packages/notifications/doc/migration.md

bump @redhat-cloud-services/frontend-components-notifications

---
updated-dependencies:
- dependency-name: "@redhat-cloud-services/frontend-components-notifications"
  dependency-version: 6.0.2
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Co-authored-by: dependabot[bot] <support@github.com>
Assisted-by: cursor ide for generalizing the `useMutationWithNotification`
hook.
2025-07-01 09:17:38 +00:00
Michal Gold
852d24e568 PackageRecommendations: Add distribution to package recommendations
- Add required distribution field to RecommendPackageRequest
- Add modelVersion field to RecommendationsResponse
- Update frontend to send RHEL major version to API
- Add analytics tracking for distribution and modelVersion

Enables version-specific package recommendations and model usage tracking.
2025-06-30 12:51:40 +00:00
Katarina Sieklova
2f034dffd8 Wizard: organize steps components into the "components" folders 2025-06-24 14:09:36 +00:00
Simon Steinbeiss
362bfd393b Wizard: Make RHEL 10 the default distribution 2025-06-19 13:13:08 +00:00
Michal Gold
df5388dae8 Repositories: fix architecture/version display to use readable names from API
- Add listRepositoryParameters endpoint to contentSources API
- Display human-readable names instead of technical labels
- Fix inconsistency between Image Builder and Repositories service display
- Resolve "any" vs "Any" capitalization issue -
https://github.com/osbuild/image-builder-frontend/issues/3008
2025-06-19 10:27:56 +00:00
Anna Vítová
6ec6f33fda Wizard: fix datepicker reset glitch (MS-8610)
If the reset button is clicked, there is a glitch that shows error state
for a moment. This commit removes the glitch by setting the snapshot
date even for invalid values, and removes the workaround that was
previously added.
2025-06-09 12:20:23 +02:00
rverdile
854ff93594 Wizard: send template name in image request 2025-05-16 13:29:35 +02:00
Lucas Garfield
8a41974d34 API: update api 2025-05-15 21:19:32 -05:00
Sanne Raymaekers
8b7d6ef2a7 api: update image-builder api 2025-05-14 12:36:43 -05:00
regexowl
c851fa9b8a Wizard: Implement packages table sorting
This implements basic sorting for the following columns of packages table:
- name
- application stream
- retirement date
2025-05-06 08:58:07 -05:00
Gianluca Zuccarelli
1715d395c2 package.json: replace toml package
We need to be able to stringify objects into a toml format for on-prem.
This is needed to save the worker config, unfortunately the current toml
package only parses toml and can't stringify back to toml.
2025-05-06 10:31:54 +02:00
regexowl
13e59dff13 Wizard: Fix users bug - 'wheel' group removal
If 'wheel' group was removed the Administrator checkbox stayed check. This unchecks it.
2025-05-02 12:56:20 -05:00
regexowl
ba68556388 API: Update content-services API schema
This updates content-services API schema so it includes end_date for modules.
2025-05-01 14:02:05 +02:00
regexowl
524fd40673 Wizard: Spread modules into row and handle adding/removing from the store
This adds `enabled_modules` to the store schema and handles adding/removing modules to both list of packages and list of enabled_modules.
2025-04-30 17:01:36 +02:00
Sanne Raymaekers
a69a09fa4f api: update image-builder-crc api
Includes fetching tailored customizations for compliance policies.
2025-04-30 11:38:12 +02:00
Bryttanie House
0238c04dfe Wizard: add support for content templates 2025-04-25 10:31:43 +02:00
regexowl
a07fbb6477 store: Remove unused selectors
This removes selectors that are no longer used.
2025-04-23 13:42:39 +02:00
regexowl
319880fc0b Wizard: Add password placeholder for edit mode
This uses the `hasPassword` value to render a password placeholder in edit mode.

The placeholder will indicate to the user that a password is present, but will not allow to show the password.
2025-04-23 13:42:39 +02:00
regexowl
01d0eba70e store: Update imageBuilder API 2025-04-23 13:42:39 +02:00
regexowl
b0709ca9ce api: Update content-sources API schema
This updates content-sources API schema and regenerates it.
2025-04-17 12:45:00 -05:00
Sanne Raymaekers
2dde0f2177 api: support linting and fixing of blueprints 2025-04-17 13:40:10 +02:00
Anna Vítová
b6cdfdb102 Wizard: Add Satellite service and update mapper 2025-04-11 10:18:46 +02:00
Justin Sherrill
38458810a0 change repo snapshot step to repeatable builds 2025-04-03 10:17:37 +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
regexowl
7a225e4146 Wizard: Add group input to User step
This adds a group input to the User step. The input is implemented as a `LabelInput`, when Administrator checkbox is checked, `wheel` group gets added and it's removal automatically unchecks the Administrator checkbox again.
2025-03-31 19:46:52 -05:00
Gianluca Zuccarelli
c7cd9e8de3 store/cockpitApi: query for oscap customizations
Use the oscap & scap-security guide packages on the host to get the
customizations for an OpenSCAP profile item.
2025-03-31 18:02:11 -05:00
Gianluca Zuccarelli
7ce8695fdf store/cockpitApi: add oscap profiles implementation
Add the logic needed to query the host for the allowed OpenSCAP
profiles.
2025-03-31 18:02:11 -05: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
d68e5f77b0 store: Safeguard splicing
This adds a check for existing/non-existing item before splicing an array.
2025-03-31 17:01:06 +02:00
Sanne Raymaekers
b91981c17c store/cockpitApi: correct getBlueprint's cache tags
After editing a blueprint, the blueprint needs to be invalidated.
2025-03-06 13:12:33 +01:00
Sanne Raymaekers
874f6bdd5c store/cockpit: Add notifications for blueprints
Also just dump the entire `err` in the notification in case of
errors. The error we get from the custom query in cockpit is not at all
predictable.
2025-02-05 16:58:47 +01:00
Sanne Raymaekers
16ae455b67 store/cockpit: Add osbuild-composer's cloudapi 2025-02-05 15:54:57 +01:00
Sanne Raymaekers
76044ddccd store/cockpitApi: add notification when composing images 2025-02-05 13:11:14 +01:00
Sanne Raymaekers
8dd85a3c1e store/cockpitApi: fix deleting blueprints 2025-02-05 13:11:14 +01:00
Sanne Raymaekers
52a43b0f2d CreateImageWizard: support edit mode on premise
The way the on premise wizard is initialized needed to be tweaked to
make it work for isEdit. Let's assume that the host distro and host
architecture are already correct in the blueprint.
2025-02-05 13:11:14 +01:00
Sanne Raymaekers
0204bcced5 store/wizardSlice: default to 'register-later' when on-premise 2025-02-05 13:11:14 +01:00
regexowl
1e0cf96457 Wizard: Add inputs for disabled and enabled services
This adds inputs for disabled and enabled systemd services. New tests are also added.
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
Sanne Raymaekers
1b91b43079 store/cockpit: fix compose request POST
The base query expects a stringified pody.
2025-02-04 10:22:19 +01:00
Sanne Raymaekers
2b5982fdfe store/cockpit: fix URLs when using basequery
The new base query adds the common parts of the path already.
2025-02-04 10:22:19 +01:00
Gianluca Zuccarelli
eac03ddc7d store/cockpit: add package search
Add initial package search. Include the version, release & arch information
in the summary, since some packages might have a release with the specific
architecture and a `noarch` version.
2025-02-03 13:40:30 +01:00
Gianluca Zuccarelli
bc1564eddb store/cockpit: add content sources api
Add a `contentSourcesApi` for the on-prem frontend. We need to add a small
workaround and put these endpoints under the `cockpitApi` reducer.
since RTK query here, doesn't like splitting out apis when they are
fundamentally the same.

To workaround this we can will just chain the endpoints so:
`emptyCockpitApi` -> `contentSourcesApi` -> `cockpitApi`

This allows us to keep the `contentSourcesApi` separate so
we can export some of the endpoints so that the `cockpitApi`
doesn't become a monolith.
2025-02-03 13:40:30 +01:00
Gianluca Zuccarelli
b8ceba2e3e store/backendApi: tidy up imports/exports
Tidy up the imports and the exports in the `backendApi` mixed api to
make things more consistent.
2025-02-03 13:40:30 +01:00
Gianluca Zuccarelli
9325fbfb56 store: fix api imports & exports
This is just a workaround to keep imports to the api definitions the same as before.
The added benefit is that we can then use these files to handle the mixed api types
between the service frontend and on-prem frontend.
2025-02-03 13:40:30 +01:00
Gianluca Zuccarelli
9c3581f21c store: split apis into sub directories
Since we will need to add other api endpoints, e.g. `contentSourcesApi` for
the on-prem frontend, this PR restructures the store directory to make future
changes more manageable.
2025-02-03 13:40:30 +01:00
Michal Gold
5f7f958d07 Wizard: Add Administrator field to review step
this commit add administrator field to review step
2025-02-03 12:53:49 +01:00
Sanne Raymaekers
39653c4df1 store/cockpit: don't define top-level constants that use cockpit
Only invoke the cockpit library when actually contacting the cloudapi.

The cockpit library isn't defined in the service, so any invocation of
the cockpit library when the application loads will make the frontend
crash.
2025-02-03 11:50:14 +01:00
Gianluca Zuccarelli
d67d8d481b store/cockpitApi: use baseQuery for requests
Switch the existing requests to make use of the `baseQuery`. This
just dries up the code a little bit.
2025-01-31 16:57:23 +01:00
Gianluca Zuccarelli
6b3b3ea3cc store/cockpit/baseQuery: add cockpit baseQuery
Add a `cockpitBaseQuery` for api calls that need to be made against
the `cloudapi` on the osbuild-composer unix-socket. This function adds
an extra step of parsing the result and transforming it into JSON.

We need to wrap the `cockpit.http.request` call in a
Promise rather than async/await because cockpit rejects
the http request with two arguments (error & data/body)
and we need to handle this appropriately. It is not possible
to do this with a try/catch block
2025-01-31 16:57:23 +01:00