Skip to content

Debian 13#235

Draft
evgeni wants to merge 9 commits into
masterfrom
debian
Draft

Debian 13#235
evgeni wants to merge 9 commits into
masterfrom
debian

Conversation

@evgeni

@evgeni evgeni commented Sep 19, 2025

Copy link
Copy Markdown
Member

No description provided.

@evgeni evgeni force-pushed the debian branch 6 times, most recently from 3ef53b1 to 834aafa Compare September 19, 2025 13:20
@evgeni evgeni changed the title CentOS 10 and Debian 13 CentOS Stream 10 Sep 19, 2025
Comment thread development/playbooks/setup-repositories/setup-repositories.yaml
Comment thread development/playbooks/setup-repositories/setup-repositories.yaml
@evgeni evgeni force-pushed the debian branch 8 times, most recently from fbb356d to 0f719e0 Compare September 23, 2025 09:09
ansible.builtin.file:
path: /etc/httpd/conf.d/welcome.conf
path: "{{ httpd_conf_path }}/welcome.conf"
state: absent

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A thought for upgrades and not necessary for this PR: RPM will place this file back. Should we ensure it's empty instead?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or just deploy on Debian, where the package manager is actually sane and respects the choices of the admin ;)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or just put it all in a container /me ducks

@evgeni evgeni force-pushed the debian branch 3 times, most recently from 50dede3 to 49d9e3f Compare September 23, 2025 10:39
- ansible_selinux.status == 'enabled'

- name: Enable required modules
community.general.apache2_module:

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't like pulling in community.general here, but this is something we'd have to consider anyway.
In the Puppet installer, we run with apache::default_mods: false, which wipes all enabled modules and then we enable the ones we need.
We didn't port that detail over to foremanctl, and rely on the OS to enable those modules for us. But it also most probably enables things we do not want.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We may also want to enable the event MPM in a similar way.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't like pulling in community.general here, but this is something we'd have to consider anyway.

May I ask why it is bad to use community.general?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly because it's a dependency we don't yet have

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It also mentions compatibility:

This does not work on RedHat-based distributions. It does work on Debian- and SuSE-based distributions. Whether it works on others depend on whether the C(a2enmod) and C(a2dismod) tools are available or not.

So configuring Apache with Ansible is certainly worse than what we had with our Puppet module.

@evgeni evgeni changed the title CentOS Stream 10 CentOS Stream 10 (and Debian 13?) Sep 23, 2025
Comment thread src/roles/httpd/tasks/main.yml Outdated
@evgeni evgeni force-pushed the debian branch 3 times, most recently from 42c388f to 1660537 Compare October 16, 2025 07:48
@evgeni

evgeni commented Mar 2, 2026

Copy link
Copy Markdown
Member Author

I've split out the EL10 base of this PR into #393 so we can review that independently of the (heavier) Debian changes

@evgeni evgeni changed the title CentOS Stream 10 (and Debian 13?) Debian 13 Mar 3, 2026
@jakduch

jakduch commented Mar 28, 2026

Copy link
Copy Markdown
Contributor

Hi @evgeni, great work on the Debian 13 support! I built on top of your branch and found a few things that could be improved. I created PR #427 targeting your debian branch with the following commits:

Bug fixes:

  • Fix duplicate conf.d/ in foreman-vhost.conf.j2httpd_conf_path already contains conf.d (RedHat) / conf-enabled (Debian), so the extra conf.d/ segment in the IncludeOptional path on line 5 results in an invalid path. The SSL vhost was already correct.
  • Fix spurious space in cleanup.yml line 4: {{ httpd_conf_path}} /05- should be {{ httpd_conf_path }}/05-

Debian adaptations:

  • Make httpd IPA external auth OS-aware — use libapache2-mod-* packages and community.general.apache2_module (a2enmod/a2dismod) on Debian instead of manual LoadModule conf files
  • Add OS-specific vars for hammer role (ruby-hammer-cli-* on Debian vs rubygem-hammer_cli_* on RedHat) and load them via include_vars
  • Add Foreman repository setup for Debian in the development playbook (using theforeman.operations.foreman_repositories)
  • Enable hammer deployment on Debian in CI (remove the centos-only condition)

Feel free to cherry-pick any of these commits directly into your branch, or merge #427 if you prefer. Happy to adjust anything!

@evgeni evgeni force-pushed the debian branch 3 times, most recently from 9b43c7d to 5fe9467 Compare June 3, 2026 12:40
@evgeni

evgeni commented Jun 3, 2026

Copy link
Copy Markdown
Member Author

Thanks, I've picked up the bugfixes, will have a look at the enhancements later.

@bochi

bochi commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

works very well, tested on Ubuntu 26 and Debian 13!

@coderabbitai

coderabbitai Bot commented Jun 24, 2026

Copy link
Copy Markdown

Caution

Review failed

An error occurred during the review process. Please try again later.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch debian

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@evgeni evgeni force-pushed the debian branch 5 times, most recently from 626050a to a757829 Compare June 25, 2026 05:49
name: httpd
name: "{{ httpd_service }}"
state: started
enabled: true

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Services are enabled by default on Debian, so this line doesn't trigger an "enable" action, and thus the "Add httpd to foreman.target" is never applied (as systemctl enable is where the symlinks are created for the targets). 😿

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.

6 participants