FEO migration

This migrates from fed-modules.json to Frontend Operator and bumps @redhat-cloud-services/frontend-components-config from 6.3.8 to 6.6.2

Migration guide: https://github.com/RedHatInsights/chrome-service-backend/blob/main/docs/feo-migration-guide.md
This commit is contained in:
regexowl 2025-07-17 10:37:43 +02:00
parent bb345c0e4f
commit 6fb93bce54
4 changed files with 156 additions and 19 deletions

View file

@ -1,3 +1,5 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/RedHatInsights/frontend-components/refs/heads/master/packages/config-utils/src/feo/spec/frontend-crd.schema.json
---
apiVersion: v1
kind: Template
metadata:
@ -8,6 +10,70 @@ objects:
metadata:
name: image-builder
spec:
feoConfigEnabled: true
serviceTiles:
- id: imageBuilder
section: deploy
group: rhel
title: Images
href: /insights/image-builder
description: "Build and manage Red Hat Enterprise Linux images and environments."
icon: InsightsIcon
- id: imageBuilder
section: inventories
group: rhel
title: Images
href: /insights/image-builder
description: "Build and manage Red Hat Enterprise Linux images and environments."
icon: InsightsIcon
searchEntries:
- id: imageBuilder
title: "Images"
href: /insights/image-builder
description: "Build and manage Red Hat Enterprise Linux images and environments."
alt_title:
- Images
- image
- image builder
- my images
- gold image
- template image
- vm template
- image template
- blueprint
- image
- builder
- images
- build
- image-builder
- insights
- Build image
- image builder
- gold image
- blueprint
- template image
- vm template
- image template
- vmware template
- packer build
- packer template
- RHEL AMI
- RHEL machine image
- azure
- aws
- build
- assemble
- image-builder
bundleSegments:
- segmentId: imageBuilder
bundleId: insights
position: 300
navItems:
- id: imageBuilder
title: Image builder
href: /insights/image-builder
icon: InsightsIcon
product: Red Hat Insights
envName: ${ENV_NAME}
title: Image-builder
deploymentRepo: https://github.com/RedHatInsights/image-builder-frontend
@ -18,17 +84,18 @@ objects:
paths:
- /apps/image-builder
image: ${IMAGE}:${IMAGE_TAG}
navItems:
- appId: "imageBuilder"
title: "Image builder"
href: "/insights/image-builder"
product: "Red Hat Insights"
module:
manifestLocation: "/apps/image-builder/fed-mods.json"
moduleID: imageBuilder
manifestLocation: /apps/image-builder/fed-mods.json
analytics:
APIKey: BUodNImBEk7R2M3evAYs0v7i8d86Nhkm # prod
APIKeyDev: TwoYxKFzxr4fHN171gmcNoLnxXdzF8b6 # stage
config:
supportCaseData:
product: "Red Hat Insights"
version: "Image Builder"
modules:
- id: "image-builder"
module: "./RootApp"
- id: image-builder
module: ./RootApp
routes:
- pathname: /insights/image-builder

View file

@ -147,4 +147,5 @@ module.exports = {
shared: [{ 'react-router-dom': { singleton: true, version: '*' } }],
exclude: ['react-router-dom'],
},
frontendCRDPath: path.resolve(__dirname, './deploy/frontend-clowder.yml')
};

87
package-lock.json generated
View file

