## Install ### OS package requirements Alpine: ``` apk add openldap-dev postgresql-dev ``` Debian/Devuan: ``` apt install postgresql-server-dev-all ``` ### Python requirements If you prefer using a venv, use: ``` python -m venv venv . ./venv/bin/activate ``` Then install the requirements ``` pip install -r requirements.txt ``` ### Database requirements Due to the use of the JSONField, postgresql is required. First create a role to be used: ``` postgres=# create role nico login; ``` Then create the database owner by the new role: ``` postgres=# create database uncloud owner nico; ``` Installing the postgresql service is os dependent, but some hints: * Alpine: `apk add postgresql-server && rc-update add postgresql && rc-service postgresql start` * Debian/Devuan: `apt install postgresql` After postresql is started, apply the migrations: ``` python manage.py migrate ``` ### Secrets cp `uncloud/secrets_sample.py` to `uncloud/secrets.py` and replace the sample values with real values. ## Flows / Orders ### Creating a VMHost ### Creating a VM * Create a VMHost * Create a VM on a VMHost ### Creating a VM Snapshot ## Working Beta APIs These APIs can be used for internal testing. ### URL Overview ``` http -a nicoschottelius:$(pass ungleich.ch/nico.schottelius@ungleich.ch) http://localhost:8000 ``` ### Snapshotting ``` http -a nicoschottelius:$(pass ungleich.ch/nico.schottelius@ungleich.ch) http://localhost:8000/vm/snapshot/ vm_uuid=$(uuidgen) ```