-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
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
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 TigerKriika#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
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.
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.
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:
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_md
withapache::vhost
to 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
Enum
to$apache::vhost::mdomain
with all custom parameters.Basic use-case
Lines marked with
<<<
are the one added to the basic configuration thanks to this module: