certbot/docs/packaging.rst
Nicolas Bachschmidt a2222d5bdf OVH DNS Authenticator (#5423)
Implement an Authenticator which can fulfill a dns-01 challenge using the OVH DNS API. Applicable only for domains using OVH DNS.

Testing Done:
 * `tox -e py27`
 * `tox -e lint`
 * Manual testing:
    * Used `certbot certonly --dns-ovh -d`, specifying a credentials file as a command line argument. Verified that a certificate was successfully obtained without user interaction.
    * Used `certbot certonly --dns-ovh -d`, without specifying a credentials file as a command line argument. Verified that the user was prompted and that a certificate was successfully obtained.
    * Used `certbot certonly -d`. Verified that the user was prompted for a credentials file after selecting dnsimple interactively and that a certificate was successfully obtained.
    * Used `certbot renew --force-renewal`. Verified that certificates
      were renewed without user interaction.
 * Negative testing:
    * Path to non-existent credentials file.
    * Credentials file with unsafe permissions (644).
    * Path to credentials file with an invalid application key.
    * Path to credentials file with an invalid application secret.
    * Path to credentials file with an invalid consumer key.
    * Path to credentials file with missing properties.
    * Domain name not registered to OVH account.
2018-07-10 20:52:32 -07:00

129 lines
5.1 KiB
ReStructuredText

===============
Packaging Guide
===============
Releases
========
We release packages and upload them to PyPI (wheels and source tarballs).
- https://pypi.python.org/pypi/acme
- https://pypi.python.org/pypi/certbot
- https://pypi.python.org/pypi/certbot-apache
- https://pypi.python.org/pypi/certbot-nginx
- https://pypi.python.org/pypi/certbot-dns-cloudflare
- https://pypi.python.org/pypi/certbot-dns-cloudxns
- https://pypi.python.org/pypi/certbot-dns-digitalocean
- https://pypi.python.org/pypi/certbot-dns-dnsimple
- https://pypi.python.org/pypi/certbot-dns-dnsmadeeasy
- https://pypi.python.org/pypi/certbot-dns-google
- https://pypi.python.org/pypi/certbot-dns-linode
- https://pypi.python.org/pypi/certbot-dns-luadns
- https://pypi.python.org/pypi/certbot-dns-nsone
- https://pypi.python.org/pypi/certbot-dns-ovh
- https://pypi.python.org/pypi/certbot-dns-rfc2136
- https://pypi.python.org/pypi/certbot-dns-route53
The following scripts are used in the process:
- https://github.com/letsencrypt/letsencrypt/blob/master/tools/release.sh
We use git tags to identify releases, using `Semantic Versioning`_. For
example: `v0.11.1`.
.. _`Semantic Versioning`: http://semver.org/
Notes for package maintainers
=============================
0. Please use our tagged releases, not ``master``!
1. Do not package ``certbot-compatibility-test`` or ``letshelp-certbot`` - it's only used internally.
2. If you'd like to include automated renewal in your package ``certbot renew -q`` should be added to crontab or systemd timer. Additionally you should include a random per-machine time offset to avoid having a large number of your clients hit Let's Encrypt's servers simultaneously.
3. ``jws`` is an internal script for ``acme`` module and it doesn't have to be packaged - it's mostly for debugging: you can use it as ``echo foo | jws sign | jws verify``.
4. Do get in touch with us. We are happy to make any changes that will make packaging easier. If you need to apply some patches don't do it downstream - make a PR here.
Already ongoing efforts
=======================
Arch
----
From our official releases:
- https://www.archlinux.org/packages/community/any/python-acme
- https://www.archlinux.org/packages/community/any/certbot
- https://www.archlinux.org/packages/community/any/certbot-apache
- https://www.archlinux.org/packages/community/any/certbot-nginx
- https://www.archlinux.org/packages/community/any/certbot-dns-cloudflare
- https://www.archlinux.org/packages/community/any/certbot-dns-cloudxns
- https://www.archlinux.org/packages/community/any/certbot-dns-digitalocean
- https://www.archlinux.org/packages/community/any/certbot-dns-dnsimple
- https://www.archlinux.org/packages/community/any/certbot-dns-dnsmadeeasy
- https://www.archlinux.org/packages/community/any/certbot-dns-google
- https://www.archlinux.org/packages/community/any/certbot-dns-linode
- https://www.archlinux.org/packages/community/any/certbot-dns-luadns
- https://www.archlinux.org/packages/community/any/certbot-dns-nsone
- https://www.archlinux.org/packages/community/any/certbot-dns-ovh
- https://www.archlinux.org/packages/community/any/certbot-dns-rfc2136
- https://www.archlinux.org/packages/community/any/certbot-dns-route53
From ``master``: https://aur.archlinux.org/packages/certbot-git
Debian (and its derivatives, including Ubuntu)
----------------------------------------------
- https://packages.debian.org/sid/certbot
- https://packages.debian.org/sid/python-certbot
- https://packages.debian.org/sid/python-certbot-apache
Fedora
------
In Fedora 23+.
- https://apps.fedoraproject.org/packages/python-acme
- https://apps.fedoraproject.org/packages/certbot
- https://apps.fedoraproject.org/packages/python-certbot-apache
- https://apps.fedoraproject.org/packages/python-certbot-dns-cloudflare
- https://apps.fedoraproject.org/packages/python-certbot-dns-cloudxns
- https://apps.fedoraproject.org/packages/python-certbot-dns-digitalocean
- https://apps.fedoraproject.org/packages/python-certbot-dns-dnsimple
- https://apps.fedoraproject.org/packages/python-certbot-dns-dnsmadeeasy
- https://apps.fedoraproject.org/packages/python-certbot-dns-google
- https://apps.fedoraproject.org/packages/python-certbot-dns-linode
- https://apps.fedoraproject.org/packages/python-certbot-dns-luadns
- https://apps.fedoraproject.org/packages/python-certbot-dns-nsone
- https://apps.fedoraproject.org/packages/python-certbot-dns-rfc2136
- https://apps.fedoraproject.org/packages/python-certbot-dns-route53
- https://apps.fedoraproject.org/packages/python-certbot-nginx
FreeBSD
-------
- https://www.freshports.org/security/py-acme/
- https://www.freshports.org/security/py-certbot/
Gentoo
------
Currently, all ``certbot`` related packages are in the testing branch:
- https://packages.gentoo.org/packages/app-crypt/certbot
- https://packages.gentoo.org/packages/app-crypt/certbot-apache
- https://packages.gentoo.org/packages/app-crypt/certbot-nginx
- https://packages.gentoo.org/packages/app-crypt/acme
GNU Guix
--------
- https://www.gnu.org/software/guix/package-list.html#certbot
OpenBSD
-------
- http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/security/letsencrypt/client/