LEGO

Platform:

Ubuntu
24.04 22.04
Channel Revision Published Runs on
4/stable 510 17 Aug 2026
Ubuntu 24.04 Ubuntu 22.04
4/stable 61 22 Apr 2025
Ubuntu 24.04 Ubuntu 22.04
4/candidate 510 17 Aug 2026
Ubuntu 24.04 Ubuntu 22.04
4/candidate 128 13 Nov 2025
Ubuntu 24.04 Ubuntu 22.04
4/beta 510 17 Aug 2026
Ubuntu 24.04 Ubuntu 22.04
4/beta 160 09 Dec 2025
Ubuntu 24.04 Ubuntu 22.04
4/edge 516 17 Aug 2026
Ubuntu 24.04 Ubuntu 22.04
4/edge 515 17 Aug 2026
Ubuntu 24.04 Ubuntu 22.04
4/edge 514 17 Aug 2026
Ubuntu 24.04 Ubuntu 22.04
4/edge 513 17 Aug 2026
Ubuntu 24.04 Ubuntu 22.04
juju deploy lego --channel 4/stable

Learn about configurations >

  • acme-ca-certificates | string

    PEM-encoded CA certificates that can be used to authenticate an ACME server with an HTTPS certificate not issued by a CA in the system-wide trusted root list. This should only be used for ACME servers that are not in the system-wide trusted root list and not operated by a charm. Otherwise, use the receive-ca-cert relation to get the CAs from the ACME provider charm. Example usage: juju config lego acme-ca-certificate="$(cat /path/to/ca-bundle.pem)"

  • dns-nameservers | string

    Comma-separated list of DNS nameserver addresses to use for DNS-01 challenge verification. Can include ports (e.g., "8.8.8.8:53,8.8.4.4:53") or just IP addresses (port 53 assumed). If not set, the system's default nameservers will be used.

  • dns-propagation-wait | int

    DNS propagation timeout in seconds. How long to wait for DNS records to propagate before ACME verification attempts. Must be a positive integer. Useful in environments with slow DNS propagation or caching issues. If not set, LEGO's default timeout will be used.

  • eab-secret-id | string

    The secret id of a Juju user secret containing External Account Binding (EAB) credentials. Required for ACME servers that mandate EAB, such as DigiCert or ZeroSSL. The secret must contain exactly two keys: eab-kid (the key identifier) and eab-hmac (the base64url-encoded HMAC key), both as provided by the CA dashboard. Both keys must be present; providing only one will put the charm in a blocked state. Example: juju add-secret my-eab eab-kid=<KID> eab-hmac=<HMAC> then juju config lego eab-secret-id=<secret-id>.

  • email | string

    Account email address to receive notifications from Let's Encrypt.

  • expiry_ratio | float

    Default: 0.15

    Ratio (fraction) of certificate lifetime remaining below which the charm logs the expiring certificate. Must be > 0 and <= 1. For example, 0.15 means "15% or less of the certificate lifetime remaining".

  • plugin | string

    The DNS plugin to use with LEGO. You can choose from a list of supported plugins documented on the LEGO website.

  • plugin-config-secret-id | string

    The secret id of the secret that contains all of the configuration options required to get a certificate. The dictionary inside the secret should be key-value pairs that map directly to the options required by the plugin. All keys are expected to be in lowercase with dashes instead of underscores. You can find the required options for your chosen plugin in the LEGO documentation. For example, the route53 plugin requires a secret-access-key and access-key-id to be set.

  • server | string

    Default: https://acme-v02.api.letsencrypt.org/directory

    Certificate authority ACME server