EGI-Federation / fedcloud-dashboard

Common dashboard for the EGI Cloud Compute service

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FedCloud dashboard

A web dashboard which shows all OpenStack Horizon endpoints published in EGI GOCDB

Installation

This code relies on docker-compose to run 3 containers:

  • traefik to provide HTTP proxy and cert management
  • dashy for generating the dashboard
  • some python code to generate the list of endpoints

The existing docker-compose file assumes you will run the code on a publicly accessible host with a valid name. You can create a .env file with the DASHBOARD_HOSTNAME variable defined with the hostname of your server and just start the service:

cd /path/to/working/directory
git clone https://github.com/EGI-Federation/fedcloud-dashboard.git
echo "DASHBOARD_HOSTNAME="<your host name>"
docker-compose up --build

This will build the container that generates the list of endpoints and start all the process to make the dashboard available.

Running locally

If you don't have a publicly accessible host, the easiest is to manually run dashy and the code to generate the list of endpoints:

First clone the repository:

cd /path/to/working/directory
git clone https://github.com/EGI-Federation/fedcloud-dashboard.git

Create a conda environment with requirements:

# Download and install conda
cd /path/to/conda/install/folder
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh -b -p conda-install
source conda-install/etc/profile.d/conda.sh

# Create conda environment using the environment.yml file
cd /path/to/working/directory/fedcloud-dashboard/
conda env create -f environment.yml
conda activate horizon-aggregator

Test whether the query script works:

cd /path/to/working/directory/fedcloud-dashboard/dashboard/
python dashy_endpoints.py > conf.yml

Use the generated conf.yml with dashy:

cd /path/to/working/directory/fedcloud-dashboard/dashboard/
docker run  \
       -p 8080:80 \
       -v  $PWD/conf.yml:/app/public/conf.yml \
       lissy93/dashy:latest

And point your browser to http://localhost:8080 to see your dashboard running

About

Common dashboard for the EGI Cloud Compute service

License:MIT License


Languages

Language:Python 55.1%Language:HCL 23.7%Language:Shell 14.8%Language:Dockerfile 6.4%