forked from uncloud/uncloud
85b4d70592
[15:40] line:~% http -a nicoschottelius:$(pass ungleich.ch/nico.schottelius@ungleich.ch) http://localhost:8000/net/vpn/ network_size=48 wireguard_public_key=$(wg genkey | wg pubkey) HTTP/1.1 201 Created Allow: GET, POST, HEAD, OPTIONS Content-Length: 206 Content-Type: application/json Date: Sun, 12 Apr 2020 13:40:26 GMT Server: WSGIServer/0.2 CPython/3.7.3 Vary: Accept X-Content-Type-Options: nosniff X-Frame-Options: DENY { "extra_data": null, "network": "2a0a:e5c1:203::", "order": null, "owner": 30, "status": "PENDING", "uuid": "8f977a8f-e06a-4346-94ae-8f525df58b7b", "wireguard_public_key": "JvCuUTZHm9unasJkGsLKN0Bf/hu6ZSIv7dnIGPyJ6xA=" } |
||
---|---|---|
.. | ||
README-how-to-configure-remote-uncloud-clients.org | ||
README-how-to-create-a-product.md | ||
README-object-relations.md | ||
README-postgresql.org | ||
README-vpn.org | ||
README.md |
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)