+--- floating ip ---+
| |
+-------------------+
|
V
+--- zabbix_web ---+ +--- zabbix_server ---+
| - :80/tcp | -> | - :10050/tcp |
| - :443/tcp | | - :10051/tcp |
| - :10051/tcp | | |
+------------------+ +---------------------+
| |
V V
+--- mysql_server ---+
| - :3306/tcp |
| - :10051/tcp |
+--------------------+
The state of the used roles:
| Role name | GitHub Action | GitLab CI | Version |
|---|---|---|---|
| aide | |||
| auto_update | |||
| bootstrap | |||
| buildtools | |||
| certbot | |||
| common | |||
| core_dependencies | |||
| digitalocean-agent | |||
| epel | |||
| fail2ban | |||
| firewall | |||
| httpd | |||
| logwatch | |||
| maintenance | |||
| mysql | |||
| openssl | |||
| php | |||
| postfix | |||
| python_pip | |||
| rsyslog | |||
| software | |||
| unowned_files | |||
| update | |||
| zabbix_agent | |||
| zabbix_repository | |||
| zabbix_server | |||
| zabbix_web |
- Download the Ansible roles:
ansible-galaxy install -r roles/requirements.yml- Download the terraform providers and modules:
cd terraform
terraform init- Set the DigitalOcean and CloudFlare credentials:
export TF_VAR_do_token="REPLACE_ME_WITH_THE_DO_TOKEN"
export TF_VAR_cloudflare_api_token="REPLACE_ME_WITH_THE_CF_TOKEN"Apply the playbook:
./playbook.yml
This will:
- Create the infrastructure using Terraform.
- Install Docker. (Including all requirements.)
- Create the
rancher/ranchercontainer.
Finally, login. (URL displayed at the end of the play.)
.
├── ansible.cfg - To tell Ansible how to work.
├── playbook.yml - The playbook to run.
├── group_vars - Variables used by Ansible.
├── roles - Where roles will be stored.
│ └── requirements.yml - What roles to download.
└── terraform - A description of the infrastrucure.