Skip to content

feat(gateway): support Google Public CA with external account binding - #1518

Closed
kvinwang wants to merge 1 commit into
nextfrom
feat/google-public-ca
Closed

kvinwang wants to merge 1 commit into
nextfrom
feat/google-public-ca

Conversation

@kvinwang

@kvinwang kvinwang commented Nov 6, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Accept one-time EAB credentials in RotateAcmeCredentials to register Google Public CA accounts, without persisting the binding secret or changing existing {} requests.
  • Reuse the existing DNS-01 / DNS-PERSIST-01 issuance and shared-account renewal flows.
  • Document Google project setup, staging/production endpoints, DNS records, and account rotation.

EAB registration is available through the authenticated admin RPC; the dashboard registration button remains EAB-free.

Validation

Linux x86_64, Rust/Cargo 1.92.0, default workspace features; local unit tests only, no TEE or GCP credentials. The ACME registration test uses a loopback mock server and synthetic HMAC keys.

  • cargo test --manifest-path dstack/Cargo.toml -p certbot --lib — 73 passed
  • cargo test --manifest-path dstack/Cargo.toml -p dstack-gateway — 342 passed
  • cargo check --locked --manifest-path dstack/Cargo.toml -p certbot -p dstack-gateway — passed
  • cargo fmt --all --manifest-path dstack/Cargo.toml -- --check and git diff --check — passed

Real Google Public CA staging issuance has not been exercised.

@kvinwang kvinwang closed this Nov 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant