74 lines
No EOL
2.1 KiB
YAML
74 lines
No EOL
2.1 KiB
YAML
#SPDX-License-Identifier: MIT-0
|
|
---
|
|
# tasks file for garage
|
|
|
|
- name: Create docker compose directory
|
|
file:
|
|
path: "{{ garage_docker_compose_dir }}"
|
|
state: directory
|
|
mode: '0755'
|
|
|
|
- name: Create garage meta data directory
|
|
file:
|
|
path: "{{ garage_docker_volume_dir }}/meta"
|
|
state: directory
|
|
mode: '0755'
|
|
|
|
- name: Create garage data directory
|
|
file:
|
|
path: "{{ garage_docker_volume_dir }}/data"
|
|
state: directory
|
|
mode: '0755'
|
|
|
|
- name: Generate garage configuration file
|
|
template:
|
|
src: garage.toml.j2
|
|
dest: "{{ garage_docker_compose_dir }}/garage.toml"
|
|
mode: '0644'
|
|
|
|
- name: Generate bcrypt hash for webui password using htpasswd
|
|
ansible.builtin.shell: |
|
|
htpasswd -nbBC 10 "{{ garage_webui_username }}" "{{ garage_webui_password }}"
|
|
register: _garage_webui_password_hash
|
|
changed_when: false
|
|
when: garage_webui_enabled
|
|
|
|
- name: Create docker-compose file for garage
|
|
template:
|
|
src: docker-compose.yml.j2
|
|
dest: "{{ garage_docker_compose_dir }}/docker-compose.yml"
|
|
mode: '0644'
|
|
|
|
- name: Start garage container
|
|
community.docker.docker_compose_v2:
|
|
project_src: "{{ garage_docker_compose_dir }}"
|
|
state: present
|
|
|
|
- name: Wait for garage container to be running
|
|
community.docker.docker_container_info:
|
|
name: "{{ garage_service_name }}"
|
|
register: _garage_container_info
|
|
until: _garage_container_info.container.State.Running | default(false)
|
|
retries: 30
|
|
delay: 2
|
|
|
|
- name: Wait for garage to be ready (check if garage command responds)
|
|
community.docker.docker_container_exec:
|
|
container: "{{ garage_service_name }}"
|
|
command: /garage status
|
|
register: _garage_status_check
|
|
until: _garage_status_check.rc == 0
|
|
retries: 30
|
|
delay: 2
|
|
changed_when: false
|
|
failed_when: false
|
|
|
|
# Include bootstraping tasks (cluster bootstrap)
|
|
- name: Include garage bootstraping tasks
|
|
ansible.builtin.include_tasks: bootstrap.yml
|
|
when: garage_bootstrap_enabled
|
|
|
|
# Include provisioning tasks (S3 keys and buckets)
|
|
- name: Include garage bootstraping tasks
|
|
ansible.builtin.include_tasks: provision.yml
|
|
when: garage_s3_keys | length > 0 |