This is a plugin for Certbot that uses the Njalla API to allow customers to prove control of a domain name.
Use this method if you have also installed certbot
via pip
.
Install the plugin using
pip3 install certbot-dns-njalla
If you are using sudo
with certbot use sudo -H pip3 install certbot-dns-njalla
instead.
Use this method if you have also installed certbot
via snap
.
snap install certbot-dns-njalla
Now connect the certbot installation with the njalla plugin installation.
sudo snap connect certbot:plugin certbot-dns-njalla
-
Make sure the plugin is installed and connected. You can verify this by running
certbot plugins
.dns-njalla
should be in the list. -
Obtain an Njalla API token (found in the settings)
-
Create a
njalla.ini
config file with the following contents and applychmod 600 njalla.ini
on it:dns_njalla_token=<token>
Replace
<token>
with your Njalla API key and ensure permissions are set to disallow access to other users. -
Run
certbot
and direct it to use the plugin for authentication and to use the config file previously created:certbot -a dns-njalla --dns-njalla-credentials njalla.ini -d domain.com
Use
*.domain.com
if you want to generate it as a wildcard certificate.
Add additional options as required to specify an installation plugin etc.Remember to use the
-i
flag if you want to use an additional installer plugin, like-i apache
or-i nginx
.
Run the following command in the repository root (so you are in the folder containing the setup.py
):
pip3 install -e ./
By default a snap is built automatically by snapcraft if there are changes in the git repo. But here is what to do to test the build locally.
Do the basic setup described in the certbot snap readme. (Mainly installing setting up lxd)
Run the following command in the repository root (so you are in the folder containing the setup.py
):
sh generate-snap.sh
snapcraft clean --use-lxd
snapcraft --debug --use-lxd
Execute the following command inside the root-directory
python -m unittest discover -p '*_test.py'