Skip to content

Support custom Traefik entrypoint for Preview Deployments #4796

Description

@disc

What problem will this feature address?

Preview Deployments always route through Traefik's default web/websecure entrypoints, with no way to override them.

Regular application domains already expose a Custom Entrypoint control (the useCustomEntrypoint toggle → domains.customEntrypoint), so if your Traefik static config defines additional or custom entrypoints (e.g. a dedicated listener/port), regular services can use them. Preview deployments have no equivalent, so their auto-generated domains are stuck on web/websecure.

Describe the solution you'd like

Add a Custom Entrypoint setting to an application's Preview Deployment configuration, applied automatically to every auto-generated preview domain — mirroring how previewPath, previewPort, previewCertificateType, and previewCustomCertResolver already work as parent-level defaults.

  • New previewCustomEntrypoint value on the application's preview settings.
  • createPreviewDeployment passes it into createDomain, and the existing manageDomain call writes it into the Traefik dynamic config (no manual step).
  • Preview Settings gets a Custom Entrypoint toggle + Entrypoint Name input matching the regular domain form. Empty/off reverts to the default web/websecure.

Describe alternatives you've considered

  • Per-preview override in the preview domain dialog — rejected, because preview domains are ephemeral and auto-created per PR, so a parent-level default is the practical fit (editing each PR's domain by hand doesn't scale).
  • Manually editing the generated Traefik dynamic config — not persistent; it's overwritten on the next deploy

Additional context

The backend already supports customEntrypoint on any domain; this only needs a parent-level default wired through the preview creation path.

Will you send a PR to implement it?

Yes

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions