feat(infra): wildcard TLS via Cloudflare DNS-01 #9
No reviewers
Labels
No labels
bug
dependencies
documentation
duplicate
enhancement
github_actions
good first issue
help wanted
invalid
javascript
question
wontfix
No milestone
No project
No assignees
1 participant
notification.notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
flndrn/briven!9
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/traefik-cloudflare-dns01-tls"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
*.apps.briven.cloudvia Let's Encrypt DNS-01 against Cloudflaredev-uptime.briven.cloudvia the existing HTTP-01 letsencrypt resolverinfra/traefik/traefik.yml) for the first timeWhat changed on the KVM (already deployed, this PR only catches up the repo)
/etc/dokploy/traefik/traefik.yml— added a second cert resolvercloudflare(DNS-01); the originalletsencrypt(HTTP-01) is untouched and all 13 existing app certs still workdokploy-traefikcontainer recreated with--env-file /root/.briven-secrets/cloudflare.envsoCF_DNS_API_TOKENis in the container env. Token is a CF API token scopedZone:DNS:Edit+Zone:Readonbriven.cloudonly. Stored mode 600, root-owned, never enters the repoacme-cloudflare.jsoncreated (mode 600) for the new resolver's storage; existingacme.jsonfor letsencrypt is untouchedVerification
dev-uptime.briven.cloud— Let's Encrypt R13, valid till 2026-07-24, browser shows green padlock*.apps.briven.cloud— Let's Encrypt R12 wildcard cert with SAN forapps.briven.cloud, valid till 2026-07-24*-weband*-websecurefor both hostnames) reportenabledwith no errors via Traefik's APITest plan
https://dev-uptime.briven.cloudreturns Uptime Kuma UI with valid certhttps://anything.apps.briven.cloudreturns the API JSON with valid wildcard certdev.briven.cloud,api.briven.cloud,docs.briven.cloud, etc.) still work with their original letsencrypt certsacme.jsoncert count unchanged (14 entries — adds dev-uptime, no regressions)Follow-ups (not in this PR)
infra/traefik/traefik.ymlto the KVM — currently manualscp. Could add a small make target or CI step lateracme-cloudflare.jsonlives only on the KVM (correctly, it's Let's Encrypt account state and shouldn't be in git)🤖 Generated with Claude Code