Playbook de création d'une bdd.

This commit is contained in:
William 2022-07-01 23:14:33 +02:00
parent c5d6c67835
commit 78eb056e09
3 changed files with 54 additions and 8 deletions

2
.gitignore vendored
View File

@ -1,3 +1,3 @@
/playbook.retry
/hosts.ini
/vars.json
/*.json

View File

@ -2,15 +2,21 @@
This playbook installs app from repository and bind Traefik on defined host.
## Usage
## Manage app
Copy then change values of hosts example file :
Available playbooks:
+ app-install
+ app-start
+ app-stop
Start by copy then change values of hosts example file :
```bash
$ cp hosts.example.ini hosts.ini
```
Then create a file `vars.json` vars who contain :
Then create a file `vars.json` who contain :
```json
{
@ -35,8 +41,28 @@ Then run a playbook:
$ ansible-playbook -i hosts.ini -e @vars.json playbooks/app-install.yml
```
## Available playbooks:
## Manage database
+ app-install
+ app-start
+ app-stop
Available playbooks:
+ db-create
First create a file `dbvars.json` who contain :
```json
{
"container_name": "myappdb",
"envvars": {
"MYSQL_ROOT_PASSWORD": "superpassword",
"MYSQL_DATABASE": "myappdb",
"MYSQL_USER": "user",
"MYSQL_PASSWORD": "password"
}
}
```
Then run a playbook:
```bash
$ ansible-playbook -i hosts.ini -e @dbvars.json playbooks/db-create.yml
```

20
playbooks/db-create.yml Normal file
View File

@ -0,0 +1,20 @@
---
- name: Create mysql database
hosts: webservers
become: yes
tasks:
- name: Create database volume
community.docker.docker_volume:
name: "{{ container_name }}"
- name: Create database container
community.docker.docker_container:
image: mysql:8.0
name: "{{ container_name }}"
restart_policy: unless-stopped
networks:
- name: web
volumes:
- "{{ container_name }}:/var/lib/mysql"
env: "{{ envvars }}"