letsencrypt: add hetzner cloud dns api#4253
letsencrypt: add hetzner cloud dns api#4253BlackReloaded wants to merge 5 commits intohome-assistant:masterfrom
Conversation
There was a problem hiding this comment.
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!
|
Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍 |
Signed-off-by: Marc Kohlbau <[email protected]>
dccc4e8 to
cb47362
Compare
There was a problem hiding this comment.
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!
📝 WalkthroughWalkthroughThis pull request adds support for a new DNS provider, dns-hetzner-cloud, across the application stack. Changes include documentation updates, build configuration additions, container image modifications, and runtime script enhancements to support the new provider alongside existing DNS providers. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro Cache: Disabled due to data retention organization setting Knowledge base: Disabled due to data retention organization setting 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (1)
🧰 Additional context used📓 Path-based instructions (1)*/**(html|markdown|md)⚙️ CodeRabbit configuration file
Files:
🔇 Additional comments (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
letsencrypt/rootfs/etc/services.d/lets-encrypt/run (1)
185-189: dns-hetzner-cloud case logic looks good; clarify the comment labelThe new
dns-hetzner-cloudbranch correctly requiresdns.hetzner_cloud_api_tokenand assemblesACME_ARGUMENTSin line with the other DNS providers. To avoid confusion with the existing# Hetznerblock above, consider renaming this comment to# Hetzner Cloud.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge base: Disabled due to data retention organization setting
📒 Files selected for processing (6)
letsencrypt/DOCS.md(2 hunks)letsencrypt/Dockerfile(2 hunks)letsencrypt/build.yaml(1 hunks)letsencrypt/config.yaml(2 hunks)letsencrypt/rootfs/etc/cont-init.d/file-structure.sh(1 hunks)letsencrypt/rootfs/etc/services.d/lets-encrypt/run(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
*/**(html|markdown|md)
⚙️ CodeRabbit configuration file
*/**(html|markdown|md): - For instructional content in documentation, use a direct and authoritative tone. Avoid expressions of politeness such as 'may' or 'please', and ensure the goal of the instruction is fronted.
- Apply the Microsoft Style Guide to ensure documentation maintains clarity and conciseness.
- In step-by-step instructions, front the location phrase in the instructional sentence.
- In step-by-step instructions, front the 'goal' in the instructional sentence.
- In step-by-step instructions, if in doubt what to front, front the 'goal' before the location phrase in the instructional sentence.
- do not hyphenate terms like 'top-right' or 'bottom-left' with 'corner'
*/**(html|markdown|md): - Use bold to mark UI strings.
If "" are used to mark UI strings, replace them by bold.
Be brief in your replies and don't add fluff like "thank you for..." and "Please let me know if"
Use sentence-style capitalization also in headings.
do not comment on HTML used for icons
Avoid flagging inline HTML for embedding videos in future reviews for this repository.
Files:
letsencrypt/Dockerfileletsencrypt/config.yamlletsencrypt/build.yamlletsencrypt/DOCS.md
🔇 Additional comments (5)
letsencrypt/DOCS.md (1)
136-136: Credential key wiring looks correctThe
hetzner_cloud_api_tokenfield is added consistently alongsidehetzner_api_tokenand matches the naming used in the new dnsapikey output and run script.letsencrypt/build.yaml (1)
23-25: New Hetzner Cloud version arg is aligned with existing pattern
CERTBOT_DNS_HETZNER_CLOUD_VERSIONis added in the same style and position as the other CERTBOT_DNS_* version args; no issues spotted.letsencrypt/Dockerfile (1)
21-23: Docker ARG and pip install for Hetzner Cloud look consistentThe added build ARG and pip installation of
certbot-dns-hetzner-cloudfollow the existing pattern (alphabetical placement, version pin, and use inpip3 install). No issues found.Also applies to: 75-77
letsencrypt/rootfs/etc/cont-init.d/file-structure.sh (1)
35-37: dnsapikey entry for Hetzner Cloud is correctly wiredThe
dns_hetzner_cloud_api_tokenline matches the newdns.hetzner_cloud_api_tokenconfig option and follows the same format and ordering as the existingdns_hetzner_api_tokenentry.letsencrypt/config.yaml (1)
77-79: Schema updates for Hetzner Cloud are coherent and consistentThe
hetzner_cloud_api_tokenfield anddns-hetzner-cloudprovider enum entry integrate cleanly with the existing DNS schema and respect the alphabetical ordering note. They line up with the new file-structure and run-script handling.Also applies to: 133-136
|
Any ETA on that? My cert expired and my UI is currently not useable with SSL. |
|
Change works like a charm on my fork ❤️ |
Any update on getting this merged as the old API does not allow new names to be added since November 10th, https://www.hetzner.com/news/dns-beta/ |
Any update on this would be nice, because I need to switch to the new Hetzner API. |
|
how can i use this? my AddOn is 5.4.9 and has not the Provider Hetzner Cloud. |
You can use my fork (repo has-addons). Save config from official one, if configured. Then uninstall it and go to |
Perfect, pulling from your fork works like a charm on my system, thanks for your work on this. Merry Xmas |
No problem. Merry Xmas. But don't forget the kudos for @BlackReloaded who made the change :) |
|
@Dominik28111 Thanks for your Repository. But i will not change the repository, this is a drift from master. The change is awaiting for merge. Has anyone capacity and rights for the merge request? So it can move in the master and it must not installed from other repository. For developing and testing the changes, it is a good way to use another repository, but not for an production system. The Addon is at the moment for me the blocking for moving form Hetzner DNS API to the Hetzner Cloud API. Current i will setup an Web an E-Mail Server in Hetzner with Letsenrypt. I will wait for the changes, i d'ont will made the integration doubled for old and new api. I hope the merge will be in short next time. |
|
Why is this still stuck in the status? Who has write permissions? |
|
Hey @agners, I'm sorry to ping you. This PR exists for nearly two months and the problem it fixes actually breaks setups. Can you please take a look into this, so we can get this fix pushed? |
|
Hey @agners, Is there any reason why this hasn't been merged yet or is there anything we can do to help this getting merged? I saw that other PRs are getting way more attention than this one, despite them being not as old or critical as this one. This topic is kinda critical, as the missing patch leads to unrenewable SSL certificates resulting in broken HA setups. I'd like to kindly ask you to take a look at this, as this shouldn't take more than 5 minutes to review. |
|
please keep in mind: all of the hetzner domains will be migrated forcefully to the hetzner cloud in may, so all dns based challenges will have to use the new API. https://status.hetzner.com/incident/c2146c42-6dd2-4454-916a-19f07e0e5a44
So it feels like this PR is quite urgent because everyone is already migrating now as preparations. |
|
I am current also waiting for merged. And this blocks me current to merge my domain on other Servers with the new api. Home Assistant is for me via Internet reachable and if i change the api then letsencrypt does not work with old api. I request more attention be paid to this request. Thanks. |
beckerj
left a comment
There was a problem hiding this comment.
Verified all changes, they are consistent in syntax and style and just add the hetzner cloud provider in excactly the same fashion the old hetzner provider is integrated into the code.
Code has been verified to work as intended by me as well.

Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.
fixes: #4276