1
0
Fork 0
mash-ansible-role-nextcloud/tasks/validate_config.yml
Gergely Horváth 6b3c9b95d5
Change of preview generation default values. (#20)
* Change of preview generation default values.

According to the [docs](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/previews_configuration.html),
some variables are unsupported, while the default of others have changed.

* is defined is not used, changing "null" handling

Luckily it works as numbers as string are accepted.

* check for unused NC variables

* this is an app setting, not a system setting

* Deprecate nextcloud_preview_system_jpeg_quality, not nextcloud_preview_app_jpeg_quality

Ref: https://github.com/mother-of-all-self-hosting/ansible-role-nextcloud/pull/20#discussion_r1686902142

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2024-07-30 20:55:05 +03:00

56 lines
2.7 KiB
YAML

---
- 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>'}
- 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] == '/'"