uncloud/doc/README.md

96 lines
1.5 KiB
Markdown
Raw Normal View History

2020-02-23 09:31:28 +00:00
## Install
### OS package requirements
Alpine:
```
2020-02-23 10:42:15 +00:00
apk add openldap-dev postgresql-dev
2020-02-23 09:31:28 +00:00
```
2020-02-26 20:13:30 +00:00
Debian/Devuan:
```
apt install postgresql-server-dev-all
```
2020-02-23 09:31:28 +00:00
### 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
```
2020-02-23 10:42:15 +00:00
### 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`
2020-02-26 20:13:30 +00:00
* Debian/Devuan: `apt install postgresql`
2020-02-23 10:42:15 +00:00
After postresql is started, apply the migrations:
```
python manage.py migrate
```
2020-02-23 10:42:15 +00:00
### 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)
```