This project was build on Storybook template provided by Chroma Software Inc.
To set up the project, first install the necessary dependencies:
npm install
The different pages of the website are located in the following files:
src/FormPage.jsx
src/SpawnPending.jsx
src/NotRunning.jsx
src/LoginPage.jsx
src/HomePage.jsx
You can run individual pages in a development environment using the following commands:
- For
FormPage.jsx
:npm run dev:form
- For
SpawnPending.jsx
:npm run dev:spawn_p
- For
LoginPage.jsx
:npm run dev:login
- For
NotRunning.jsx
:npm run dev:not_running
- For
HomePage.jsx
:npm run dev:home
For component development, you can start a Storybook environment:
npm run storybook
To build the project for production, use the following command:
npm run build:{build_target}
If you want to create ConfigMaps from the built project, use the create_config_maps.sh
script. Before running it, make sure it is executable:
chmod +x create_config_maps.sh
You can also modify the script if you only want to generate files locally instead of applying them to a Kubernetes cluster. Then execute the script:
./create_config_maps.sh {build_target} or {namespace}
To create a new interface for a hub, feel free to copy the code of other hubs and add/remove features from *Page.jsx files. When making a new FormPage.jsx, be careful to change the form configuration; for example, a normal hub uses persistent home, but others use only delhome. To change FormPage docker images data, make a new data folder with formData.js where you define the images that should be used. Also, if the hub has auto-fill with the last form data, please change the gatherFormData script. After completing the interface, make sure to update package.json with scripts for this instance. Update the create_config_maps.sh as well to accommodate the new instance.