@ -41,7 +41,7 @@
"@patternfly/react-icons": "6.3.0",
"@playwright/test": "1.51.1",
"@redhat-cloud-services/eslint-config-redhat-cloud-services": "3.0.0",
"@redhat-cloud-services/frontend-components-config": "6.3.8",
"@redhat-cloud-services/frontend-components-config": "6.6.4",
"@redhat-cloud-services/tsc-transform-imports": "1.0.25",
"@rtk-query/codegen-openapi": "2.0.0",
"@testing-library/dom": "10.4.1",
@ -3649,6 +3649,8 @@
},
"node_modules/@openshift/dynamic-plugin-sdk-webpack": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/@openshift/dynamic-plugin-sdk-webpack/-/dynamic-plugin-sdk-webpack-4.1.0.tgz",
"integrity": "sha512-Pkq6R+fkoE0llgv9WJBcotViAPywrzDkpWK0HSTmrVyfEuWS5cuZUs8ono6L5w9BqDBRXm3ceEuUAZA/Zrar1w==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@ -3664,7 +3666,9 @@
}
},
"node_modules/@openshift/dynamic-plugin-sdk-webpack/node_modules/semver": {
"version": "7.6.3",
"version": "7.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
"integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
"dev": true,
"license": "ISC",
"bin": {
@ -4003,12 +4007,14 @@
}
},
"node_modules/@redhat-cloud-services/frontend-components-config": {
"version": "6.3.8",
"version": "6.6.4",
"resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components-config/-/frontend-components-config-6.6.4.tgz",
"integrity": "sha512-LAfDamiwotPXZaPMsLIlvNrAMFKPh3mDeDHRkS6jG3lXKzPbtFJFjhPPvOpEmrrwA3p2GrDiGk5eSdX4BxH3Hw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.15",
"@redhat-cloud-services/frontend-components-config-utilities": "^4.0.4",
"@redhat-cloud-services/frontend-components-config-utilities": "^4.3.5",
"@redhat-cloud-services/tsc-transform-imports": "^1.0.21",
"@swc/core": "^1.3.76",
"assert": "^2.0.0",
@ -4055,18 +4061,53 @@
}
},
"node_modules/@redhat-cloud-services/frontend-components-config-utilities": {
"version": "4.0.6",
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components-config-utilities/-/frontend-components-config-utilities-4.5.0.tgz",
"integrity": "sha512-9gW6GfDr9C1U0BShZHrXJ/oyvdRgoIRfQgFMDrFoM9ZbgSjY4pEsyG4PwIZsJGUE/+0O4XiuyRXU3jaSUKvrHA==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"@openshift/dynamic-plugin-sdk-webpack": "^4.0.1",
"ajv": "^8.17.1",
"chalk": "^4.1.2",
"chokidar": "^4.0.3",
"js-yaml": "^4.1.0",
"node-fetch": "2.6.7"
},
"peerDependencies": {
"webpack": "^5.0.0"
}
},
"node_modules/@redhat-cloud-services/frontend-components-config-utilities/node_modules/chokidar": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
"integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
"dev": true,
"license": "MIT",
"dependencies": {
"readdirp": "^4.0.1"
},
"engines": {
"node": ">= 14.16.0"
},
"funding": {
"url": "https://paulmillr.com/funding/"
}
},
"node_modules/@redhat-cloud-services/frontend-components-config-utilities/node_modules/readdirp": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
"integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 14.18.0"
},
"funding": {
"type": "individual",
"url": "https://paulmillr.com/funding/"
}
},
"node_modules/@redhat-cloud-services/frontend-components-config/node_modules/ajv": {
"version": "6.12.6",
"dev": true,
@ -22197,6 +22238,8 @@
},
"@openshift/dynamic-plugin-sdk-webpack": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/@openshift/dynamic-plugin-sdk-webpack/-/dynamic-plugin-sdk-webpack-4.1.0.tgz",
"integrity": "sha512-Pkq6R+fkoE0llgv9WJBcotViAPywrzDkpWK0HSTmrVyfEuWS5cuZUs8ono6L5w9BqDBRXm3ceEuUAZA/Zrar1w==",
"dev": true,
"requires": {
"lodash": "^4.17.21",
@ -22205,7 +22248,9 @@
},
"dependencies": {
"semver": {
"version": "7.6.3",
"version": "7.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
"integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
"dev": true
}
}
@ -22384,11 +22429,13 @@
}
},
"@redhat-cloud-services/frontend-components-config": {
"version": "6.3.8",
"version": "6.6.4",
"resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components-config/-/frontend-components-config-6.6.4.tgz",
"integrity": "sha512-LAfDamiwotPXZaPMsLIlvNrAMFKPh3mDeDHRkS6jG3lXKzPbtFJFjhPPvOpEmrrwA3p2GrDiGk5eSdX4BxH3Hw==",
"dev": true,
"requires": {
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.15",
"@redhat-cloud-services/frontend-components-config-utilities": "^4.0.4",
"@redhat-cloud-services/frontend-components-config-utilities": "^4.3.5",
"@redhat-cloud-services/tsc-transform-imports": "^1.0.21",
"@swc/core": "^1.3.76",
"assert": "^2.0.0",
@ -22482,12 +22529,34 @@
}
},
"@redhat-cloud-services/frontend-components-config-utilities": {
"version": "4.0.6",
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components-config-utilities/-/frontend-components-config-utilities-4.5.0.tgz",
"integrity": "sha512-9gW6GfDr9C1U0BShZHrXJ/oyvdRgoIRfQgFMDrFoM9ZbgSjY4pEsyG4PwIZsJGUE/+0O4XiuyRXU3jaSUKvrHA==",
"dev": true,
"requires": {
"@openshift/dynamic-plugin-sdk-webpack": "^4.0.1",
"ajv": "^8.17.1",
"chalk": "^4.1.2",
"chokidar": "^4.0.3",
"js-yaml": "^4.1.0",
"node-fetch": "2.6.7"
},
"dependencies": {
"chokidar": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
"integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
"dev": true,
"requires": {
"readdirp": "^4.0.1"
}
},
"readdirp": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
"integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
"dev": true
}
}
},
"@redhat-cloud-services/frontend-components-notifications": {

View file

@ -39,7 +39,7 @@
"@patternfly/react-icons": "6.3.0",
"@playwright/test": "1.51.1",
"@redhat-cloud-services/eslint-config-redhat-cloud-services": "3.0.0",
"@redhat-cloud-services/frontend-components-config": "6.3.8",
"@redhat-cloud-services/frontend-components-config": "6.6.4",
"@redhat-cloud-services/tsc-transform-imports": "1.0.25",
"@rtk-query/codegen-openapi": "2.0.0",
"@testing-library/dom": "10.4.1",