Skip to content

refactor(external-dns): placement matches neither package category — make it a tenant enabler or move to apps #3275

Open

Description

@kvaps

packages/extra/external-dns fits neither package category as defined:

  • It is not a tenant module: there is no toggle in the Tenant chart (packages/apps/tenant/values.yaml only has etcd/monitoring/ingress/gateway/seaweedfs), and its release definition (packages/system/external-dns-rd) is category: Networking with no internal.cozystack.io/tenantmodule label.
  • At the same time it is a directly orderable application in the dashboard catalog (kind ExternalDNS), so in practice it behaves like an apps service that happens to live in packages/extra.

Decision rule to apply:

  • If the application is a per-tenant singleton → rework it as a proper enabler module: a Tenant chart toggle plus the tenantmodule label, managed under Administration → Modules.
  • If it makes sense to order several instances per tenant (e.g. different DNS providers or zones — the chart already ships annotationPrefix, described as "useful for running multiple instances") → move it to packages/apps.

Context: surfaced in the developer guide update (cozystack/website#594) — the new apps-vs-extra decision guide cannot cite external-dns as an example of either category.

Activity

  1. added
    kind/cleanupCategorizes issue or PR as related to cleanup of code, process, or technical debt
    area/extraIssues or PRs related to tenant-specific modules (packages/extra/)
    triage/acceptedIndicates an issue is ready to be actively worked on
    priority/backlogGeneral backlog priority. Lower than priority/important-longterm
    and removed
    triage/needs-triageIndicates an issue needs triage by a maintainer
    on Sep 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/extraIssues or PRs related to tenant-specific modules (packages/extra/)kind/cleanupCategorizes issue or PR as related to cleanup of code, process, or technical debtpriority/backlogGeneral backlog priority. Lower than priority/important-longtermtriage/acceptedIndicates an issue is ready to be actively worked on

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions