uncloud-mravi/uncloud
2020-03-05 11:39:48 +01:00
..
opennebula small cleaning 2020-03-04 14:44:41 +05:00
uncloud Add STRIPE_PUBLIC_KEY setting 2020-03-05 11:39:48 +01:00
uncloud_auth recreate all migrations 2020-03-03 17:50:52 +01:00
uncloud_net recreate all migrations 2020-03-03 17:50:52 +01:00
uncloud_pay Remove unused empty migration 2020-03-05 11:39:48 +01:00
uncloud_storage recreate all migrations 2020-03-03 17:50:52 +01:00
uncloud_vm Fix ahmed introduced migrations 2020-03-05 11:35:00 +01:00
ungleich_service Merge remote-tracking branch 'origin/fnux-hacks' 2020-03-04 12:12:22 +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-object-relations.md Document relations for Orders and Managed Services 2020-03-03 13:14:51 +01:00
README.md ++cleanup 2020-03-02 07:17:04 +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)