Nx monorepo containing the CyberRangeCZ Platform frontend.
-
You need to have access to Sentinel package repository to pull the Sentinel dependencies. Then, you need to set up the @sentinel scope to point to that registry. You can do this by adding following lines to your .npmrc file:
@sentinel:registry=https://gitlab.ics.muni.cz/api/v4/projects/2396/packages/npm/ //gitlab.ics.muni.cz/api/v4/projects/2396/packages/npm/:_authToken=<YOUR_AUTH_TOKEN>where
<YOUR_AUTH_TOKEN>is a Gitlab access token withread_registryscope andapiscore of a user with access to Sentinel package repository -
To run the application, Node version >=20.19.0 is required.
- Configure and run the Helm deployment. Make sure to use
development: truefor Keycloak configuration invagrant-values.yaml. This will addhttps://localhost:4200to the OIDC redirect URIs.- in case, you need to override CORS, edit it in the Helm deployment file using corsWhitelist
- Run
npm install - Run
nx serve cyberrangecz-platform --ssl - Open
https://localhost:4200in your browser. The app will automatically reload if you change any of the source files. App will be using self-signed certificate, so you need to accept it in your browser.
To build the Docker image without uploading, run docker build .
To build and push Docker image to an existing Helm deployment, you can use the deployment push script:
./push.sh -u <SSH user> -h <host address> -k <path to SSH identity file> Dockerfile This script builds the Docker image, uploads it to the host over ssh and modifies the Kubernetes deployment to replace the current running version of the image.
- cyberrangecz-platform - Main platform application
- cyberrangecz-platform-e2e - End-to-end tests for the main platform
Agendas utilise other libraries to provide the individual pages of the application relevant to their scope.
- sandbox-agenda - Sandbox agenda management
- training-agenda - Training agenda management
- user-and-group-agenda - User and group agenda management
Api libraries provide abstraction layer over REST API calls via simple function calls.
- api-common - Common API utilities
- event-query-engine - SQLite-WASM local event cache with a query broker and entity resolution
- sandbox-api - Sandbox API client
- training-api - Training API client
- user-and-group-api - User and group API client
Small utility functions, classes and services.
- components - Shared utility UI components
- routing - Common routing utilities
- misc - Various small pieces of code
Collection of self-contained reusable components.
Key type definitions for objects received from the API.
- sandbox-model - Sandbox data models
- training-model - Training data models
- user-and-group-model - User and group data models