WIP: Serve depot HTTPS with ACME HTTP and DNS challenges #47

Closed
forge wants to merge 1 commit from v1-tls-20260923 into v1-release-pipeline-20260923
First-time contributor

Implements the TLS/ACME part of #41. pkg6depotd can serve direct HTTPS from certificate files or obtain and renew them through ACME HTTP-01 or DNS-01 with Cloudflare and Gandi. Invalid TLS configuration fails closed; renewal swaps validated certificates for new connections, provider challenge cleanup survives restarts, and startup backoff persists. The IPS sample, SMF refresh method, README and pkg6depotd(8) describe setup.

Validation: 67/67 depot tests pass locally, including the real HTTPS binary, mocked ACME CA and both DNS APIs, seeded unrelated TXT preservation, failure/recovery, certificate reload, and startup backoff. cargo fmt and mandoc checks pass. Independent Opus review found no release blocker after its Gandi API endpoint question was checked against the official LiveDNS docs. Native illumos CI, SMF install/refresh, and live staging CA/provider runs remain pending. This PR stacks on #43 and remains WIP until integrated release-candidate verification.

Implements the TLS/ACME part of #41. pkg6depotd can serve direct HTTPS from certificate files or obtain and renew them through ACME HTTP-01 or DNS-01 with Cloudflare and Gandi. Invalid TLS configuration fails closed; renewal swaps validated certificates for new connections, provider challenge cleanup survives restarts, and startup backoff persists. The IPS sample, SMF refresh method, README and pkg6depotd(8) describe setup. Validation: 67/67 depot tests pass locally, including the real HTTPS binary, mocked ACME CA and both DNS APIs, seeded unrelated TXT preservation, failure/recovery, certificate reload, and startup backoff. cargo fmt and mandoc checks pass. Independent Opus review found no release blocker after its Gandi API endpoint question was checked against the official LiveDNS docs. Native illumos CI, SMF install/refresh, and live staging CA/provider runs remain pending. This PR stacks on #43 and remains WIP until integrated release-candidate verification.
Serve depot HTTPS with ACME HTTP and DNS challenges
Some checks failed
CI / illumos (OpenIndiana) build + nextest (pull_request) Successful in 26m20s
CI / Linux (fmt / clippy / nextest / e2e / docs) (pull_request) Failing after 32m22s
4031e6ae7a
Owner

Superseded by #54, which brings the whole RC13 line (feat/historical-import, a strict superset of v1-integration-20260923) to main in one pull request, as decided in ADR-015 item 6. Nothing from this branch is lost; closing to keep one integration path.

Superseded by #54, which brings the whole RC13 line (`feat/historical-import`, a strict superset of `v1-integration-20260923`) to `main` in one pull request, as decided in ADR-015 item 6. Nothing from this branch is lost; closing to keep one integration path.
toasterson closed this pull request 2026-09-27 13:12:56 +00:00
Some checks failed
CI / illumos (OpenIndiana) build + nextest (pull_request) Successful in 26m20s
CI / Linux (fmt / clippy / nextest / e2e / docs) (pull_request) Failing after 32m22s

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
OpenIndiana/ips!47
No description provided.