Skip to main content

Nua orchestrator - local implementation

Project description

Nua orchestrator

Nua is an open source, self-hosted cloud platform project (a PaaS - platform as a service).

This packaged is deployed on the Nua server.

For end-users, the main entry point is the nua command line tool (see: Nua on PyPI or nua-cli on GitHub).

Role of the orchestrator

The orchestrator is in charge of configuring application and resources and deploying them on the host.

Requirements

The host must be a linux server installed with the distribution:

Ubuntu 22.04.1 LTS (jammy)

Note: this is temporary, the orchestrator will be able to manage other distributions later.

In the current version, the orchestrator manages locally a single host.

Note: this is temporary, the orchestrator will be able to manage multiple hosts later.

The Nua Orchestrator will need a 'nua' administrator account with root privileges (sudoer and docker groups).

The Nua Orchestrator will interfere with local resources such as Docker services and locally installed databases. The recommended configuration is therefore to use a dedicated server.

The following Python packages (provided by Ubuntu) are required:

  • python3.10
  • python3.10-venv
  • python3.10-dev
  • python3-pip
  • pipx

i.e. you should run apt-get install python3.10 python3.10-venv python3.10-dev python3-pip pipx before installing Nua.

Note: this is temporary, the installation script will take care of this kind of details later.

Installation

All-in-one command

Simply run:

curl -L https://nua.rocks/install.py | sudo python3

Using the nua-bootstrap command

The nua-orchestrator package provides a nua-bootstrap command which will install Nua on the host.

Installation procedure (from released version)

From the root account:

pipx install nua-orchestrator
nua-bootstrap

Installation procedure (from git)

At the moment, this implies a first temporary installation of Nua (which can be done in a temporary directory), from a sudo-able account:

git clone https://github.com/abilian/nua src
cd src/nua-orchestrator
./install.py
sudo ./env/bin/nua-bootstrap

That command will do many things:

  • create the nua account
  • install the required packages (Docker, postgres, Nginx, ...)
  • apply default configuration to the host
  • ...

Remarks

  • nua-bootstrap can be safely launched on an existing configuration,

Installation phases

Installation can take several minutes, here an excerpt of main messages displayed during installation:

sudo /home/nua/env/bin/nua-bootstrap
Installing Nua bootstrap on local host.
Warning: Nua was already installed.
Ign:1 http://downloads.mariadb.com/Tools/ubuntu jammy InRelease
Hit:2 http://nova.clouds.archive.ubuntu.com/ubuntu jammy InRelease                                                                        [...]
Installation of base packages:
apt-get install --no-install-recommends -y ca-certificates curl docker.io lsb-release git nginx-light software-properties-common python3-certbot-nginx
[...]
Modifying /etc/sudoers for user 'nua' (full access with no passwd)
-> Prior changes found: do nothing
Creation of Python virtual environment for 'nua'
-> Prior /home/nua/env found: do nothing
Install pip
[...]
Installation of postgres version 14
apt-get install --no-install-recommends -y postgresql-14 libpq-dev
[...]
Setting Postgres password
Installation of Nua nginx configuration
systemctl restart nginx
Installation of local Nua orchestrator (via git)
Cloning into 'nua'...
[...]

Nua installation done for user 'nua' on this host.
Command 'nua --help':

At the end of the installation, the available commands are displayed.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nua_orchestrator-0.5.14.tar.gz (80.3 kB view details)

Uploaded Source

Built Distribution

nua_orchestrator-0.5.14-py3-none-any.whl (115.0 kB view details)

Uploaded Python 3

File details

Details for the file nua_orchestrator-0.5.14.tar.gz.

File metadata

  • Download URL: nua_orchestrator-0.5.14.tar.gz
  • Upload date:
  • Size: 80.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for nua_orchestrator-0.5.14.tar.gz
Algorithm Hash digest
SHA256 34ba2f161755b370e0914f7f8d9b66fbd1a1ae38070a4d91d7f88a6b5015654c
MD5 310d92d26d1a98a96c7b3f9b694a84d6
BLAKE2b-256 fe60478950093936eebeaa0901356e6f5f500c1778005df3431a6a42b4e23e40

See more details on using hashes here.

File details

Details for the file nua_orchestrator-0.5.14-py3-none-any.whl.

File metadata

File hashes

Hashes for nua_orchestrator-0.5.14-py3-none-any.whl
Algorithm Hash digest
SHA256 e4310db20b0b73c032c8f83c136031e6c53000612d9dc581059d0e3f8ed4640f
MD5 8b9a554986e5d7ab2801a486de7b8af2
BLAKE2b-256 66674f4e603a335f4dafeacfcc5e2ce43a63a765a4caf3a83bbfb307e74eff89

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page