Skip to content

decision(delete-user-data): kit/extension parity – kit-only topic params break non-interactive ext:migrate #3260

Open

Description

@CorieW

delete-user-data kit/extension parity. Priority: low. ext:migrate can't run unattended, and asks users about settings their extension never had.

Difference

  • Extension: the platform names the topics ext-<id>-discovery and ext-<id>-deletion. They aren't params, so users never see them.
  • Kit: adds the params DISCOVERY_TOPIC_NAME and DELETION_TOPIC_NAME. ext:export can't supply them, so:
    • firebase ext:migrate --non-interactive fails: In non-interactive mode but have no value for the following environment variables: DISCOVERY_TOPIC_NAME, DELETION_TOPIC_NAME, and the CLI rolls back the install.
    • Interactive ext:migrate stops to ask for both topic names. The defaults it offers are fine.

Reproduced

Ran firebase ext:migrate --ext-instance <id> --package @firebase-function-kits/delete-user-data@next (CLI 15.31) against an extension 0.1.30 instance: once non-interactive (failed as above), once interactive (prompted for both topics).

Code

Resolution

Decision needed. Options:

  • Drop the params: build the topic names from FIREBASE_KIT_INSTANCE_ID, as the extension did. Migration works unattended, but users lose the ability to override topic names (a kit-only feature the README documents).
  • Keep the params, fix firebase-tools: have the CLI use a param's default in non-interactive or seeded installs instead of failing. The kit is unchanged, and the fix also covers other kits with kit-only params (e.g. the *_QUEUE_NAME params in firestore-vector-search).
  • Accept it: keep the current behaviour and record it as an accepted difference under "Decisions" in delete-user-data kit tracking issue #3249.

Activity

  1. changed the title [-]fix(delete-user-data): kit/extension parity – kit-only topic params break non-interactive ext:migrate[/-] [+]decision(delete-user-data): kit/extension parity – kit-only topic params break non-interactive ext:migrate[/+] on Oct 20, 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

    decisionNeeds a decision before work can proceedkitsparity

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions