mirror of
				https://github.com/kevinveenbirkenbach/computer-playbook.git
				synced 2025-10-31 18:29:21 +00:00 
			
		
		
		
	Added draft for mariadb docker role
This commit is contained in:
		
							
								
								
									
										27
									
								
								roles/docker-mariadb/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								roles/docker-mariadb/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | ||||
| # MariaDB Docker Ansible Role | ||||
|  | ||||
| ## Overview | ||||
| This Ansible role facilitates the deployment of a MariaDB server using Docker. It is designed to ensure ease of installation and configuration, with the flexibility to adapt to different environments. | ||||
|  | ||||
| ## Features | ||||
| - **Dockerized MariaDB**: Leverages Docker for MariaDB deployment, ensuring consistency across different environments. | ||||
| - **Customizable Settings**: Allows customization of the MariaDB instance through various Ansible variables. | ||||
| - **Network Configuration**: Includes setup of a dedicated Docker network for MariaDB. | ||||
| - **Idempotent Design**: Ensures that repeat runs of the playbook do not result in unwanted changes. | ||||
| - **Security Focused**: Implements best practices for securing the MariaDB root password. | ||||
|  | ||||
| ## Prerequisites | ||||
| Before using this role, ensure you have the following: | ||||
| - Ansible installed on the control machine. | ||||
| - Docker installed on the target host(s). | ||||
| - Access to the target host(s) via SSH. | ||||
|  | ||||
| ## Configuration | ||||
| Configure the role by setting the required variables. These can be set in the playbook or in a separate variable file: | ||||
| - `central_mariadb_root_password`: The root password for the MariaDB server. | ||||
| - `database_databasename`: The name of the initial database to create. | ||||
| - `database_username`: The username for the database user. | ||||
| - `database_password`: The password for the database user. | ||||
|  | ||||
| ## Contributing | ||||
| Contributions to this project are welcome. Please submit issues and pull requests with your suggestions. | ||||
							
								
								
									
										21
									
								
								roles/docker-mariadb/handlers/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								roles/docker-mariadb/handlers/main.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| - name: create database | ||||
|   mysql_db: | ||||
|     name: "{{database_databasename}}" | ||||
|     state: present | ||||
|     login_user: root | ||||
|     login_password: "{{central_mariadb_root_password}}" | ||||
|     login_host: 127.0.0.1 | ||||
|     login_port: 3306 | ||||
|   listen: create database | ||||
|  | ||||
| - name: create database user | ||||
|   mysql_user: | ||||
|     name: "{{database_username}}" | ||||
|     password: "{{database_password}}" | ||||
|     priv: '{{database_databasename}}.*:ALL' | ||||
|     state: present | ||||
|     login_user: root | ||||
|     login_password: "{{central_mariadb_root_password}}" | ||||
|     login_host: 127.0.0.1 | ||||
|     login_port: 3306 | ||||
|   listen: create database | ||||
							
								
								
									
										23
									
								
								roles/docker-mariadb/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								roles/docker-mariadb/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| - name: Create Docker network for MariaDB | ||||
|   docker_network: | ||||
|     name: mariadb_network | ||||
|     state: present | ||||
|   when: run_once_backup_docker_to_local is not defined | ||||
|  | ||||
| - name: install MariaDB | ||||
|   docker_container: | ||||
|     name: mariadb | ||||
|     image: mariadb:latest | ||||
|     detach: yes | ||||
|     env: | ||||
|       MARIADB_ROOT_PASSWORD: "{{central_mariadb_root_password}}" | ||||
|     networks: | ||||
|       - name: mariadb_network | ||||
|     published_ports: | ||||
|       - "127.0.0.1:3306:3306" | ||||
|   when: run_once_backup_docker_to_local is not defined | ||||
|  | ||||
| - name: run the docker_mariadb tasks once | ||||
|   set_fact: | ||||
|     run_once_backup_docker_to_local: true | ||||
|   when: run_once_backup_docker_to_local is not defined | ||||
		Reference in New Issue
	
	Block a user