-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Add support for mod_md #2090
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for mod_md #2090
Conversation
apache::mod::watchdog is a classthat may have no external impact to Forge modules. This module is declared in 174 of 575 indexed public
|
Codecov Report
@@ Coverage Diff @@
## main #2090 +/- ##
=======================================
Coverage ? 57.40%
=======================================
Files ? 12
Lines ? 216
Branches ? 0
=======================================
Hits ? 124
Misses ? 92
Partials ? 0 Continue to review full report at Codecov.
|
e99405c to
3eb6671
Compare
sanfrancrisko
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you very much @smortex for this excellent enhancement. We really appreciate the atomic commits, test coverage and detail you've put in to the description 👍
I'd be happy to merge this as is, but I do wonder if you would be up for adding a basic acceptance test to ensure that the MOD installs OK on a platform? I was having a conversation with another contributor on their PR about this too.
Fully aware that trying to support Apache MODs on all versions of all Linux distros is somewhat of a nightmare (and even if it works now, it may not do so in a future release!).
We recently added functionality to limit the test execution to platforms we only wanted to support - you can read about that here.
If you wanted to identify the platform(s) you're interested in and add a basic acceptance test similar to what I did in TigerKirika#1, then it would allow us to catch any potential future regressions caused by a tweak in package name. This is a very common problem with Apache MODs between new versions of OSs.
Thanks again for the excellent contribution - will look forward to getting it over the line very soon. Give me a shout if I can be of any help regarding a basic acceptance test.
15c96d4 to
5936e18
Compare
88686a8 to
47549c9
Compare
igalic
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🙋🏻♀️
d076cb8 to
82ad1b7
Compare
This apache module defines programmatic hooks for other apache modules to periodically run tasks. It is a dependency for some apache modules not yet supported by the puppet module: * mod_heartbeat * mod_heartmonitor * mod_md * mod_proxy_hcheck
Allow configuring all parameters provided by the module.
Add a $mdomain parameter to apache::vhost. When set to true, the certifcate configuration is automatically managed by mod_md. It is also possible to use an explicit String to fully control the Subject Alternative Names of the requested certificate.
smortex
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for suggesting adding some acceptance test @sanfrancrisko, it helped spot an issue that affected Debian 👍
I fixed this issue by amending the commit, and added the acceptance test as a new commit.
igalic
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i was just looking at my own config and how i handle that stuff there, and I use apache::vhost::custom to generate the following:
MDomain igalic.co auto
<VirtualHost *:80>
ServerName igalic.co
DocumentRoot '/var/empty'
</VirtualHost>
<VirtualHost *:443>
ServerName igalic.co
DocumentRoot /srv/igalic.co/site
SSLEngine On
</VirtualHost>That being said:
sanfrancrisko
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
@smortex |
This PR add support for mod_md, a module for managing domains across virtual hosts and certificate provisioning via the ACME protocol.
What is implemented
Each of these points have been added as a separate commit for clarity:
mod_watchdog— it's a dependency ofmod_md;mod_md— enable the module and configure it;mod_mdwithapache::vhostto make it usable;It brings full support for mod_md into the Apache module.
What is not supported
Support for the <MDomain> sections is not part of this PR. <MDomain> allows to override general configuration when requesting certificates from multiple providers. This use case is rather advanced so I guess support for it can be skipped as of today. Future contributors might be able to add support for this by allowing to pass an
Enumto$apache::vhost::mdomainwith all custom parameters.Basic use-case
Lines marked with
<<<are the one added to the basic configuration thanks to this module: