This is the command-line tool for deploying Montagu. It is a Hatch project.
pip install montagu-deploy
$ montagu --help
Usage:
montagu --version
montagu start <path> [--extra=PATH] [--option=OPTION]... [--pull]
montagu status <path>
montagu stop <path> [--volumes] [--network] [--kill] [--force]
[--extra=PATH] [--option=OPTION]...
Options:
--extra=PATH Path, relative to <path>, of yml file of additional
configuration
--option=OPTION Additional configuration options, in the form key=value
Use dots in key for hierarchical structure, e.g., a.b=value
This argument may be repeated to provide multiple arguments
--pull Pull images before starting
--volumes Remove volumes (WARNING: irreversible data loss)
--network Remove network
--kill Kill the containers (faster, but possible db corruption)
--force Force stop even if containers are corrupted and cannot
signal their running configuration, or if config cannot be
parsed. Use with extra and/or option to force stop with
configuration options.
Here <path>
is the path to a directory that contains a configuration file montagu.yml
.
For all integration tests to pass, you will need 2 environment variables:
-
YOUTRACK_TOKEN
- a token for accessing the YT API -
VAULT_TOKEN
- a github PAT for a user in the vimc robots team. -
hatch run test
-
hatch run lint:fmt
To get coverage reported locally in the console, use hatch run cov
.
On CI, use hatch run cov-ci
to generate an xml report.
hatch build
hatch build
pip install dist/montagu_deploy-{version}.tar.gz
hatch publish
montagu-deploy
is distributed under the terms of the MIT license.