Skip to main content

GleSYS DNS authentication plugin for Certbot

Project description

GleSYS DNS Authenticator for Certbot

This allows automatic completion of Certbot’s DNS01 challange for domains managed on GleSYS DNS.

Installing

Installation of Certbot plugins are a bit tricky. The least bad way is to create a Python virtual environment as root and install it there.

$ cd /root/
$ python3 -m venv --prompt=certbot certbot
$ source certbot/bin/activate
$ pip install --upgrade pip setuptools
$ pip install certbot-dns-glesys

You can now run Certbot using /root/certbot/bin/certbot.

If you use Fedora like me I have prepared an RPM you can use instead.

$ sudo dnf install https://github.com/runfalk/certbot-dns-glesys/releases/download/2.0.0/python3-certbot-dns-glesys-2.0.0-1.fedora33.noarch.rpm

If you use another RPM based distribution you may be able to build it yourself. On Fedora I install rpmdevtools before this. Note that this command must not be run inside a virtualenv (or the installation path will be incorrect). You can verify the installation path using rpm -qpl dist/*.rpm.

$ ./make_rpm.sh

PRs are welcome for other distributions.

Usage

Create an API key with the following permissions:

  • domain:list

  • domain:listrecords

  • domain:addrecord

  • domain:deleterecord

Don’t forget to give access to the appropriate IP-address range. If you want to be able to run the client from anywhere, enter 0.0.0.0/0.

To use the authenticator you need to provide some required options:

--dns-glesys-credentials (required)

INI file with user and password for your GlesSYS API user.

The credentials file must have the following format:

dns_glesys_user = CL00000
dns_glesys_password = apikeygoeshere

For safety reasons the file must not be world readable. You can solve this by running:

$ chmod 600 credentials.ini

Then you can run certbot using:

$ certbot certonly \
    --authenticator dns-glesys \
    --dns-glesys-credentials credentials.ini \
    -d domain.com

If you want to obtain a wildcard certificate you can use the the domain -d "*.domain.com".

Disclaimer

This plugin is neither affiliated with nor endorsed by GleSYS Internet Services AB.

Changelog

Version 2.1.0

Released 21st August 2022

  • Fixed plugin not being detected by newer certbot versions.

Version 2.0.0

Released 28th December 2020

This is a breaking change. The CLI arguments and the name of the package has changed to match other DNS authenticator plugins.

  • Updated name to certbot-dns-glesys to match other DNS plugins

  • Move away from legacy Certbot API (means you need to reconfigure your authenticator). All arguments and parameters are now prefix-less

  • Dropped Python 2 support

  • Dropped Python 3.5 support

Version 1.0.0

Released 11th April 2020

  • Changed to GleSYS JSON API

  • Added RPM as an installation option

  • Dropped support for EOL Python versions

Version 0.2.0

Released on 23rd April 2018

This is a breaking change since it requires the domain:list permission.

  • Added proper support for sub domain guessing, pull request #4 (@Lillecarl)

Version 0.1.1

Released on 15th March, 2018

  • Bumped default propagation time to 90 seconds to improve reliability

  • Fixed wrong base url in GlesysDomainApiClient, pull request #2 (@montaniasystemab)

Version 0.1.0

Released on 30th September, 2017

  • Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

certbot-dns-glesys-2.1.0.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

certbot_dns_glesys-2.1.0-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file certbot-dns-glesys-2.1.0.tar.gz.

File metadata

  • Download URL: certbot-dns-glesys-2.1.0.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 CPython/3.10.5

File hashes

Hashes for certbot-dns-glesys-2.1.0.tar.gz
Algorithm Hash digest
SHA256 e0ec6b3bf0624099f3075621fc5d2e7bb515c3d987669ca6dfbf7b61cf601a6c
MD5 1e9029807fe6ba720ac91c5d9c8ce9d0
BLAKE2b-256 2ed81d1160b57bc5874a97f8d8bad1f6287b6d8f476739d695429f83d0ea332e

See more details on using hashes here.

File details

Details for the file certbot_dns_glesys-2.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for certbot_dns_glesys-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d6b00f0c4d8a588c95ecd741e82bb3fe98d38ad75751500dbcbe9561cf490e26
MD5 7155c62e434be2804ae81d819ad790d8
BLAKE2b-256 444d8099d5a22d2ddda8eb2f83d4831e2894490d34f5adee030dae47b8ede24c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page