mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 10:59:59 +00:00
Add tests/lint/repository/test_task_file_numbering.py: numbered task files use exactly two leading digits, a numbered *_core.yml must be 00_core.yml, per directory the numbers are unique/consecutive and start at 01 (00 with a core file), numbered includes appear in ascending order, and shared helpers live in tasks/utils/ instead of the numbered chain. Apply it across every role: rename NN_core.yml to 00_core.yml with a consecutive down-shift of the siblings, move letter-suffix children into a subdirectory named after their parent task, relocate helpers included from more than one place into tasks/utils/, and update every reference (include_tasks, path_absolute, .ansible-lint-ignore, requirement docs). Legacy narration comments in the touched files are deleted; the upstream xwiki.properties reference block opts out via nocheck. The unused MAILU_IP6_PUBLIC var (only ever named in now-removed comments) is dropped. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
37 lines
1.6 KiB
YAML
37 lines
1.6 KiB
YAML
---
|
|
- name: "🔍 Resolve {{ application_id }} hosting node + container id"
|
|
ansible.builtin.include_tasks: "{{ lookup('path_absolute', 'roles/sys-svc-compose/tasks/utils/swarm/resolve_host_cid.yml') }}"
|
|
vars:
|
|
resolve_service_key: semaphore
|
|
resolve_output_prefix: SEMAPHORE
|
|
resolve_compose_cid: "{{ SEMAPHORE_NAME }}"
|
|
|
|
- name: "⏳ Wait until the Semaphore API/DB is ready"
|
|
ansible.builtin.shell: > # nocheck: container-exec-resolver runtime-resolved CID, delegated to the hosting node
|
|
container exec {{ SEMAPHORE_LOCAL_CID | quote }}
|
|
semaphore user list
|
|
register: semaphore_user_list
|
|
changed_when: false
|
|
retries: 30
|
|
delay: 5
|
|
until: semaphore_user_list.rc == 0
|
|
delegate_to: "{{ SEMAPHORE_HOST_NODE }}"
|
|
|
|
- name: "👤 Ensure the OIDC administrator is an external Semaphore admin"
|
|
ansible.builtin.shell: > # nocheck: container-exec-resolver runtime-resolved CID, delegated to the hosting node
|
|
container exec {{ SEMAPHORE_LOCAL_CID | quote }}
|
|
semaphore user add
|
|
--admin --external
|
|
--login {{ SEMAPHORE_OIDC_ADMIN_LOGIN | quote }}
|
|
--name {{ SEMAPHORE_OIDC_ADMIN_NAME | quote }}
|
|
--email {{ SEMAPHORE_OIDC_ADMIN_EMAIL | quote }}
|
|
delegate_to: "{{ SEMAPHORE_HOST_NODE }}"
|
|
register: semaphore_oidc_admin
|
|
changed_when: semaphore_oidc_admin.rc == 0
|
|
failed_when: >-
|
|
semaphore_oidc_admin.rc != 0
|
|
and 'duplicate key' not in (semaphore_oidc_admin.stderr | default('') | lower)
|
|
and 'exist' not in (semaphore_oidc_admin.stderr | default('') | lower)
|
|
and 'exist' not in (semaphore_oidc_admin.stdout | default('') | lower)
|
|
when: SEMAPHORE_OIDC_ADMIN_LOGIN not in (semaphore_user_list.stdout_lines | default([]))
|