uncloud/README.md

2.3 KiB

Uncloud

Cloud management platform, the ungleich way.

pipeline status coverage report

Useful commands

  • ./manage.py import-vat-rates path/to/csv
  • ./manage.py createsuperuser

Development setup

Install system dependencies:

  • On Fedora, you will need the following packages: python3-virtualenv python3-devel openldap-devel gcc chromium
  • sudo apt-get install libpq-dev python-dev libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev libffi-dev
  • On Archlinux, libldap24 is needed

NOTE: you will need to configure a LDAP server and credentials for authentication. See uncloud/settings.py.

# Initialize virtualenv.
» virtualenv .venv
Using base prefix '/usr'
New python executable in /home/fnux/Workspace/ungleich/uncloud/uncloud/.venv/bin/python3
Also creating executable in /home/fnux/Workspace/ungleich/uncloud/uncloud/.venv/bin/python
Installing setuptools, pip, wheel...
done.

# Enter virtualenv.
» source .venv/bin/activate

# Install dependencies.
» pip install -r requirements.txt
[...]

# Run migrations.
» ./manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, opennebula, sessions, uncloud_auth, uncloud_net, uncloud_pay, uncloud_service, uncloud_vm
Running migrations:
  [...]

# Run webserver.
» ./manage.py runserver
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
May 07, 2020 - 10:17:08
Django version 3.0.6, using settings 'uncloud.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

Run Background Job Queue

We use Django Q to handle the asynchronous code and Background Cron jobs To start the workers make sure first that Redis or the Django Q broker is working and you can edit it's settings in the settings file.

./manage.py qcluster

Note on PGSQL

If you want to use Postgres:

  • Install on configure PGSQL on your base system.
  • OR use a container! podman run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust -it postgres:latest