go-acme / lego

Let's Encrypt/ACME client and library written in Go
https://go-acme.github.io/lego/
MIT License
7.58k stars 994 forks source link

bunny: library is archived / not maintained + provider no longer functional #2008

Closed kengodwin closed 11 months ago

kengodwin commented 11 months ago

Welcome

What did you expect to see?

You can see here:

https://github.com/simplesurance/bunny-go

What did you see instead?

This repository has been archived by the owner on Jul 27, 2023. It is now read-only.

How do you use lego?

Through Traefik

Reproduction steps

Go to the URL in question to see the message.

Also, try to run the bunny provider yourself, it will fail.

I considered patching it to confirm it wasn't working as intended and have a test case locally for a fix but its only temporary since as Bunny API changes and the underlying library isn't maintained it'll just break again.

Version of lego

lego version dev linux/amd64

Logs

Not really needed, literally any attempt to use BunnyCDN will reproduce this by failing to create the record. If you want, I can provide the shitty patch job of the provider via pull request or in the ticket or whatever. However, with the underlying library archived it'll break in the future.

Go environment (if applicable)

```console $ go version && go env # paste output here ```
ldez commented 11 months ago

Hello,

I was aware of the archive, and this is why I created a fork on July 28: https://github.com/nrdcg/bunny-go

You can open a PR on this fork.

I'm the core maintainer of lego.

ldez commented 11 months ago

I updated lego to use the fork: #2009

We don't have a Bunny account, so we await a PR on this fork.

kengodwin commented 11 months ago

https://github.com/go-acme/lego/compare/master...kengodwin:lego:master

Its not the fork that needs updating at this time but the bunny.go provider.

This is a bit of a hack job as I'm not really a guy who works with go much so I'm sure it can be improved.

That said, given the state of the ecosystem related to the bunny.go provider + the fact it seems I'd need to maintain it myself, I'm just gonna use the exec provider moving forward.

Thanks for your time.

ldez commented 11 months ago

This is clearly not a fix :smile:

Can you open another issue to explain your problem? This will help other users, if needed I will create a proper fix.

That said, given the state of the ecosystem related to the bunny.go provider + the fact it seems I'd need to maintain it myself, I'm just gonna use the exec provider moving forward.

I will maintain the client based on API doc so you don't need to use exec provider.

kengodwin commented 11 months ago

Its pretty straightforward that this doesn't work as-is:

root@dev:~/docker-services# docker run -e BUNNY_API_KEY=[removed] goacme/lego --email [removed] --dns bunny --domains [removed] --server "https://acme-staging-v02.api.letsencrypt.org/directory" --accept-tos --dns-timeout=90 --dns.resolvers=1.1.1.1 run 2023/09/03 13:28:13 No key found for account [removed]. Generating a P256 key. 2023/09/03 13:28:13 Saved key to /.lego/accounts/acme-staging-v02.api.letsencrypt.org/[removed]/keys/[removed].key 2023/09/03 13:28:13 [INFO] acme: Registering account for [removed] !!!! HEADS UP !!!!

Your account credentials have been saved in your Let's Encrypt configuration directory at "/.lego/accounts".

You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained from Let's Encrypt so making regular backups of this folder is ideal. 2023/09/03 13:28:13 [INFO] [[removed]] acme: Obtaining bundled SAN certificate 2023/09/03 13:28:13 [INFO] [[removed]] AuthURL: https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/8081289974 2023/09/03 13:28:13 [INFO] [[removed]] acme: Could not find solver for: tls-alpn-01 2023/09/03 13:28:13 [INFO] [[removed]] acme: Could not find solver for: http-01 2023/09/03 13:28:13 [INFO] [[removed]] acme: use dns-01 solver 2023/09/03 13:28:13 [INFO] [[removed]] acme: Preparing to solve DNS-01 2023/09/03 13:28:14 [INFO] [[removed]] acme: Cleaning DNS-01 challenge 2023/09/03 13:28:14 [WARN] [[removed]] acme: cleaning up failed: bunny: could not find DNSZone zone=_acme-challenge.[removed] 2023/09/03 13:28:14 [INFO] Deactivating auth: https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/8081289974 2023/09/03 13:28:14 Could not obtain certificates: error: one or more domains had a problem: [[removed]] [[removed]] acme: error presenting token: bunny: could not find DNSZone zone=_acme-challenge.[removed]

ldez commented 11 months ago

Can you open a new issue ?