Ansible. Role 12 databases (mysql55-80; mariadb55-10.5; postgresql9.2-12)

Thank you for reading this post, don't forget to subscribe!

С помо­щью дан­ной роли мож­но будет уста­но­вить сле­ду­ю­щие базы данных:
mysql5.5;
mysql5.6;
mysql5.7;
mysql8.0;
mariadb5.5;
mariadb10_2;
mariadb10_3;
mariadb10_4;
mariadb10_5;
postgresql-9.2;
postgresql-9.4;
postgresql-9.5;
postgresql-9.6;
postgresql-10;
postgresql-11;
postgresql-12

при­сту­пим:
[root@ansible ~]# mkdir -p /etc/ansible/{playbooks/roles_play,roles/databases/{handlers,tasks,templates}}

добав­ля­ем группу

[root@ansible ~]# cat /etc/ansible/hosts
[databases]
192.168.1.150

В дан­ном плей­бу­ке ука­зы­ва­ем какая база дан­ных нуж­на, пароль для рута у mysql и postgres у postgresql, а так­же про­из­во­дит­ся ли уста­нов­ка через proxy:

[root@ansible ~]# cat /etc/ansible/playbooks/roles_play/databases.yml

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/handlers/main.yml

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/templates/mariadb-10.2.repo

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/templates/mariadb-10.3.repo

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/templates/mariadb-10.4.repo

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/templates/mariadb-10.5.repo

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/templates/mysql-5.5.repo

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/templates/mysql-8.0.repo

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/templates/pg_hba.conf

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/tasks/add-proxy.yml

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/tasks/check-packpages.yml

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/tasks/delete-proxy.yml

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/tasks/install-packpages.yml

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/tasks/main.yml

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/tasks/mariadb-10.2.yml

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/tasks/mariadb-10.3.yml

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/tasks/mariadb-10.4.yml

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/tasks/mariadb-10.5.yml

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/tasks/mysql-5.5.yml

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/tasks/mysql-5.6.yml

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/tasks/mysql-5.7.yml

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/tasks/mysql-8.0.yml

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/tasks/postgresql-10.yml

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/tasks/postgresql-11.yml

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/tasks/postgresql-12.yml

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/tasks/postgresql-9.2.yml

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/tasks/postgresql-9.4.yml

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/tasks/postgresql-9.5.yml

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/tasks/postgresql-9.6.yml

[codesyntax lang="php"]

[/codesyntax]

[root@ansible ~]# cat /etc/ansible/roles/databases/tasks/repo.yml

[codesyntax lang="php"]

[/codesyntax]