Skip to content
/ ansible Public

Automated deployment of the SMI software stack

License

Notifications You must be signed in to change notification settings

SMI/ansible

Folders and files

NameName
Last commit message
Last commit date

Latest commit

407f2b6 · Apr 14, 2025
Dec 18, 2023
Sep 12, 2024
Sep 24, 2024
Jul 16, 2024
Jun 25, 2024
Jan 24, 2025
Jan 24, 2025
Jul 20, 2024
Apr 7, 2025
Nov 19, 2024
Jun 23, 2024
Nov 23, 2023
Mar 6, 2024
Nov 25, 2024
Mar 6, 2024
Mar 8, 2024
Nov 23, 2023
Jan 24, 2025

Repository files navigation

pre-commit.ci status

Ansible

Automated deployment of the SMI software stack.

The roles in this collection can be used to deploy the following software to a remote target:

Requirements

  • Python 3.10

Usage

The site.yaml playbook will deploy all configured software to the host(s) in the software_host group of your inventory. This can be overridden through the target variable e.g., ansible-playbook ... -e "target=localhost" site.yaml.

Included in the repo are convenience scripts to execute this playbook without an inventory.

Local as user

$ ./bin/deploy-as-user

will execute the playbook as the current user, with the install directory set to ~/smi.

Local as root

$ ./bin/deploy-as-root

will execute the playbook as the root, with the install directory set to /opt/smi.

Docker

WIP

$ ./bin/build-docker-aio

will launch a docker image and execute the playbook against it. If the playbook succeeds, the image will be saved and tagged as smi/aio:latest.

Docker Services

Also included are scripts to start/stop containers with the services we depend on (e.g., MongoDB):

The default SQL database is PostgreSQL, however we also support MariaDB by setting SMI_DATABASE=mariadb.

$ ./bin/start-docker-services
...
$ ./bin/stop-docker-services

Developing

Please see the CONTRIBUTING guide to get started.