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
Plugins packaging #358
Comments
In the above example, you'd still have a base package ( From a Debian point of view, it's very easy to build several "binary" packages from the same source package. We already build a separate letsencrypt-doc package for example. These binary packages can have different dependencies too. So I don't really have a strong opinion either way. |
Yes, there would be a base package ( |
#376 (comment) Quick summary: great idea for the future, but we are not yet ready. Sounds plausible to me. I will close this for now, noting that #376 is a big step towards this goal. |
Reopening for launch. Progress made with #531. |
This is now done, to the extent that the plugins are their own packages. I think we've decided to keep maintaining everything in the same repo, though. |
Here's an idea: move all plugins to separate git repositories and distribute them in a separate PyPI/Debian/etc. packages (that is all apart from standalone, which is probably best to be left in the main distribution). setuptools entry_points system, which is already being used in
master
, makes such transformation a breeze.install_requires.append('letsencrypt')
, as well as set upentry_points
appropriatelyRequire: letsencrypt
as well as specific server software, e.g.letsecrnypt-apache
wouldRequire: apache
.letsencrypt
Debian package couldSuggest: letsencrypt-apache
, etc.--{plugin_name}-{option_name}
, similarly{plugin_name}_{option_name}
for configThis would simplify a lot of things, such as release process, Python 3 compatibility transition, OS support (e.g. AFAIR augeas, necessary for apache or nginx plugins, is not even available on Windows, what about it's py3 compat?)... Main cons is probably less control over the namespace (e.g. PyPI), or establising unique
{plugin_name}
etc.https://github.com/kuba/lets-encrypt-preview/tree/cli brings us closer to the required architecture (moves plugin specific constants and CLI arguments to plugins subdirs, first attempt at unique plugin names problem)
cc: @jdkasten, @fmarier
The text was updated successfully, but these errors were encountered: