mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-15 08:30:46 +02:00
- Introduce global async configuration in group_vars/all/00_general.yml: - ASYNC_ENABLED (disabled in debug mode) - ASYNC_TIME (default 300s, omitted if async disabled) - ASYNC_POLL (0 for async fire-and-forget, 10 for sync mode) - Replace hardcoded async/poll values with global vars in: - svc-db-openldap (03_users.yml, 04_update.yml) - web-app-mig (02_build_data.yml) - web-app-nextcloud (03_admin.yml, 04_system_config.yml, 05_plugin.yml, 06_plugin_routines.yml, 07_plugin_enable_and_configure.yml) - Guard changed_when and failed_when conditions to only evaluate in synchronous mode to avoid accessing undefined rc/stdout/stderr in async runs https://chatgpt.com/share/689cd8cc-7fbc-800f-bd06-a667561573bf
23 lines
887 B
YAML
23 lines
887 B
YAML
- name: Load System Nextcloud configuration variables
|
|
include_vars:
|
|
file: system.yml
|
|
|
|
- name: "Apply Nextcloud system configs (batched shell)"
|
|
ansible.builtin.shell: |
|
|
set -euo pipefail
|
|
{% for item in nextcloud_system_config %}
|
|
{{ nextcloud_docker_exec_occ }} \
|
|
config:system:set {{ item.parameter }}{% if item.type is defined %} --type {{ item.type }}{% endif %} \
|
|
--value '{{ (item.value | string) | regex_replace("'", "'" ~ '"' ~ "'" ~ '"' ~ "'") }}'
|
|
{% endfor %}
|
|
args:
|
|
executable: /bin/bash
|
|
register: syscfg_shell
|
|
changed_when: >
|
|
not ASYNC_ENABLED and
|
|
( ((syscfg_shell.stdout | default('')) ~ (syscfg_shell.stderr | default('')))
|
|
is search(' set to ') )
|
|
failed_when: not ASYNC_ENABLED and syscfg_shell.rc != 0
|
|
async: "{{ ASYNC_TIME if ASYNC_ENABLED else omit }}"
|
|
poll: "{{ ASYNC_POLL if ASYNC_ENABLED else omit }}"
|