chore: add quote for all string in yaml

This commit is contained in:
Adrien Waksberg 2025-05-24 21:53:36 +02:00
commit 6b1a4a54f9
12 changed files with 166 additions and 195 deletions

View file

@ -1,18 +1,18 @@
---
on: [push]
on: ["push"]
jobs:
lint:
runs-on: docker
runs-on: "docker"
container:
image: code.waks.be/nishiki/molecule:docker
image: "code.waks.be/nishiki/molecule:docker"
steps:
- uses: actions/checkout@v3
- run: ansible-lint .
- run: yamllint .
- uses: "actions/checkout@v3"
- run: "ansible-lint ."
- run: "yamllint ."
molecule:
runs-on: docker
runs-on: "docker"
container:
image: code.waks.be/nishiki/molecule:docker
image: "code.waks.be/nishiki/molecule:docker"
steps:
- uses: actions/checkout@v3
- run: molecule test
- uses: "actions/checkout@v3"
- run: "molecule test"

2
.gitignore vendored
View file

@ -1,2 +1,2 @@
.kitchen/*
*.pyc
.ansible

View file

@ -1,29 +0,0 @@
---
sudo: required
dist: bionic
addons:
apt:
packages:
- python3
- python3-pip
- python3-setuptools
env:
- ANSIBLE_VERSION=2.7.16
- ANSIBLE_VERSION=2.8.8
- ANSIBLE_VERSION=2.9.4
services:
- docker
before_install:
- sudo pip3 install ansible==${ANSIBLE_VERSION}
- sudo pip3 install molecule 'molecule[docker]' docker testinfra ansible-lint yamllint
- git clone https://github.com/ansible/galaxy-lint-rules.git
script:
- ansible --version
- molecule test
notifications:
webhooks: https://galaxy.ansible.com/api/v1/notifications/

View file

@ -1,12 +1,22 @@
---
extends: default
extends: "default"
ignore: |
.kitchen*
vendor/
.forgejo/
rules:
line-length:
max: 120
level: warning
level: "warning"
truthy: false
comments:
min-spaces-from-content: 1
comments-indentation: false
braces:
max-spaces-inside: 1
octal-values:
forbid-implicit-octal: true
forbid-explicit-octal: true
quoted-strings:
quote-type: "double"
required: true

View file

@ -3,9 +3,9 @@ mariadb_use_official_repository: true
mariadb_branch: 10.6
mariadb_repository: |
deb http://mariadb.mirrors.ovh.net/MariaDB/repo/{{ mariadb_branch }}/debian {{ ansible_distribution_release }} main
mariadb_repository_key_id: '0xF1656F24C74CD1D8'
mariadb_repository_key_server: hkp://keyserver.ubuntu.com:80
mariadb_user: root
mariadb_repository_key_id: "0xF1656F24C74CD1D8"
mariadb_repository_key_server: "hkp://keyserver.ubuntu.com:80"
mariadb_user: "root"
mariadb_master: false
mariadb_autorestart: false
mariadb_users: []
@ -14,37 +14,37 @@ mariadb_config: {}
mariadb_default_config:
client-server: {}
client:
default-character-set: utf8mb4
default-character-set: "utf8mb4"
mysql:
default-character-set: utf8mb4
default-character-set: "utf8mb4"
server: {}
mariadb: {}
mysqld_safe:
socket: /var/run/mysqld/mysqld.sock
socket: "/var/run/mysqld/mysqld.sock"
nice: 0
skip_log_error: true
syslog: true
mysqld:
user: mysql
pid-file: /var/run/mysqld/mysqld.pid
socket: /var/run/mysqld/mysqld.sock
bind-address: 127.0.0.1
user: "mysql"
pid-file: "/var/run/mysqld/mysqld.pid"
socket: "/var/run/mysqld/mysqld.sock"
bind-address: "127.0.0.1"
port: 3306
basedir: /usr
datadir: /var/lib/mysql
tmpdir: /tmp
lc-messages-dir: /usr/share/mysql
basedir: "/usr"
datadir: "/var/lib/mysql"
tmpdir: "/tmp"
lc-messages-dir: "/usr/share/mysql"
skip-external-locking: true
key_buffer_size: 16M
max_allowed_packet: 16M
thread_stack: 192K
key_buffer_size: "16M"
max_allowed_packet: "16M"
thread_stack: "192K"
thread_cache_size: 8
myisam_recover_options: BACKUP
query_cache_limit: 1M
query_cache_size: 16M
log_error: /var/log/mysql/error.log
myisam_recover_options: "BACKUP"
query_cache_limit: "1M"
query_cache_size: "16M"
log_error: "/var/log/mysql/error.log"
expire_logs_days: 10
max_binlog_size: 100M
character-set-server: utf8mb4
collation-server: utf8mb4_general_ci
mariadb_full_config: '{{ mariadb_default_config | combine(mariadb_config, recursive=True) }}'
max_binlog_size: "100M"
character-set-server: "utf8mb4"
collation-server: "utf8mb4_general_ci"
mariadb_full_config: "{{ mariadb_default_config | combine(mariadb_config, recursive=True) }}"

View file

@ -1,6 +1,6 @@
---
- name: Restart mariadb
- name: "Restart mariadb"
ansible.builtin.service:
name: mysql
state: restarted
when: mariadb_autorestart|bool
name: "mysql"
state: "restarted"
when: "mariadb_autorestart | bool"

View file

@ -1,23 +1,23 @@
---
galaxy_info:
role_name: mariadb
namespace: nishiki
author: Adrien Waksberg
company: Adrien Waksberg
description: Install and configure mariadb
license: Apache2
role_name: "mariadb"
namespace: "nishiki"
author: "Adrien Waksberg"
company: "Adrien Waksberg"
description: "Install and configure mariadb"
license: "Apache2"
min_ansible_version: "2.9"
platforms:
- name: Debian
- name: "Debian"
versions:
- bullseye
- bookworm
- "bullseye"
- "bookworm"
galaxy_tags:
- database
- sql
- mysql
- mariadb
- "database"
- "sql"
- "mysql"
- "mariadb"
dependencies: []

View file

@ -1,28 +1,28 @@
---
- name: Converge
hosts: all
- name: "Converge"
hosts: "all"
roles:
- "nishiki.mariadb"
vars:
mariadb_password: secret
mariadb_autorestart: yes
mariadb_master: yes
mariadb_password: "secret"
mariadb_autorestart: true
mariadb_master: true
mariadb_config:
client-server: {}
mysqld:
datadir: /opt/mariadb
datadir: "/opt/mariadb"
server-id: 5
log-bin: mysql-bin
log-bin: "mysql-bin"
mariadb_databases:
- name: test
- name: "test"
mariadb_users:
- name: toto
host: '%'
password: test
- name: "toto"
host: "%"
password: "test"
privileges:
- 'test.*:ALL'
- "test.*:ALL"
pre_tasks:
- name: update apt cache
- name: "Update apt cache"
ansible.builtin.apt:
update_cache: true

View file

@ -1,24 +1,20 @@
---
driver:
name: docker
name: "docker"
platforms:
- name: debian12
image: code.waks.be/nishiki/molecule:debian12
- name: "debian12"
image: "code.waks.be/nishiki/molecule:debian12"
privileged: true
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:rw
cgroupns_mode: host
command: /bin/systemd
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
cgroupns_mode: "host"
command: "/bin/systemd"
capabilities:
- SYS_ADMIN
- "SYS_ADMIN"
provisioner:
inventory:
host_vars:
debian12:
mariadb_use_official_repository: false
lint: |
set -e
yamllint .
ansible-lint .
verifier:
name: testinfra
name: "testinfra"

View file

@ -1,57 +1,57 @@
---
- name: Create the data directory
- name: "Create the data directory"
ansible.builtin.file:
path: '{{ mariadb_full_config.mysqld.datadir }}'
owner: '{{ mariadb_full_config.mysqld.user }}'
group: root
mode: 0750
state: directory
tags: mariadb
path: "{{ mariadb_full_config.mysqld.datadir }}"
owner: "{{ mariadb_full_config.mysqld.user }}"
group: "root"
mode: "0750"
state: "directory"
tags: "mariadb"
- name: Initialize database # noqa no-changed-when
- name: "Initialize database" # noqa no-changed-when
ansible.builtin.command:
args:
argv:
- mysql_install_db
- '--datadir={{ mariadb_full_config.mysqld.datadir }}'
- '--user={{ mariadb_full_config.mysqld.user }}'
- '--skip-name-resolve'
- '--no-defaults'
tags: mariadb
- "mysql_install_db"
- "--datadir={{ mariadb_full_config.mysqld.datadir }}"
- "--user={{ mariadb_full_config.mysqld.user }}"
- "--skip-name-resolve"
- "--no-defaults"
tags: "mariadb"
- name: Start mariadb
- name: "Start mariadb"
ansible.builtin.service:
name: mysql
state: started
tags: mariadb
name: "mysql"
state: "started"
tags: "mariadb"
- name: Wait mysql start
- name: "Wait mysql start"
ansible.builtin.pause:
seconds: 5
tags: mariadb
tags: "mariadb"
- name: Set root password # noqa no-changed-when
ansible.builtin.command: 'mysqladmin -u root password {{ mariadb_password }}'
tags: mariadb
- name: "Set root password" # noqa no-changed-when
ansible.builtin.command: "mysqladmin -u root password {{ mariadb_password }}"
tags: "mariadb"
- name: Remove anonymous users
- name: "Remove anonymous users"
community.mysql.mysql_user:
name: ''
name: ""
host_all: true
state: absent
login_user: '{{ mariadb_user }}'
login_password: '{{ mariadb_password }}'
tags: mariadb
state: "absent"
login_user: "{{ mariadb_user }}"
login_password: "{{ mariadb_password }}"
tags: "mariadb"
- name: Remove root user without password
- name: "Remove root user without password"
community.mysql.mysql_user:
name: root
host: '{{ item }}'
state: absent
login_user: '{{ mariadb_user }}'
login_password: '{{ mariadb_password }}'
name: "root"
host: "{{ item }}"
state: "absent"
login_user: "{{ mariadb_user }}"
login_password: "{{ mariadb_password }}"
loop:
- 127.0.0.1
- '::1'
- '{{ ansible_nodename }}'
tags: mariadb
- "127.0.0.1"
- "::1"
- "{{ ansible_nodename }}"
tags: "mariadb"

View file

@ -1,55 +1,49 @@
---
- name: Install dependencies packages
- name: "Install dependencies packages"
ansible.builtin.package:
name:
- gpg
- python3-mysqldb
retries: 2
register: result
until: result is succeeded
tags: mariadb
- "gpg"
- "python3-mysqldb"
tags: "mariadb"
- name: Install official repository
ansible.builtin.import_tasks: repo.yml
when: mariadb_use_official_repository|bool
- name: "Install official repository"
ansible.builtin.import_tasks: "repo.yml"
when: "mariadb_use_official_repository | bool"
- name: Install package
- name: "Install package"
ansible.builtin.package:
name:
- mariadb-server
retries: 2
register: result
until: result is succeeded
tags: mariadb
- "mariadb-server"
tags: "mariadb"
- name: Copy configuration file
- name: "Copy configuration file"
ansible.builtin.template:
src: my.cnf.j2
dest: /etc/mysql/my.cnf
owner: root
group: root
mode: 0644
notify: Restart mariadb
tags: mariadb
src: "my.cnf.j2"
dest: "/etc/mysql/my.cnf"
owner: "root"
group: "root"
mode: "0644"
notify: "Restart mariadb"
tags: "mariadb"
- name: Check if datadir exist
- name: "Check if datadir exist"
ansible.builtin.stat:
path: "{{ mariadb_full_config.mysqld.datadir }}"
register: st
tags: mariadb
register: "st"
tags: "mariadb"
- name: Initialize the database
ansible.builtin.import_tasks: initdb.yml
when: not st.stat.exists
- name: "Initialize the database"
ansible.builtin.import_tasks: "initdb.yml"
when: "not st.stat.exists"
- name: Enable and start the service
- name: "Enable and start the service"
ansible.builtin.service:
name: mysql
state: started
name: "mysql"
state: "started"
enabled: true
tags: mariadb
tags: "mariadb"
- name: Manage users
- name: "Manage users"
community.mysql.mysql_user:
name: "{{ item.name }}"
host: "{{ item.host }}"
@ -62,10 +56,10 @@
loop_control:
label: "{{ item.name }}@{{ item.host }}"
run_once: true
when: mariadb_master|bool
tags: mariadb
when: "mariadb_master | bool"
tags: "mariadb"
- name: Manage databases
- name: "Manage databases"
community.mysql.mysql_db:
name: "{{ item.name }}"
state: "{{ item.state | default('present') }}"
@ -75,5 +69,5 @@
loop_control:
label: "{{ item.name }}"
run_once: true
when: mariadb_master|bool
tags: mariadb
when: "mariadb_master | bool"
tags: "mariadb"

View file

@ -1,10 +1,10 @@
---
- name: Add gpg key for mariadb repository
- name: "Add gpg key for mariadb repository"
ansible.builtin.apt_key:
url: https://supplychain.mariadb.com/MariaDB-Server-GPG-KEY
tags: mariadb
url: "https://supplychain.mariadb.com/MariaDB-Server-GPG-KEY"
tags: "mariadb"
- name: Add official repo
- name: "Add official repo"
ansible.builtin.apt_repository:
repo: "{{ mariadb_repository }}"
tags: mariadb
tags: "mariadb"