The jasmin-cloud project provides a portal for the administration of tenancies in an
OpenStack cloud.
It has two sub-components - a REST API written in Python using the Django REST framework and a UI written in React.
The code for both components, along with artifacts for building Docker images and a Helm chart for deploying to Kubernetes are included in this repository.
The Helm chart is stored in an OCI repository, which requires experimental features in Helm 3 to be enabled. See https://helm.sh/docs/topics/registries/ for more information.
To see the available versions, please consult the repository on GitHub packages.
helm chart pull ghcr.io/stackhpc/jasmin-cloud-chart:<version>
helm chart export ghcr.io/stackhpc/jasmin-cloud-chart:<version>
helm upgrade -i jasmin-cloud ./jasmin-cloud -f values.yamlTo see the available options, check the chart's values.yaml.
First, check out the code:
git clone https://github.com/stackhpc/jasmin-cloud.git
cd jasmin-cloud
# Switch to the required branchThe API requires a recent version of Python 3, which you must first install.
Then create and activate a new virtual environment and install the API project:
python -m venv ./venv
source ./venv/bin/activate
pip install git+https://github.com/cedadev/django-settings-object.git#egg=settings_object
pip install git+https://github.com/cedadev/jasmin-ldap.git#egg=jasmin_ldap
pip install git+https://github.com/cedadev/rackit.git#egg=rackit
pip install -e ./apiInstall the local settings:
cp api/jasmin_cloud_site/settings.py-local api/jasmin_cloud_site/settings.pyModify the settings to match your cloud, then run the development server:
python api/manage.py runserverThe API will then be available at http://localhost:8000/api.
Once you have the development version of the API up, you can install a development version of the UI.
To install and run the UI, you will need recent versions of Node and yarn installed.
Install the dependencies using yarn:
yarn --cwd ./ui install --frozen-lockfileThen start the development server:
yarn --cwd ./ui serve This will start the JASMIN Cloud UI at http://localhost:3000. The development server will
proxy API requests to http://localhost:8000 so that the UI and API appear at the same
address, as they will when deployed in production.