1
0
Fork 0
mash-ansible-role-nextcloud/tasks/validate_config.yml

57 lines
2.7 KiB
YAML
Raw Normal View History

2023-03-17 10:34:15 +01:00
---
- name: Fail if required Nextcloud settings not defined
ansible.builtin.fail:
msg: >-
You need to define a required configuration setting (`{{ item }}`) for using this role.
when: "vars[item] == ''"
with_items:
- nextcloud_hostname
- nextcloud_uid
- nextcloud_gid
- nextcloud_database_hostname
- nextcloud_database_name
- nextcloud_database_username
- nextcloud_database_password
- name: Fail if deprecated Nextcloud settings are still defined
ansible.builtin.fail:
msg: >-
You need to drop setting (`{{ item }}`) as it is not used anymore in the Nextcloud role.
when: "item in vars"
with_items:
- nextcloud_preview_squareSizes
- nextcloud_preview_widthSizes
- nextcloud_preview_heightSizes
- nextcloud_preview_system_jpeg_quality
- name: (Deprecation) Catch and report renamed Nextcloud variables
ansible.builtin.fail:
msg: >-
Your configuration contains a variable, which now has a different name.
Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`).
when: "vars | dict2items | selectattr('key', item.comparison, item.old) | list | items2dict"
with_items:
- {'comparison': 'equalto', 'old': 'nextcloud_container_image_customizations_php_imageick_installation_enabled', 'new': 'nextcloud_container_image_customizations_php_imagick_installation_enabled'}
- {'comparison': 'equalto', 'old': 'nextcloud_container_image_customizations_php_imageick_installation_package', 'new': '<superseded by nextcloud_container_image_customizations_php_imagick_installation_packages>'}
2023-03-17 10:34:15 +01:00
- when: nextcloud_container_labels_traefik_enabled | bool
block:
- name: Fail if required Nextcloud Traefik settings not defined
ansible.builtin.fail:
msg: >-
You need to define a required configuration setting (`{{ item }}`).
when: "vars[item] == ''"
with_items:
- nextcloud_container_labels_traefik_hostname
- nextcloud_container_labels_traefik_path_prefix
# We ensure it doesn't end with a slash, because we handle both (slash and no-slash).
# Knowing that `nextcloud_container_labels_traefik_path_prefix` does not end with a slash
# ensures we know how to set these routes up without having to do "does it end with a slash" checks elsewhere.
- name: Fail if nextcloud_container_labels_traefik_path_prefix ends with a slash
ansible.builtin.fail:
msg: >-
nextcloud_container_labels_traefik_path_prefix (`{{ nextcloud_container_labels_traefik_path_prefix }}`) must either be `/` or not end with a slash (e.g. `/nextcloud`).
when: "nextcloud_container_labels_traefik_path_prefix != '/' and nextcloud_container_labels_traefik_path_prefix[-1] == '/'"