Skip to content

Waldur HomePort is web-based client for the Waldur MasterMind.

License

Notifications You must be signed in to change notification settings

waldur/waldur-homeport

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

Waldur HomePort is a web-based client for the Waldur MasterMind. It uses yarn for dependency management and Vite as module bundler.

Minimal requirements

  • Linux Ubuntu, OS X or Windows Subsystem for Linux 2 with Ubuntu
  • 2 GB of RAM and 2 GB of storage

Installation

  1. Update system and install basic dependencies. Example for Linux Ubuntu:

    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install git wget
  2. Install Node LTS and yarn:

    wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
    source ~/.bashrc
    nvm install --lts
    npm install -g yarn
  3. Clone project and go to its folder:

    git clone <repository-url>
    cd waldur-homeport
  4. Install dependencies via yarn:

    yarn

    PS. If you see errors related to fsevents on OS X, the workaround is: yarn cache clean && yarn upgrade && yarn.

  5. Run application: yarn start.

    Server will listen on //localhost:8001

    If your REST API runs on different host or port, specify API_URL environment variable.

    VITE_API_URL=http://127.0.0.1:8000/ yarn vite

Backend configuration

Use Waldur MasterMind for backend.

Also you should install django-cors-headers from pip in order to add CORS headers:

pip install django-cors-headers

Then you should update waldur_core/server/settings.py and add the following lines at the end of the file:

INSTALLED_APPS += ('corsheaders',)
MIDDLEWARE = ('corsheaders.middleware.CorsMiddleware',) + MIDDLEWARE
CORS_ORIGIN_ALLOW_ALL = True
CORS_EXPOSE_HEADERS = (
    'x-result-count',
    'Link',
    'x-impersonated-user-uuid',
)

# enable support for impersonation headers
from corsheaders.defaults import default_headers

CORS_ALLOW_HEADERS = (
    *default_headers,
    "X-Impersonated-User-Uuid",
)