Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Report bugs to IONOS DNS API #3379

Closed
lbrocke opened this issue Jan 21, 2021 · 8 comments
Closed

Report bugs to IONOS DNS API #3379

lbrocke opened this issue Jan 21, 2021 · 8 comments
Assignees
Labels
3rd party api report bugs to dns api, deploy hooks and notification hooks

Comments

@lbrocke
Copy link
Contributor

lbrocke commented Jan 21, 2021

This is the place to report bugs in the IONOS DNS API. If you experience a bug, please report it in this issue.

Thanks!

@Neilpang Neilpang added the 3rd party api report bugs to dns api, deploy hooks and notification hooks label Jan 22, 2021
@rebound-software
Copy link

rebound-software commented May 14, 2022

Not sure if I'm supposed to post this here?

Also created an issue:
https://github.com/acmesh-official/acme.sh/issues/4090

Steps to reproduce

acme.h --issue --dns dns_ionos -d

Debug log

[Fri 13 May 18:31:02 BST 2022] Found domain api file: .acme.sh/dnsapi/dns_ionos.sh
[Fri 13 May 18:31:02 BST 2022] Adding txt value: xxx for domain: _acme-challenge.xxx
[Fri 13 May 18:31:02 BST 2022] GET
[Fri 13 May 18:31:02 BST 2022] url='https://api.hosting.ionos.com/dns/v1/zones'
[Fri 13 May 18:31:02 BST 2022] timeout=
[Fri 13 May 18:31:02 BST 2022] _CURL='curl --silent --dump-header /.acme.sh/http.header -L --trace-ascii /tmp/tmp.qG1KVCc8gI -g '
[Fri 13 May 18:31:03 BST 2022] ret='0'
[Fri 13 May 18:31:03 BST 2022] POST
[Fri 13 May 18:31:03 BST 2022] _post_url='https://api.hosting.ionos.com/dns/v1/zones/xxx/records'
[Fri 13 May 18:31:03 BST 2022] _CURL='curl --silent --dump-header /home/mark/.acme.sh/http.header -L --trace-ascii /tmp/tmp.qG1KVCc8gI -g '
[Fri 13 May 18:31:04 BST 2022] _ret='0'
[Fri 13 May 18:31:04 BST 2022] Error add txt for domain:_acme-challenge.xxx
[Fri 13 May 18:31:04 BST 2022] _on_issue_err
[Fri 13 May 18:31:04 BST 2022] Please check log file for more details: /.acme.sh/acme.sh.log
[Fri 13 May 18:31:04 BST 2022] url='https://acme.zerossl.com/v2/DV90/chall/xxx'
[Fri 13 May 18:31:04 BST 2022] payload='{}'
[Fri 13 May 18:31:04 BST 2022] POST
[Fri 13 May 18:31:04 BST 2022] _post_url='https://acme.zerossl.com/v2/DV90/chall/xxx'
[Fri 13 May 18:31:04 BST 2022] _CURL='curl --silent --dump-header /home/mark/.acme.sh/http.header -L --trace-ascii /tmp/tmp.qG1KVCc8gI -g '
[Fri 13 May 18:31:09 BST 2022] _ret='0'
[Fri 13 May 18:31:09 BST 2022] code='200'

acme.sh --issue ..... --debug 2
It appears that the Ionos dns api may have changed its behaviour. The TXT record is correctly added, but this test is failing because the response is not empty for me (in dns_ionos.sh):

if _ionos_rest POST "$IONOS_ROUTE_ZONES/$_zone_id/records" "$_body" && [ -z "$response" ]; then

i.e. [ -z "$response" ] fails as $response is not empty

Removing both the [ -z "$response" ] tests (for the add and remove) works around the issue but I guess there should be a proper test for success of the operation based on the response.

NB I also had to change to use Let's Encrypt CA as there seemed to be an issue with the default CA to get a cert issued.

@lbrocke
Copy link
Contributor Author

lbrocke commented May 22, 2022

Thank you for reporting this problem @mrw-s. The IONOS DNS API was indeed updated to version 1.0.1 which now includes response bodies in UPDATE and DELETE operations. I have created the pull request #4102 to update the dns_ionos API accordingly.

@lbrocke lbrocke closed this as not planned Won't fix, can't repro, duplicate, stale Apr 22, 2024
@zak905
Copy link
Contributor

zak905 commented May 6, 2024

Hi @lbrocke,

I wanted to let you know that IONOS cloud team would like to update dns_ionos.sh script to integrate the IONOS Cloud API as well. Here is the PR in question: #5110

Since you are the author of the script, I wanted to know if you have any feedback or opinion about the idea.

@lbrocke
Copy link
Contributor Author

lbrocke commented May 6, 2024

I wanted to let you know that IONOS cloud team would like to update dns_ionos.sh script to integrate the IONOS Cloud API as well. Here is the PR in question: #5110

Since you are the author of the script, I wanted to know if you have any feedback or opinion about the idea.

Hi @zak905, thanks for hitting me up!

I noticed that the Cloud API differs quite significantly from the DNS API in both request and response bodies, as well as the authentication Bearer token. You had to change 168 lines, which is nearly as much as the original file itself (171 lines). Therefore, I'd recommend this to be a completely separate dnsapi provider in its own dns_ionos_cloud.sh file.

However, I'm actually not a IONOS customer anymore and therefore cannot maintain dns_ionos.sh. As I'm not really a stakeholder anymore, this is up for @Neilpang to decide. I'm also just fine with your changes being merged as-is into the existing file.

@zak905
Copy link
Contributor

zak905 commented May 10, 2024

Thanks for the input @lbrocke! I appreciate. Let's wait for @Neilpang feedback then.

I totally get your point regarding creating a new script. To give you a bit of context: before working on this, we have discussed whether to create a new script or to integrate the functionality into the existing one, and we leaned slightly towards the second choice because:

  • we are following the same strategy for some other tools like the external DNS operator for Kubernetes: https://github.com/ionos-cloud/external-dns-ionos-webhook, and we thought that keeping consistency would be good.
  • we thought that by doing so, this would make UX better (the script decides based on the provided credentials)

by the way, the IONOS Cloud DNS team is interested into maintaining the whole dns_ionos.sh, so we can try to keep things up to date

@Neilpang
Copy link
Member

I agree, please make a new one, dns_ionos_cloud.sh.
Let the sleeping dog lie.

@lbrocke
Copy link
Contributor Author

lbrocke commented May 12, 2024

by the way, the IONOS Cloud DNS team is interested into maintaining the whole dns_ionos.sh, so we can try to keep things up to date

That would be great!

@zak905
Copy link
Contributor

zak905 commented May 15, 2024

@Neilpang I have created a new script for IONOS cloud called ionos_cloud_dns.sh. Can you please take a look at the PR ? we are keen to get this integrated into upstream.

ps: the latest tests runs are green: https://github.com/ionos-cloud/acme.sh/actions/runs/9083906857

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3rd party api report bugs to dns api, deploy hooks and notification hooks
Projects
None yet
Development

No branches or pull requests

4 participants