2.6 KiB
2.6 KiB
Contributing
Thank you for taking the time to make a contribution to Stack Orchestrator.
Install (developer mode)
Suitable for developers either modifying or debugging the orchestrator Python code:
Prerequisites
In addition to the binary install prerequisites listed above, the following are required:
- Python venv package
This may or may not be already installed depending on the host OS and version. Check by running:
If the venv package is missing you should see a message indicating how to install it, for example with:$ python3 -m venv usage: venv [-h] [--system-site-packages] [--symlinks | --copies] [--clear] [--upgrade] [--without-pip] [--prompt PROMPT] ENV_DIR [ENV_DIR ...] venv: error: the following arguments are required: ENV_DIR
$ apt install python3.10-venv
Install
- Clone this repository:
$ git clone (https://github.com/cerc-io/stack-orchestrator.git
- Enter the project directory:
$ cd stack-orchestrator
- Create and activate a venv:
$ python3 -m venv venv $ source ./venv/bin/activate (venv) $
- Install the cli in edit mode:
$ pip install --editable .
- Verify installation:
(venv) $ laconic-so Usage: laconic-so [OPTIONS] COMMAND [ARGS]... Laconic Stack Orchestrator Options: --quiet --verbose --dry-run -h, --help Show this message and exit. Commands: build-containers build the set of containers required for a complete... deploy-system deploy a stack setup-repositories git clone the set of repositories required to build...
Build a zipapp (single file distributable script)
Use shiv to build a single file Python executable zip archive of laconic-so:
- Install shiv:
$ (venv) pip install shiv $ (venv) pip install wheel
- Run shiv to create a zipapp file:
This creates a file$ (venv) shiv -c laconic-so -o laconic-so .
./laconic-so
that is executable outside of any venv, and on other machines and OSes and architectures, and requiring only the system Python3: - Verify it works:
$ cp stack-orchetrator/laconic-so ~/bin $ laconic-so Usage: python -m laconic-so [OPTIONS] COMMAND [ARGS]... Laconic Stack Orchestrator Options: --quiet --verbose --dry-run -h, --help Show this message and exit. Commands: build-containers build the set of containers required for a complete... deploy-system deploy a stack setup-repositories git clone the set of repositories required to build...