Skip to content

Commit

Permalink
letsencrypt: Added support for Simply.com DNS challenge. (#3717)
Browse files Browse the repository at this point in the history
* Update build.yaml

* Update run

* Update file-structure.sh

* Update config.yaml

* Update Dockerfile

* Update CHANGELOG.md

* Update build.yaml

* Version bump

* Fixes DOCS and rename account_id to correct property

* Update DOCS.md

* Update DOCS.md

* Update DOCS.md

* Update letsencrypt/DOCS.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update DOCS.md

* Update letsencrypt/DOCS.md

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Stefan Agner <stefan@agner.ch>
  • Loading branch information
3 people authored Aug 16, 2024
1 parent f3bf993 commit 04e8ccd
Show file tree
Hide file tree
Showing 7 changed files with 45 additions and 2 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.1.1

- Add Simply DNS support

## 5.1.0

- Add external account binding support
Expand Down
26 changes: 26 additions & 0 deletions letsencrypt/DOCS.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ dns-linode
dns-luadns
dns-njalla
dns-noris
dns-simply
dns-nsone
dns-ovh
dns-rfc2136
Expand Down Expand Up @@ -151,6 +152,8 @@ domainoffensive_token: ''
plesk_username: ''
plesk_password: ''
plesk_api_url: ''
simply_account_name: ''
simply_api_key: ''
```
</details>
Expand Down Expand Up @@ -996,6 +999,28 @@ You can define the `propagation_seconds` explicitly. Otherwise, it will use a cu
</details>


<details>
<summary>Simply.com DNS challenge</summary>

```yaml
email: your.email@example.com
domains:
- your.domain.tld
certfile: fullchain.pem
keyfile: privkey.pem
challenge: dns
dns:
provider: dns-simply
simply_account_name: Sxxxxxx
simply_api_key: YOUR_API_KEY # Replace 'YOUR_API_KEY' with your actual Simply.com API key.
```

The `simply_account_name` refers to the Simply.com account number (Sxxxxxx), and the `simply_api_key` is the account's API key.
The API key assigned to your Simply.com account can be found in your Simply.com 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 @@ -1026,6 +1051,7 @@ dns-luadns
dns-njalla
dns-noris
dns-plesk
dns-simply
dns-nsone
dns-ovh
dns-rfc2136
Expand Down
2 changes: 2 additions & 0 deletions letsencrypt/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ ARG \
CERTBOT_DNS_JOKER_VERSION \
CERTBOT_DNS_NAMECHEAP_VERSION \
CERTBOT_DNS_NORISNETWORK_VERSION \
CERTBOT_DNS_SIMPLY_VERSION \
CERTBOT_DNS_TRANSIP_VERSION \
CERTBOT_DNS_PORKBUN_VERSION \
CERTBOT_DNS_WEBSUPPORT_VERSION \
Expand Down Expand Up @@ -77,6 +78,7 @@ RUN \
certbot-dns-route53==${CERTBOT_VERSION} \
certbot-dns-sakuracloud==${CERTBOT_VERSION} \
certbot-dns-namecheap==${CERTBOT_DNS_NAMECHEAP_VERSION} \
certbot-dns-simply==${CERTBOT_DNS_SIMPLY_VERSION} \
certbot-dns-netcup==${CERTBOT_NETCUP_VERSION} \
certbot-plugin-gandi==${CERTBOT_GANDI_VERSION} \
certbot-dns-transip==${CERTBOT_DNS_TRANSIP_VERSION} \
Expand Down
1 change: 1 addition & 0 deletions letsencrypt/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ args:
CERTBOT_DNS_TRANSIP_VERSION: 0.5.2
CERTBOT_DNS_PORKBUN_VERSION: 0.8.0
CERTBOT_DNS_WEBSUPPORT_VERSION: 2.0.1
CERTBOT_DNS_SIMPLY_VERSION: 0.1.0
CERTBOT_GANDI_VERSION: 1.5.0
CERTBOT_NETCUP_VERSION: 1.4.3
CERTBOT_NJALLA_VERSION: 1.0.0
Expand Down
6 changes: 4 additions & 2 deletions letsencrypt/config.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
version: 5.1.0
version: 5.1.1
slug: letsencrypt
name: Let's Encrypt
description: Manage certificate from Let's Encrypt
Expand Down Expand Up @@ -85,6 +85,8 @@ schema:
netcup_api_key: str?
netcup_api_password: str?
netcup_customer_id: str?
simply_api_key: str?
simply_account_name: str?
njalla_token: str?
noris_token: str?
nsone_api_key: str?
Expand All @@ -100,7 +102,7 @@ schema:
dns-duckdns|dns-dynu|dns-gehirn|dns-google|dns-google-domains|\
dns-hetzner|dns-infomaniak|dns-joker|dns-linode|dns-luadns|dns-njalla|dns-nsone|\
dns-porkbun|dns-ovh|dns-rfc2136|dns-route53|dns-sakuracloud|\
dns-namecheap|dns-netcup|dns-gandi|dns-transip|dns-inwx|dns-dreamhost|\
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?
Expand Down
2 changes: 2 additions & 0 deletions letsencrypt/rootfs/etc/cont-init.d/file-structure.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ echo -e "dns_desec_token = $(bashio::config 'dns.desec_token')\n" \
"dns_netcup_customer_id = $(bashio::config 'dns.netcup_customer_id')\n" \
"dns_netcup_api_key = $(bashio::config 'dns.netcup_api_key')\n" \
"dns_netcup_api_password = $(bashio::config 'dns.netcup_api_password')\n" \
"dns_simply_account_name = $(bashio::config 'dns.simply_account_name')\n" \
"dns_simply_api_key = $(bashio::config 'dns.simply_api_key')\n" \
"dns_njalla_token = $(bashio::config 'dns.njalla_token')\n" \
"dns_noris_token = $(bashio::config 'dns.noris_token')\n" \
"dns_nsone_api_key = $(bashio::config 'dns.nsone_api_key')\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 @@ -72,6 +72,12 @@ elif [ "${CHALLENGE}" == "dns" ] && [ "${DNS_PROVIDER}" == "dns-netcup" ]; then
bashio::config.require 'dns.netcup_api_password'
PROVIDER_ARGUMENTS+=("--authenticator" "${DNS_PROVIDER}" "--${DNS_PROVIDER}-credentials" "/data/dnsapikey" "--${DNS_PROVIDER}-propagation-seconds" "${PROPAGATION_SECONDS}")

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

#TransIP
elif [ "${CHALLENGE}" == "dns" ] && [ "${DNS_PROVIDER}" == "dns-transip" ]; then
bashio::config.require.username 'dns.transip_username'
Expand Down

0 comments on commit 04e8ccd

Please sign in to comment.