forked from uncloud/uncloud
89 lines
1.3 KiB
Markdown
89 lines
1.3 KiB
Markdown
## 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.
|
|
|
|
### Snapshotting
|
|
|
|
```
|
|
http -a nicoschottelius:$(pass ungleich.ch/nico.schottelius@ungleich.ch) http://localhost:8000/vm/snapshot/ vm_uuid=$(uuidgen)
|
|
```
|