Install phpMyAdmin and MariaDB service
This commit is contained in:
		| @@ -1,2 +1,27 @@ | |||||||
| --- | --- | ||||||
| # handlers file for ensure_mariadb | # handlers file for ensure_mariadb | ||||||
|  | - name: 'ensure_mariadb.package_facts' | ||||||
|  |   ansible.builtin.package_facts: | ||||||
|  | - name: 'ensure_mariadb.service_facts' | ||||||
|  |   ansible.builtin.service_facts: | ||||||
|  | - name: 'ensure_mariadb.service_reload' | ||||||
|  |   when: | ||||||
|  |     - ansible_system == 'Linux' | ||||||
|  |     - ansible_service_mgr == 'systemd' | ||||||
|  |     - ensure_mariadb is defined | ||||||
|  |   ansible.builtin.systemd: | ||||||
|  |     daemon_reload: 'yes' | ||||||
|  | - name: 'ensure_mariadb.services' | ||||||
|  |   when: | ||||||
|  |     - ansible_system == 'Linux' | ||||||
|  |     - ensure_mariadb is defined | ||||||
|  |     - ensure_mariadb.service_list is defined | ||||||
|  |     - ensure_mariadb.service_list is iterable | ||||||
|  |     - item.state == 'started' | ||||||
|  |   ansible.builtin.service: | ||||||
|  |     enabled: '{{ item.enabled }}' | ||||||
|  |     name: '{{ item.name }}' | ||||||
|  |     state: 'restarted' | ||||||
|  |   loop: '{{ ensure_mariadb.service_list }}' | ||||||
|  |   loop_control: | ||||||
|  |     label: '{{ item.name }} will be restarted' | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| galaxy_info: | galaxy_info: | ||||||
|   author: your name |   author: Jason Rothstein | ||||||
|   description: your role description |   description: Deploy MariaDB | ||||||
|   company: your company (optional) |   company: your company (optional) | ||||||
|  |  | ||||||
|   # If the issue tracker for your role is not on github, uncomment the |   # If the issue tracker for your role is not on github, uncomment the | ||||||
| @@ -14,7 +14,7 @@ galaxy_info: | |||||||
|   # - GPL-3.0-only |   # - GPL-3.0-only | ||||||
|   # - Apache-2.0 |   # - Apache-2.0 | ||||||
|   # - CC-BY-4.0 |   # - CC-BY-4.0 | ||||||
|   license: license (GPL-2.0-or-later, MIT, etc) |   license: LGPL-3.0-or-later | ||||||
|  |  | ||||||
|   min_ansible_version: 2.9 |   min_ansible_version: 2.9 | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										174
									
								
								tasks/main.yml
									
									
									
									
									
								
							
							
						
						
									
										174
									
								
								tasks/main.yml
									
									
									
									
									
								
							| @@ -1,2 +1,176 @@ | |||||||
