Skip to content

Commit

Permalink
add support for mijn.host DNS challenge (#3749)
Browse files Browse the repository at this point in the history
* add support for mijn.host DNS challenge

* Update letsencrypt/config.yaml

Co-authored-by: Stefan Agner <stefan@agner.ch>

* version change

* Update letsencrypt/CHANGELOG.md

* Bump version in config.yaml

---------

Co-authored-by: Stefan Agner <stefan@agner.ch>
  • Loading branch information
shubhamku044 and agners authored Dec 3, 2024
1 parent 5d9cb42 commit 620a3ca
Show file tree
Hide file tree
Showing 7 changed files with 46 additions and 5 deletions.
4 changes: 4 additions & 0 deletions letsencrypt/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## 5.2.7

- Add mijn.host DNS support

## 5.2.6

- Fix dns-loopia username error
Expand Down
25 changes: 25 additions & 0 deletions letsencrypt/DOCS.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ dns-joker
dns-linode
dns-loopia
dns-luadns
dns-mijn-host
dns-njalla
dns-noris
dns-simply
Expand Down Expand Up @@ -123,6 +124,7 @@ loopia_user: ''
loopia_password: ''
luadns_email: ''
luadns_token: ''
mijn_host_api_key: ''
njalla_token: ''
noris_token: ''
nsone_api_key: ''
Expand Down Expand Up @@ -1078,6 +1080,28 @@ The API key assigned to your Simply.com account can be found in your Simply.com
</details>


<details>
<summary>mijn.host DNS challenge</summary>

```yaml
email: your.email@example.com
domains:
- your.domain.tld
certfile: fullchain.pem
keyfile: privkey.pem
challenge: dns
dns:
provider: dns-mijn-host
mijn_host_api_key: XXXXXX
propagation_seconds: 60
```

The `mijn_host_api_key` is the account's API key.
The API key assigned to your mijn.host account can be found in your mijn.host Control panel.

</details>


## Certificate files

The certificate files will be available within the "ssl" share after successful request of the certificates.
Expand Down Expand Up @@ -1107,6 +1131,7 @@ dns-ionos
dns-linode
dns-loopia
dns-luadns
dns-mijn-host
dns-njalla
dns-noris
dns-plesk
Expand Down
2 changes: 2 additions & 0 deletions letsencrypt/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ ARG \
CERTBOT_DNS_IONOS_VERSION \
CERTBOT_DNS_JOKER_VERSION \
CERTBOT_DNS_LOOPIA_VERSION \
CERTBOT_DNS_MIJN_HOST_VERSION \
CERTBOT_DNS_NAMECHEAP_VERSION \
CERTBOT_DNS_NORISNETWORK_VERSION \
CERTBOT_DNS_SIMPLY_VERSION \
Expand Down Expand Up @@ -73,6 +74,7 @@ RUN \
certbot-dns-linode==${CERTBOT_VERSION} \
certbot-dns-loopia==${CERTBOT_DNS_LOOPIA_VERSION} \
certbot-dns-luadns==${CERTBOT_VERSION} \
certbot-dns-mijn-host==${CERTBOT_DNS_MIJN_HOST_VERSION} \
certbot-dns-njalla==${CERTBOT_NJALLA_VERSION} \
certbot-dns-norisnetwork==${CERTBOT_DNS_NORISNETWORK_VERSION} \
certbot-dns-nsone==${CERTBOT_VERSION} \
Expand Down
1 change: 1 addition & 0 deletions letsencrypt/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ args:
CERTBOT_DNS_IONOS_VERSION: 2024.1.8
CERTBOT_DNS_JOKER_VERSION: 1.1.0
CERTBOT_DNS_LOOPIA_VERSION: 1.0.1
CERTBOT_DNS_MIJN_HOST_VERSION: 0.0.5
CERTBOT_DNS_NAMECHEAP_VERSION: 1.0.0
CERTBOT_DNS_NORISNETWORK_VERSION: 0.2.1
CERTBOT_DNS_TRANSIP_VERSION: 0.5.2
Expand Down
12 changes: 7 additions & 5 deletions letsencrypt/config.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
version: 5.2.5
version: 5.2.7
slug: letsencrypt
name: Let's Encrypt
description: Manage certificate from Let's Encrypt
Expand Down Expand Up @@ -79,6 +79,7 @@ schema:
loopia_password: str?
luadns_email: email?
luadns_token: str?
mijn_host_api_key: str?
joker_username: str?
joker_password: str?
joker_domain: str?
Expand All @@ -105,10 +106,11 @@ schema:
provider: "list(dns-azure|dns-cloudflare|dns-cloudns|dns-desec|\
dns-digitalocean|dns-directadmin|dns-dnsimple|dns-dnsmadeeasy|\
dns-duckdns|dns-dynu|dns-gehirn|dns-godaddy|dns-google|\
dns-hetzner|dns-infomaniak|dns-ionos|dns-joker|dns-linode|dns-loopia|dns-luadns|dns-njalla|dns-nsone|\
dns-porkbun|dns-ovh|dns-rfc2136|dns-route53|dns-sakuracloud|\
dns-namecheap|dns-netcup|dns-simply|dns-gandi|dns-transip|dns-inwx|dns-dreamhost|\
dns-he|dns-easydns|dns-domainoffensive|dns-websupport|dns-noris|dns-plesk)?"
dns-hetzner|dns-infomaniak|dns-ionos|dns-joker|dns-linode|dns-loopia|dns-luadns|\
dns-mijn-host|dns-njalla|dns-nsone|dns-porkbun|dns-ovh|dns-rfc2136|dns-route53|\
dns-sakuracloud|dns-namecheap|dns-netcup|dns-simply|dns-gandi|dns-transip|dns-inwx|\
dns-dreamhost|dns-he|dns-easydns|dns-domainoffensive|dns-websupport|dns-noris|\
dns-plesk)?"
rfc2136_algorithm: str?
rfc2136_name: str?
rfc2136_port: str?
Expand Down
1 change: 1 addition & 0 deletions letsencrypt/rootfs/etc/cont-init.d/file-structure.sh
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ echo -e "dns_desec_token = $(bashio::config 'dns.desec_token')\n" \
"dns_loopia_password = $(bashio::config 'dns.loopia_password')\n" \
"dns_luadns_email = $(bashio::config 'dns.luadns_email')\n" \
"dns_luadns_token = $(bashio::config 'dns.luadns_token')\n" \
"dns_mijn_host_api_key = $(bashio::config 'dns.mijn_host_api_key')\n" \
"dns_namecheap_username = $(bashio::config 'dns.namecheap_username')\n" \
"dns_namecheap_api_key = $(bashio::config 'dns.namecheap_api_key')\n" \
"dns_netcup_customer_id = $(bashio::config 'dns.netcup_customer_id')\n" \
Expand Down
6 changes: 6 additions & 0 deletions letsencrypt/rootfs/etc/services.d/lets-encrypt/run
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,12 @@ elif [ "${CHALLENGE}" == "dns" ] && [ "${DNS_PROVIDER}" == "dns-namecheap" ]; th
bashio::config.require 'dns.namecheap_username'
bashio::config.require 'dns.namecheap_api_key'
PROVIDER_ARGUMENTS+=("--authenticator" "${DNS_PROVIDER}" "--${DNS_PROVIDER}-credentials" "/data/dnsapikey" "--${DNS_PROVIDER}-propagation-seconds" "${PROPAGATION_SECONDS}")

#mijn.host
elif [ "${CHALLENGE}" == "dns" ] && [ "${DNS_PROVIDER}" == "dns-mijn-host" ]; then
bashio::config.require 'dns.mijn_host_api_key'
PROVIDER_ARGUMENTS+=("--authenticator" "${DNS_PROVIDER}" "--${DNS_PROVIDER}-credentials" "/data/dnsapikey" "--${DNS_PROVIDER}-propagation-seconds" "${PROPAGATION_SECONDS}")

#Netcup
elif [ "${CHALLENGE}" == "dns" ] && [ "${DNS_PROVIDER}" == "dns-netcup" ]; then
bashio::config.require 'dns.netcup_customer_id'
Expand Down

0 comments on commit 620a3ca

Please sign in to comment.