fix: replace semaphore role with new Podman + Quadlet version
This commit is contained in:
@@ -1,50 +1,48 @@
|
||||
---
|
||||
# file: roles/semaphore/tasks/main.yml
|
||||
|
||||
- name: Create Semaphore directory
|
||||
ansible.builtin.file:
|
||||
path: "{{ semaphore_compose_dir }}"
|
||||
state: directory
|
||||
owner: wed
|
||||
group: docker
|
||||
mode: '0755'
|
||||
|
||||
- name: Copy Compose file from boilerplate
|
||||
ansible.builtin.copy:
|
||||
src: "{{ playbook_dir }}/../../boilerplates/semaphore/compose.yaml"
|
||||
dest: "{{ semaphore_compose_dir }}/compose.yaml"
|
||||
owner: wed
|
||||
group: docker
|
||||
mode: '0644'
|
||||
|
||||
- name: Deploy Semaphore .env file
|
||||
ansible.builtin.template:
|
||||
src: env.j2
|
||||
dest: "{{ semaphore_compose_dir }}/.env"
|
||||
owner: wed
|
||||
group: docker
|
||||
mode: '0600'
|
||||
|
||||
- name: Copy SSH key for Ansible authentication
|
||||
ansible.builtin.copy:
|
||||
src: "{{ semaphore_ssh_key_file }}"
|
||||
dest: "{{ semaphore_compose_dir }}/ansible_key"
|
||||
owner: "1001"
|
||||
group: "1001"
|
||||
mode: '0600'
|
||||
|
||||
- name: Start Semaphore containers
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: "{{ semaphore_compose_dir }}"
|
||||
- name: Ensure cast group exists
|
||||
ansible.builtin.group:
|
||||
name: "{{ semaphore_group }}"
|
||||
state: present
|
||||
register: semaphore_compose
|
||||
system: true
|
||||
|
||||
- name: Wait for Semaphore to be ready
|
||||
ansible.builtin.uri:
|
||||
url: "http://localhost:3000/api/ping"
|
||||
method: GET
|
||||
status_code: 200
|
||||
register: semaphore_health
|
||||
retries: 48
|
||||
delay: 5
|
||||
until: semaphore_health.status == 200
|
||||
- name: Ensure cast user exists
|
||||
ansible.builtin.user:
|
||||
name: "{{ semaphore_user }}"
|
||||
group: "{{ semaphore_group }}"
|
||||
shell: /bin/bash
|
||||
create_home: true
|
||||
state: present
|
||||
|
||||
- name: Create Semaphore data directories
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
owner: "{{ semaphore_user }}"
|
||||
group: "{{ semaphore_group }}"
|
||||
mode: "0755"
|
||||
loop:
|
||||
- "{{ semaphore_data_dir }}"
|
||||
- "{{ semaphore_config_dir }}"
|
||||
|
||||
- name: Create Quadlet file for Semaphore
|
||||
ansible.builtin.template:
|
||||
src: semaphore.container.j2
|
||||
dest: "/etc/containers/systemd/{{ semaphore_container_name }}.container"
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
notify: reload systemd
|
||||
|
||||
- name: Ensure Semaphore container is started
|
||||
ansible.builtin.systemd:
|
||||
name: "{{ semaphore_container_name }}"
|
||||
state: started
|
||||
enabled: true
|
||||
daemon_reload: true
|
||||
|
||||
- name: Wait for Semaphore to become available
|
||||
ansible.builtin.wait_for:
|
||||
host: "127.0.0.1"
|
||||
port: "{{ semaphore_port }}"
|
||||
delay: 5
|
||||
timeout: 60
|
||||
Reference in New Issue
Block a user