forked from uncloud/uncloud
5d084a5716
Signed-off-by: Nico Schottelius <nico@nico-notebook.schottelius.org> |
||
---|---|---|
.. | ||
opennebula | ||
uncloud | ||
uncloud_auth | ||
uncloud_net | ||
uncloud_pay | ||
uncloud_storage | ||
uncloud_vm | ||
ungleich_service | ||
.gitignore | ||
manage.py | ||
models.dot | ||
models.png | ||
README-how-to-create-a-product.md | ||
README-object-relations.md | ||
README.md | ||
requirements.txt |
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)