uncloud/uncloud
2020-02-28 16:26:45 +01:00
..
opennebula fix/simplify syncvm 2020-02-25 19:23:39 +01:00
uncloud Add uncloud_storage template app 2020-02-28 14:48:01 +01:00
uncloud_auth Migration fixed + opennebula/views.py fixed 2020-02-23 23:00:42 +05:00
uncloud_net phase in mac 2020-02-28 09:34:29 +01:00
uncloud_pay Define custom fields and serializer for MatrixServiceProduct 2020-02-28 16:26:45 +01:00
uncloud_storage Add uncloud_storage template app 2020-02-28 14:48:01 +01:00
uncloud_vm Define custom fields and serializer for MatrixServiceProduct 2020-02-28 16:26:45 +01:00
ungleich_service Define custom fields and serializer for MatrixServiceProduct 2020-02-28 16:26:45 +01:00
.gitignore Introduced local settings in meow-pay/uncloud django app 2020-02-25 13:09:54 +05:00
manage.py move uncloud a layer up 2020-02-23 14:07:37 +01:00
README.md order: serialize all fields 2020-02-27 12:45:54 +01:00
requirements.txt fix/simplify syncvm 2020-02-25 19:23:39 +01:00

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)