What does HackerNews think of lego?

Let's Encrypt/ACME client and library written in Go

Language: Go

#13 in Security
Haven't used this myself, but I did find out about Lego (https://github.com/go-acme/lego) recently and used it to get a Let's Encrypt cert for a local network website I have using the DNS challenge. It was fairly straight forward,

  $ export NAMESILO_API_KEY=...
  $ export NAMESILO_POLLING_INTERVAL=10
  $ export NAMESILO_PROPAGATION_TIMEOUT=1800
  $ export NAMESILO_TTL=3600
  $ lego --email  --dns namesilo --domains *..com run
Super easy with the right DNS provider and something like go-acme/Lego. Add a crom job and done. Yeah, not zero effort but compared to early Let's Encrypt with HTTP-01 and such it's quote easy.

https://github.com/go-acme/lego

I too am moving away from acme.sh for the same reason. Dehydrated looks nice but I started using goacme.

https://github.com/go-acme/lego

I wasn't set on only bash though.

> You have the option to create a virtualenv and install it with pip, or snap, or use a docker image.

You could jump through all those silly hoops (most of which will be completely alien to people who are not Python devs) in order to use the "official" dependency-heavy Python client.

Or you could just use a single pre-compiled Go binary, LEGO [1].

I have been increasingly favouring Go recently because the functions delivered to the end-user are dependency free, you can just ship simple single binaries instead of having to say "oh you need Python X with this that and whatever other Python library under the kitchen sink installed on your system".

And that's before we start talking about conflicts that can occur between Python libraries....which, let's face it will happen in an "average Joe" environment where Joe is just randomly using apt to install any Python dependencies.

[1]https://github.com/go-acme/lego

Cool! There's also certbot[0] and lego[1] which can do ACME-DNS with a range of providers beside CF. You could also do tls-alpn, which allows you to do do the challenger encrypted on another port. Sounds like DNS works fine for you, but it's primarily worth considering for those issuing certs for non-public names that shouldn't be broadcasted via public DNS.

[0]: https://github.com/certbot/certbot

[1]: https://github.com/go-acme/lego

Hi there! I've created a small service to automatically update load-balancer certificates on Hetzner cloud using go-acme/lego [0] and joohoi/acme-dns [1]. They lack support for Letsencrypt and this small service will update your certificates every two months. It's straight forward to install and used by Pirsch [2] in production.

Feedback welcome!

[0] https://github.com/go-acme/lego

[1] https://github.com/joohoi/acme-dns

[2] https://pirsch.io/

All of the DNS altering is performed automatically by lego [1] which has support for a large number of DNS providers.

[1] https://github.com/go-acme/lego [2] https://go-acme.github.io/lego/dns/