I was thinking of defining the jobs as nimbus user systemd units, but that would not work unless nimbus user logged in at least once. And Systemd services have no functionality for allowing non-root users to start/stop/restart system services, so sudo is the simplest way. Signed-off-by: Jakub Sokołowski <jakub@status.im>
Description
This repo defines Nimbus cluster infractructure.
Requirements
In order to use this you will need secrets(passwords, certs, keys) contained within the infra-pass repository. If you can't see it ask jakub@status.im to get you access for it.
In order for this to work first you need to install necessary Terraform plugins and get the right secrets from the infra-pass repo, to do that simply run:
make
# alternatively
make plugins
make secrets
This will put the necessary certificates, keys, and passwords are in place so you can deploy and configure hosts.
Usage
To deploy hosts for the subsystem run:
terraform plan
terraform apply
Then configure the cluster:
ansible-playbook ansible/nimbus.yml
For more details see README.md
files in ansible
folders.
Dashboards
There's a dedicated Kibana dashboard for Nimbus fleet logs: https://nimbus-logs.infra.status.im/
Details
Read the Terraform and Ansible article in our infra-docs
repo.