Skip to content

Web portal for the JASMIN Scientific cloud.

Notifications You must be signed in to change notification settings

stackhpc/jasmin-cloud

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jasmin-cloud

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.

Using the Helm chart

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.yaml

To see the available options, check the chart's values.yaml.

Setting up a local development environment

First, check out the code:

git clone https://github.com/stackhpc/jasmin-cloud.git
cd jasmin-cloud
# Switch to the required branch

REST API

The 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 ./api

Install the local settings:

cp api/jasmin_cloud_site/settings.py-local api/jasmin_cloud_site/settings.py

Modify the settings to match your cloud, then run the development server:

python api/manage.py runserver

The API will then be available at http://localhost:8000/api.

React UI

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-lockfile

Then 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.

About

Web portal for the JASMIN Scientific cloud.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • Python 52.3%
  • JavaScript 44.5%
  • HTML 1.1%
  • Other 2.1%