diff --git a/roles/mariadb/tasks/deploy-docker.yml b/roles/mariadb/tasks/deploy-docker.yml new file mode 100644 index 0000000..f92b001 --- /dev/null +++ b/roles/mariadb/tasks/deploy-docker.yml @@ -0,0 +1,20 @@ +--- +- name: Ensure mariadb container image '{{ mariadb_container_image }}' is {{ mariadb_state }} + community.docker.docker_image: + name: "{{ mariadb_container_image }}" + state: "{{ mariadb_state }}" + source: "{{ mariadb_container_image_source }}" + force_source: "{{ mariadb_container_image_force_source }}" + +- name: Ensure mariadb container '{{ mariadb_container_name }}' is {{ mariadb_container_state }} + community.docker.docker_container: + name: "{{ mariadb_container_name }}" + image: "{{ mariadb_container_image }}" + env: "{{ mariadb_container_environment }}" + ports: "{{ mariadb_container_ports | default(omit, true) }}" + labels: "{{ mariadb_container_labels | default(omit, true) }}" + volumes: "{{ mariadb_container_volumes }}" + networks: "{{ mariadb_container_networks | default(omit, true) }}" + etc_hosts: "{{ mariadb_container_etc_hosts | default(omit, true) }}" + restart_policy: "{{ mariadb_container_restart_policy }}" + state: "{{ mariadb_container_state }}" diff --git a/roles/mariadb/tasks/deploy-podman.yml b/roles/mariadb/tasks/deploy-podman.yml new file mode 100644 index 0000000..ae14211 --- /dev/null +++ b/roles/mariadb/tasks/deploy-podman.yml @@ -0,0 +1,20 @@ +--- +- name: Ensure mariadb container image '{{ mariadb_container_image }}' is {{ mariadb_state }} + containers.podman.podman_image: + name: "{{ mariadb_container_image }}" + state: "{{ mariadb_state }}" + pull: "{{ (mariadb_container_image_source == 'pull') | bool }}" + force: "{{ mariadb_container_image_force_source }}" + +- name: Ensure mariadb container '{{ mariadb_container_name }}' is {{ mariadb_container_state }} + containers.podman.podman_container: + name: "{{ mariadb_container_name }}" + image: "{{ mariadb_container_image }}" + env: "{{ mariadb_container_environment }}" + ports: "{{ mariadb_container_ports | default(omit, true) }}" + labels: "{{ mariadb_container_labels | default(omit, true) }}" + volumes: "{{ mariadb_container_volumes }}" + network: "{{ mariadb_container_networks | default(omit, true) }}" + etc_hosts: "{{ mariadb_container_etc_hosts | default(omit, true) }}" + restart_policy: "{{ mariadb_container_restart_policy }}" + state: "{{ mariadb_container_state }}" diff --git a/roles/mariadb/tasks/main.yml b/roles/mariadb/tasks/main.yml index 0fbb518..a84683f 100644 --- a/roles/mariadb/tasks/main.yml +++ b/roles/mariadb/tasks/main.yml @@ -13,22 +13,7 @@ Supported deployment methods are {{ mariadb_deployment_methods | join(', ') }} when: mariadb_deployment_method not in mariadb_deployment_methods -- name: Ensure mariadb container image '{{ mariadb_container_image }}' is {{ mariadb_state }} - community.docker.docker_image: - name: "{{ mariadb_container_image }}" - state: "{{ mariadb_state }}" - source: "{{ mariadb_container_image_source }}" - force_source: "{{ mariadb_container_image_force_source }}" +- name: Ensure mariadb is deployed using {{ mariadb_deployment_method }} + ansible.builtin.include_tasks: + file: "deploy-{{ mariadb_deployment_method }}.yml" -- name: Ensure mariadb container '{{ mariadb_container_name }}' is {{ mariadb_container_state }} - community.docker.docker_container: - name: "{{ mariadb_container_name }}" - image: "{{ mariadb_container_image }}" - env: "{{ mariadb_container_environment }}" - ports: "{{ mariadb_container_ports | default(omit, true) }}" - labels: "{{ mariadb_container_labels | default(omit, true) }}" - volumes: "{{ mariadb_container_volumes }}" - networks: "{{ mariadb_container_networks | default(omit, true) }}" - etc_hosts: "{{ mariadb_container_etc_hosts | default(omit, true) }}" - restart_policy: "{{ mariadb_container_restart_policy }}" - state: "{{ mariadb_container_state }}" diff --git a/roles/mariadb/vars/main.yml b/roles/mariadb/vars/main.yml index 1bb4e69..c658833 100644 --- a/roles/mariadb/vars/main.yml +++ b/roles/mariadb/vars/main.yml @@ -4,6 +4,7 @@ mariadb_states: - absent mariadb_deployment_methods: - docker + - podman mariadb_container_database_environment: MARIADB_DATABASE: "{{ mariadb_database }}"