certbot/certbot-compatibility-test/nginx
Will Greenberg 6f1c0b0abd
merge certbot-apache and certbot-nginx into certbot (#10522)
based on the suggestion @bmw made in #10484, this moves nearly
everything from `certbot-apache` and `certbot-nginx` into subdirectories
in `certbot/src/certbot/_internal`, and corresponding "extra"
dependencies are made for the certbot distribution. in their place,
entrypoint shims are made in the old distributions.

this way, installing `certbot[nginx]` will pull in the extra
dependencies needed for the nginx code, and also pull in the shim in
`certbot-nginx`, letting our plugin discovery system work just as it did
before. ditto for apache.

note that this doesn't yet deprecate anything, which was one of the
primary goals of the original issue -- i spun out that work into #10521

fixes #10484

---------

Co-authored-by: Brad Warren <bmw@users.noreply.github.com>
Co-authored-by: ohemorange <erica@eff.org>
2026-03-23 18:09:04 -07:00
..
nginx-roundtrip-testdata Add codespell support (CI to check, not to fix) and make it fix a few typos (#10297) 2025-06-24 13:14:31 +09:00
README merge certbot-apache and certbot-nginx into certbot (#10522) 2026-03-23 18:09:04 -07:00
roundtrip.py merge certbot-apache and certbot-nginx into certbot (#10522) 2026-03-23 18:09:04 -07:00

Eventually there will also be a compatibility test here like the Apache one.

Right now, this is data for the roundtrip test (checking that the parser
can parse each file and that the reserialized config file it generates is
identical to the original).

If run in a virtualenv or otherwise so that certbot can be imported,
the roundtrip test can run as

python roundtrip.py nginx-roundtrip-testdata

It gives exit status 0 for success and 1 if at least one parse or roundtrip
failure occurred.


The directory nginx-roundtrip-testdata includes some config files that were
contributed to our project as well as most of the configs linked from

https://www.nginx.com/resources/wiki/start/

Some exceptions that were skipped are

https://www.nginx.com/resources/wiki/start/topics/recipes/moinmoin/
https://www.nginx.com/resources/wiki/start/topics/examples/SSL-Offloader/ (not much nginx configuration)
https://www.nginx.com/resources/wiki/start/topics/examples/xsendfile/ (likewise)
https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/
https://www.nginx.com/resources/wiki/start/topics/examples/fcgiwrap/