Red Hat Insights Vulnerability service is used to assess and monitor the status of security vulnerabilities on RHEL systems, understand the level of exposure of infrastructure, and plan a course of action. This is the front-end repository for this service.
- Make sure you have Node.js version >= 16 installed
- Run script to patch your
/etc/hosts
- Make sure you are using Red Hat proxy
- Install dependencies with
npm install
- Run development server with
npm run start:proxy:beta
- Local version of the app will be available at https://stage.foo.redhat.com:1337/beta/insights/vulnerability/
Jest and Cypress are used as the testing frameworks
npm run test
- run all testsnpm run test:ct
- run all Cypress testsnpm run test:jest
- run all Jest testsnpm run test:jest -- testName
- run Jest tests for all components matchingtestName
npm run test:jest:update
- run all Jest tests and update snapshotsnpm run test:jest:watch
- run Jest tests in watch modenpm run lint
- run linter
Any push to the following branches will trigger a build in vulnerability-ui-build repository which will deploy to corresponding environment. Travis is used to deploy the application.
Push to branch in this repo | Updated branch in build repo | Environment | Available at |
---|---|---|---|
master | stage-beta | stage beta | https://console.stage.redhat.com/beta |
stage-stable | stage-stable | stage stable | https://console.stage.redhat.com |
prod-beta | prod-beta | production beta | https://console.redhat.com/beta |
prod-stable | prod-stable | production stable | https://console.redhat.com |
Translation keys are saved in messages.js
.
Each time you add a new translation keys you need to run npm run translations
, which will automatically generate JSON files for every language into locales/
folder based on the entries in the messages.js
.
There are two ways to use translated strings:
- With
intl.formatMessage(messages.messageId)
- With
<FormattedMessage {...messages.messageId}/>
This project uses Patternfly React.
This app imports components from Insights Front-end Components library. ESI tags are used to import Insights Chrome which takes care of the header, sidebar, and footer.
This project uses Semantic Versioning. Release process is automated by using Semantic Release. These libraries are described in the Platform experience documentation.