From a26e89afac6db1bd1704393513718b2270d52a57 Mon Sep 17 00:00:00 2001 From: transcaffeine Date: Sat, 9 Aug 2025 21:39:39 +0200 Subject: [PATCH] feat(ara): add ansible role for ara records ansible --- roles/ara/README.md | 0 roles/ara/defaults/main/container.yml | 25 +++++++++++++++++++++++++ roles/ara/defaults/main/main.yml | 5 +++++ roles/ara/meta/main.yml | 0 roles/ara/tasks/deploy-docker.yml | 12 ++++++++++++ roles/ara/tasks/deploy-podman.yml | 12 ++++++++++++ roles/ara/vars/main.yml | 7 +++++++ 7 files changed, 61 insertions(+) create mode 100644 roles/ara/README.md create mode 100644 roles/ara/defaults/main/container.yml create mode 100644 roles/ara/defaults/main/main.yml create mode 100644 roles/ara/meta/main.yml create mode 100644 roles/ara/tasks/deploy-docker.yml create mode 100644 roles/ara/tasks/deploy-podman.yml create mode 100644 roles/ara/vars/main.yml diff --git a/roles/ara/README.md b/roles/ara/README.md new file mode 100644 index 0000000..e69de29 diff --git a/roles/ara/defaults/main/container.yml b/roles/ara/defaults/main/container.yml new file mode 100644 index 0000000..7c358b7 --- /dev/null +++ b/roles/ara/defaults/main/container.yml @@ -0,0 +1,25 @@ +--- +ara_container_image_registry: "quay.io" +ara_container_image_namespace: "recordsansible" +ara_container_image_repository: "ara-api" +ara_container_image_name: >-2 + {{ [ + ara_container_image_registry | default([], true), + ara_container_image_namespace | default([], true), + ara_container_image_repository + ] | flatten | join('/') }} +ara_container_image_tag: ~ #TODO +ara_container_image: >-2 + {{ [ + ara_container_image_name, + ara_container_image_tag | default(ara_version, true) + ] | join(':') }} +ara_container_image_source: "pull" +ara_container_image_force_source: >-2 + {{ ara_container_image_tag | default(false, true) | bool }} +ara_container_image_pull: "{{ ara_container_image_source == 'pull' }}" +ara_container_image_force_pull: >-2 + {{ ara_container_image_pull and ara_container_image_force_source }} +ara_container_image_state: "{{ ara_state }}" +ara_container_state: >-2 + {{ (ara_state == 'present') | ternary('started', 'absent') }} diff --git a/roles/ara/defaults/main/main.yml b/roles/ara/defaults/main/main.yml new file mode 100644 index 0000000..d8f003d --- /dev/null +++ b/roles/ara/defaults/main/main.yml @@ -0,0 +1,5 @@ +--- +ara_user: "ara" +ara_version: "1.7.2" +ara_state: "present" +ara_deployment_method: "docker" diff --git a/roles/ara/meta/main.yml b/roles/ara/meta/main.yml new file mode 100644 index 0000000..e69de29 diff --git a/roles/ara/tasks/deploy-docker.yml b/roles/ara/tasks/deploy-docker.yml new file mode 100644 index 0000000..e3788ab --- /dev/null +++ b/roles/ara/tasks/deploy-docker.yml @@ -0,0 +1,12 @@ +--- +- name: Ensure ara container image '{{ ara_container_image }}' is {{ ara_container_image_state }} + community.docker.docker_image: + name: "{{ ara_container_image }}" + state: "{{ ara_container_image_state }}" + source: "{{ ara_container_image_source }}" + force_source: "{{ ara_container_image_force_source }}" + +- name: Ensure ara container '{{ ara_container_name }}' is {{ ara_container_state }} + community.docker.docker_container: + name: "{{ ara_container_name }}" + image: "{{ ara_container_image }}" diff --git a/roles/ara/tasks/deploy-podman.yml b/roles/ara/tasks/deploy-podman.yml new file mode 100644 index 0000000..559870d --- /dev/null +++ b/roles/ara/tasks/deploy-podman.yml @@ -0,0 +1,12 @@ +--- +- name: Ensure ara container image '{{ ara_container_image }}' is {{ ara_container_image_state }} + containers.podman.podman_image: + name: "{{ ara_container_image }}" + state: "{{ ara_container_image_state }}" + pull: "{{ ara_container_image_pull }}" + force: "{{ ara_container_image_force_pull }}" + +- name: Ensure ara container '{{ ara_container_name }}' is {{ ara_container_state }} + containers.podman.podman_container: + name: "{{ ara_container_name }}" + image: "{{ ara_container_image }}" diff --git a/roles/ara/vars/main.yml b/roles/ara/vars/main.yml new file mode 100644 index 0000000..cfc36a8 --- /dev/null +++ b/roles/ara/vars/main.yml @@ -0,0 +1,7 @@ +--- +ara_states: + - "present" + - "absent" +ara_deployment_method: + - "docker" + - "podman"