refactor(mariadb): add state parameter and split container image arguments

This commit is contained in:
transcaffeine 2024-10-27 16:04:07 +01:00
parent d7b7c59f46
commit c847046720
Signed by: transcaffeine
GPG Key ID: 03624C433676E465
2 changed files with 30 additions and 12 deletions

View File

@ -1,8 +1,9 @@
--- ---
mariadb_version: "10.11.9" mariadb_version: "10.11.9"
mariadb_base_path: /var/lib/mariadb mariadb_base_path: /var/lib/mariadb
mariadb_data_path: "{{ mariadb_base_path }}/{{ mariadb_version }}" mariadb_data_path: >-2
{{ mariadb_base_path }}/{{ mariadb_version | split('.') | first }}
mariadb_state: present
mariadb_root_password: ~ mariadb_root_password: ~
mariadb_database: ~ mariadb_database: ~
@ -13,10 +14,24 @@ mariadb_container_base_environment:
MARIADB_ROOT_PASSWORD: "{{ mariadb_root_password }}" MARIADB_ROOT_PASSWORD: "{{ mariadb_root_password }}"
mariadb_container_extra_environment: {} mariadb_container_extra_environment: {}
mariadb_container_name: mariadb mariadb_container_image_registry: docker.io
mariadb_container_image_name: docker.io/mariadb mariadb_container_image_namespace: ~
mariadb_container_image_name: mariadb
mariadb_container_image_tag: ~ mariadb_container_image_tag: ~
mariadb_container_image: "{{ mariadb_container_image_name }}:{{ mariadb_container_image_tag | default(mariadb_version, true) }}" mariadb_container_image: >-2
{{
([
mariadb_container_image_registry | default([], true),
mariadb_container_image_namespace | default([], true),
mariadb_container_image_name,
] | flatten | join('/'))
+ ':' + mariadb_container_image_tag | default(mariadb_version, true)
}}
mariadb_container_image_source: pull
mariadb_container_image_force_source: >-2
{{ mariadb_container_image_tag | default(false, true) | bool }}
mariadb_container_name: mariadb
mariadb_container_base_volumes: mariadb_container_base_volumes:
- "{{ mariadb_data_path }}:{{ mariadb_container_data_path }}:z" - "{{ mariadb_data_path }}:{{ mariadb_container_data_path }}:z"
mariadb_container_extra_volumes: [] mariadb_container_extra_volumes: []
@ -30,3 +45,5 @@ mariadb_container_environment: >-2
if (mariadb_database and mariadb_username and mariadb_password) if (mariadb_database and mariadb_username and mariadb_password)
else {}, recursive=True) else {}, recursive=True)
| combine(mariadb_container_extra_environment) }} | combine(mariadb_container_extra_environment) }}
mariadb_container_state: >-2
{{ (mariadb_state == 'present') | ternary('started', 'absent') }}

View File

@ -1,20 +1,21 @@
--- ---
- name: Ensure mariaDB container image is present on host - name: Ensure mariadb container image '{{ mariadb_container_image }}' is {{ mariadb_state }}
community.docker.docker_image: community.docker.docker_image:
name: "{{ mariadb_container_image }}" name: "{{ mariadb_container_image }}"
state: present state: "{{ mariadb_state }}"
source: pull source: "{{ mariadb_container_image_source }}"
force_source: "{{ mariadb_container_image_force_source }}"
- name: Ensure mariaDB {{ mariadb_version }} is running as '{{ mariadb_container_name }}' - name: Ensure mariadb container '{{ mariadb_container_name }}' is {{ mariadb_container_state }}
community.docker.docker_container: community.docker.docker_container:
name: "{{ mariadb_container_name }}" name: "{{ mariadb_container_name }}"
image: "{{ mariadb_container_image }}" image: "{{ mariadb_container_image }}"
env: "{{ mariadb_container_environment }}" env: "{{ mariadb_container_environment }}"
ports: "{{ mariadb_container_ports }}" ports: "{{ mariadb_container_ports | default(omit, true) }}"
labels: "{{ mariadb_container_labels }}" labels: "{{ mariadb_container_labels | default(omit, true) }}"
volumes: "{{ mariadb_container_volumes }}" volumes: "{{ mariadb_container_volumes }}"
networks: "{{ mariadb_container_networks | default(omit, true) }}" networks: "{{ mariadb_container_networks | default(omit, true) }}"
etc_hosts: "{{ mariadb_container_etc_hosts | default(omit, true) }}" etc_hosts: "{{ mariadb_container_etc_hosts | default(omit, true) }}"
purge_networks: "{{ mariadb_container_purge_networks | default(omit, true) }}" purge_networks: "{{ mariadb_container_purge_networks | default(omit, true) }}"
restart_policy: "{{ mariadb_container_restart_policy }}" restart_policy: "{{ mariadb_container_restart_policy }}"
state: started state: "{{ mariadb_container_state }}"