| --- | --- | ||||||
| # tasks file for ensure_mariadb | # tasks file for ensure_mariadb | ||||||
|  | - name: 'include variables' | ||||||
|  |   when: | ||||||
|  |     - ansible_system == 'Linux' | ||||||
|  |   include_vars: | ||||||
|  |     file: '{{ lookup("first_found", findme ) }}' | ||||||
|  |     name: 'ensure_mariadb' | ||||||
|  |   vars: | ||||||
|  |     findme: | ||||||
|  |       files: | ||||||
|  |         - '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}-{{ ansible_architecture }}.yml' | ||||||
|  |         - '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}-default.yml' | ||||||
|  |         - '{{ ansible_distribution }}-default.yml' | ||||||
|  |         - '{{ ansible_os_family }}-{{ ansible_distribution_major_version }}-{{ ansible_architecture }}.yml' | ||||||
|  |         - '{{ ansible_os_family }}-{{ ansible_distribution_major_version }}-default.yml' | ||||||
|  |         - '{{ ansible_os_family }}-default.yml' | ||||||
|  |         - 'default.yml' | ||||||
|  |       paths: | ||||||
|  |         - '../vars/' | ||||||
|  |       errors: 'ignore' | ||||||
|  | - name: 'package discovery' | ||||||
|  |   when: | ||||||
|  |     - ansible_system == 'Linux' | ||||||
|  |     - packages is not defined | ||||||
|  |   ansible.builtin.package_facts: | ||||||
|  | - name: 'service discovery' | ||||||
|  |   when: | ||||||
|  |     - ansible_system == 'Linux' | ||||||
|  |     - services is not defined | ||||||
|  |   ansible.builtin.service_facts: | ||||||
|  | - name: 'ensure sysctl' | ||||||
|  |   when: | ||||||
|  |     - ansible_system == 'Linux' | ||||||
|  |     - ensure_mariadb is defined | ||||||
|  |     - ensure_mariadb.sysctl_list is defined | ||||||
|  |     - ensure_mariadb.sysctl_list is iterable | ||||||
|  |   ansible.posix.sysctl: | ||||||
|  |     name: '{{ item.name }}' | ||||||
|  |     reload: '{{ item.reload | default(omit) }}' | ||||||
|  |     state: '{{ item.state }}' | ||||||
|  |     sysctl_file: '{{ item.sysctl_file | default(omit) }}' | ||||||
|  |     sysctl_set: '{{ item.sysctl_set | default(omit) }}' | ||||||
|  |     value: '{{ item.value | default(omit) }}' | ||||||
|  |   loop: '{{ ensure_mariadb.sysctl_list }}' | ||||||
|  |   loop_control: | ||||||
|  |     label: '{{ item.name }} will be {{ item.value }}' | ||||||
|  | - name: 'ensure packages' | ||||||
|  |   when: | ||||||
|  |     - ansible_system == 'Linux' | ||||||
|  |     - ensure_mariadb is defined | ||||||
|  |     - ensure_mariadb.package_list is defined | ||||||
|  |     - ensure_mariadb.package_list is iterable | ||||||
|  |     - packages[item.name] is not defined | ||||||
|  |   ansible.builtin.package: | ||||||
|  |     name: '{{ item.name }}' | ||||||
|  |     state: '{{ item.state }}' | ||||||
|  |   loop: '{{ ensure_mariadb.package_list }}' | ||||||
|  |   loop_control: | ||||||
|  |     label: '{{ item.name }} will be {{ item.state }}' | ||||||
|  |   notify: | ||||||
|  |     - 'ensure_mariadb.package_facts' | ||||||
|  |     - 'ensure_mariadb.service_facts' | ||||||
|  | - name: 'ensure seboolean' | ||||||
|  |   when: | ||||||
|  |     - ansible_system == 'Linux' | ||||||
|  |     - ensure_mariadb is defined | ||||||
|  |     - ensure_mariadb.seboolean_list is defined | ||||||
|  |     - ensure_mariadb.seboolean_list is iterable | ||||||
|  |   ansible.posix.seboolean: | ||||||
|  |     name: '{{ item.name }}' | ||||||
|  |     persistent: '{{ item.persistent }}' | ||||||
|  |     state: '{{ item.state }}' | ||||||
|  |   loop: '{{ ensure_mariadb.seboolean_list }}' | ||||||
|  |   loop_control: | ||||||
|  |     label: '{{ item.name }} will be {{ item.state }}' | ||||||
|  | - name: 'ensure configurations' | ||||||
|  |   when: | ||||||
|  |     - ansible_system == 'Linux' | ||||||
|  |     - ensure_mariadb is defined | ||||||
|  |     - ensure_mariadb.template_list is defined | ||||||
|  |     - ensure_mariadb.template_list is iterable | ||||||
|  |   ansible.builtin.template: | ||||||
|  |     backup: 'no' | ||||||
|  |     dest: '{{ item.dest }}' | ||||||
|  |     group: '{{ item.group | default(omit) }}' | ||||||
|  |     mode: '{{ item.mode | default(omit) }}' | ||||||
|  |     owner: '{{ item.owner | default(omit) }}' | ||||||
|  |     selevel: '{{ iteml.selevel | default(omit) }}' | ||||||
|  |     serole: '{{ item.serole | default(omit) }}' | ||||||
|  |     setype: '{{ item.setype | default(omit) }}' | ||||||
|  |     seuser: '{{ item.seuser | default(omit) }}' | ||||||
|  |     src: '{{ item.src }}' | ||||||
|  |   loop: '{{ ensure_mariadb.template_list }}' | ||||||
|  |   loop_control: | ||||||
|  |     label: '{{ item.dest }} will be ensured' | ||||||
|  |   notify: | ||||||
|  |     - 'ensure_mariadb.package_facts' | ||||||
|  |     - 'ensure_mariadb.service_facts' | ||||||
|  |     - 'ensure_mariadb.service_reload' | ||||||
|  |     - 'ensure_mariadb.services' | ||||||
|  | - name: 'ensure firewall' | ||||||
|  |   when: | ||||||
|  |     - ansible_system == 'Linux' | ||||||
|  |     - packages["firewalld"] is defined | ||||||
|  |     - packages["python3-firewall"] is defined | ||||||
|  |     - ensure_mariadb is defined | ||||||
|  |     - ensure_mariadb.firewall_list is defined | ||||||
|  |     - ensure_mariadb.firewall_list is iterable | ||||||
|  |   ansible.posix.firewalld: | ||||||
|  |     permanent: '{{ item.permanent }}' | ||||||
|  |     service: '{{ item.service }}' | ||||||
|  |     state: '{{ item.state }}' | ||||||
|  |   loop: '{{ ensure_mariadb.firewall_list }}' | ||||||
|  |   loop_control: | ||||||
|  |     label: '{{ item.service }} will be {{ item.state }}' | ||||||
|  | - name: 'base mod_md store' | ||||||
|  |   when: | ||||||
|  |     - ansible_system == 'Linux' | ||||||
|  |     - ensure_mariadb is defined | ||||||
|  |     - http_vhost is defined | ||||||
|  |     - http_vhost is iterable | ||||||
|  |   ansible.builtin.file: | ||||||
|  |     group: 'mariadb' | ||||||
|  |     owner: 'root' | ||||||
|  |     mode: '0770' | ||||||
|  |     path: '/etc/httpd/md' | ||||||
|  |     state: 'directory' | ||||||
|  |     setype: 'httpd_var_lib_t' | ||||||
|  | - name: 'ensure vhost document roots' | ||||||
|  |   when: | ||||||
|  |     - ansible_system == 'Linux' | ||||||
|  |     - ensure_mariadb is defined | ||||||
|  |     - http_vhost is defined | ||||||
|  |     - http_vhost is iterable | ||||||
|  |     - item.fqdn is defined | ||||||
|  |   ansible.builtin.file: | ||||||
|  |     path: '/srv/http/{{ item.fqdn }}' | ||||||
|  |     state: 'directory' | ||||||
|  |     setype: 'httpd_sys_content_t' | ||||||
|  |   loop: '{{ http_vhost }}' | ||||||
|  |   loop_control: | ||||||
|  |     label: '/srv/http/{{ item.fqdn }} will be ensured' | ||||||
|  | - name: 'ensure website content from git repos' | ||||||
|  |   when: | ||||||
|  |     - ansible_system == 'Linux' | ||||||
|  |     - ensure_mariadb is defined | ||||||
|  |     - http_vhost is defined | ||||||
|  |     - http_vhost is iterable | ||||||
|  |     - item.fqdn is defined | ||||||
|  |     - item.repo is defined | ||||||
|  |   ansible.builtin.git: | ||||||
|  |     accept_hostkey: 'yes' | ||||||
|  |     dest: '/srv/http/{{ item.fqdn }}' | ||||||
|  |     repo: '{{ item.repo }}' | ||||||
|  |   loop: '{{ http_vhost }}' | ||||||
|  |   loop_control: | ||||||
|  |     label: '/srv/http/{{ item.fqdn }} will be populated...' | ||||||
|  | - name: 'ensure services' | ||||||
|  |   when: | ||||||
|  |     - ansible_system == 'Linux' | ||||||
|  |     - ensure_mariadb is defined | ||||||
|  |     - ensure_mariadb.service_list is defined | ||||||
|  |     - ensure_mariadb.service_list is iterable | ||||||
|  |   ansible.builtin.service: | ||||||
|  |     enabled: '{{ item.enabled }}' | ||||||
|  |     name: '{{ item.name }}' | ||||||
|  |     state: '{{ item.state }}' | ||||||
|  |   loop: '{{ ensure_mariadb.service_list }}' | ||||||
|  |   loop_control: | ||||||
|  |     label: '{{ item.name }} will be {{ item.state }}' | ||||||
|  |   notify: | ||||||
|  |     - 'ensure_mariadb.package_facts' | ||||||
|  |     - 'ensure_mariadb.service_facts' | ||||||
|  | - name: 'flush handlers' | ||||||
|  |   meta: 'flush_handlers' | ||||||
|   | |||||||
							
								
								
									
										13
									
								
								vars/Fedora-34-default.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								vars/Fedora-34-default.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | |||||||
|  | --- | ||||||
|  | # vars file for ensure_mariadb | ||||||
|  | package_list: | ||||||
|  |   - name: 'mariadb' | ||||||
|  |     state: 'present' | ||||||
|  |   - name: 'mariadb-server' | ||||||
|  |     state: 'present' | ||||||
|  |   - name: 'phpMyAdmin' | ||||||
|  |     state: 'present' | ||||||
|  | firewall_list: | ||||||
|  |   - permanent: 'yes' | ||||||
|  |     service: 'mysql' | ||||||
|  |     state: 'enabled' | ||||||
							
								
								
									
										2
									
								
								vars/default.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								vars/default.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | |||||||
|  | --- | ||||||
|  | # vars file for ensure_mariadb | ||||||
		Reference in New Issue
	
	Block a user