Skip to content

feat: ACME certificates UI - #434

Draft
nd4y wants to merge 1 commit into
remnawave:mainfrom
nd4y:feature/acme
Draft

feat: ACME certificates UI#434
nd4y wants to merge 1 commit into
remnawave:mainfrom
nd4y:feature/acme

Conversation

@nd4y

@nd4y nd4y commented Aug 9, 2026

Copy link
Copy Markdown

UI half of the built-in ACME certificate management feature. Backend PR with the full motivation, configuration examples and screenshots: remnawave/backend#205

What this adds

  • Management → Certificates page: certificates as full-width rows in the same visual language as the Nodes section — status-colored row, domains (click to copy), remaining-lifetime bar, DNS credential and node-binding badges; row click opens Edit, a row menu carries Issue now / Details / Delete.
  • Details drawer with the per-certificate event journal — a failing order is diagnosable from the UI.
  • Credentials tab with a registry-driven form: provider fields (Cloudflare, deSEC, DigitalOcean, Gandi, Hetzner, Porkbun, PowerDNS, Vultr, CUSTOM, MANUAL) are rendered from the contract's provider registry, so adding a provider does not touch the form code.
  • Import modal for certificates issued outside the panel.
  • Menu entry translated (en/ru/zh/fa); feature pages themselves are English-only for now — happy to wire them into Crowdin if the feature is wanted.

Draft until the backend PR settles.

Management -> Certificates, in the visual language of the Nodes section:
certificates are full-width rows carrying status, domains, remaining lifetime,
DNS credential and node bindings; a row click opens the editor, the row menu
issues, inspects and deletes.

- details drawer with the per-certificate event journal, so a failing order is
  diagnosable without reading process logs
- credentials tab whose provider form is rendered from the contract's provider
  registry, so a new DNS provider needs no form code
- import modal for certificates issued elsewhere
- menu entry translated (en, ru, zh, fa); the feature pages themselves are
  English-only for now
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