Skip to content

v1.3.0

Latest

Choose a tag to compare

@github-actions github-actions released this 31 Oct 13:52
fd42518

prox 1.3.0 keeps certificates for discovered Cloudflare zones in step with the account. A zone added in Cloudflare gets its certificate within ten minutes without a reload, and a failed zone lookup at startup no longer leaves a service without certificates until the next restart.

Highlights

  • Periodic zone discovery. With acme.dns.discover: true, prox fetches the zone list again every discover_interval (default "10m", "0s" turns it off). It issues certificates for new zones and stops serving and renewing certificates for zones that left the account. A reload still fetches the list right away.
acme: {
  email: "certs@example.com",
  challenge: "dns",
  dns: {
    provider: "cloudflare",
    discover: true,
    discover_interval: "5m",
  },
}

Fixes

  • A failed zone lookup at startup is retried. When prox could not fetch the zone list at startup and the routes named no domain (for example a *.** route), the service ran with no certificates and every TLS handshake failed until a restart. prox now tries again after 15 seconds, doubles the delay up to discover_interval, and manages the zones as soon as a lookup succeeds.
  • Zone lookup gives up after 30 seconds. A stalled DNS provider API could hold up startup or a reload indefinitely. The lookup is now cancelled and logged as failed.
  • Dropped domains stop renewing. When a domain leaves the managed list, prox removes its certificate from the cache and cancels its pending issuance instead of renewing it.

Upgrade notes

  • With discover: true, each service now calls the Cloudflare API every 10 minutes. Set discover_interval: "0s" to fetch zones only at startup and on reload, as in 1.2; a failed lookup at startup is then not retried.
  • The plugin SDK is unchanged; github.com/dortanes/prox/sdk@v1.1.0 remains current.

Install

Prebuilt archives are attached for Linux, macOS, and Windows on AMD64 and ARM64. Verify downloaded files with checksums.txt.

Container

docker pull ghcr.io/dortanes/prox:1.3.0
docker run --rm ghcr.io/dortanes/prox:1.3.0 prox version

Go

Go 1.26 or later is required:

go install github.com/dortanes/prox/cmd/prox@v1.3.0
prox version

Learn more

Full changelog: v1.2.1...v1.3.0

Found a problem or have an idea? Open an issue. If prox is useful in your stack, star the repository so more people can find it.