Skip to content

refactor(roles/nextcloud): parameterize OS-specific names for multi-OS support#254

Draft
danyalberchtoldlf wants to merge 2 commits into
mainfrom
feat/nextcloud-os-handling
Draft

refactor(roles/nextcloud): parameterize OS-specific names for multi-OS support#254
danyalberchtoldlf wants to merge 2 commits into
mainfrom
feat/nextcloud-os-handling

Conversation

@danyalberchtoldlf
Copy link
Copy Markdown
Contributor

Move the hardcoded RHEL-specific web server user/group (apache), the PHP-FPM service name (php-fpm) and the base package list out of the role logic into vars/RedHat.yml, loaded via shared/platform-variables.yml.

Expose nextcloud__webserver_user, nextcloud__webserver_group and nextcloud__php_fpm_service_name as overridable variables and use them throughout the tasks, the deployed systemd services and the notify_push unit, as well as the nextcloud-update script.

Guard the SELinux restorecon tasks with the selinux status fact and switch the update script's SELinux blocks to ansible_facts["os_family"].

Only vars/RedHat.yml ships, so the role still runs on RHEL only; adding a tested vars/Debian.yml is all that is needed to extend support.

…S support

Move the hardcoded RHEL-specific web server user/group (apache), the
PHP-FPM service name (php-fpm) and the base package list out of the role
logic into vars/RedHat.yml, loaded via shared/platform-variables.yml.

Expose nextcloud__webserver_user, nextcloud__webserver_group and
nextcloud__php_fpm_service_name as overridable variables and use them
throughout the tasks, the deployed systemd services and the notify_push
unit, as well as the nextcloud-update script.

Guard the SELinux restorecon tasks with the selinux status fact and
switch the update script's SELinux blocks to ansible_facts["os_family"].

Only vars/RedHat.yml ships, so the role still runs on RHEL only; adding a
tested vars/Debian.yml is all that is needed to extend support.
…name

Add meta/argument_specs.yml declaring all user-facing variables so
Ansible validates required variables (nextcloud__fqdn, nextcloud__users)
and types at role entry, including the new nextcloud__webserver_user,
nextcloud__webserver_group and nextcloud__php_fpm_service_name.

Rename the internal __nextcloud__packages to __nextcloud__required_packages
for consistency with the example role's __example__required_packages.
@danyalberchtoldlf danyalberchtoldlf marked this pull request as draft May 20, 2026 09:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant