Skip to content

Add initial tenant registration/defaulting to local auth setup #6

Description

@kreneskyp

Problem

During Filament local setup, repository/object data was seeded into the filament-sync tenant (00000000-0000-0000-0000-000000000000), but the bootstrap admin account only had the default tenant as its active default. As a result, signing into filament-ui as admin made /repos appear broken/empty even though the data and UI routes were working for the agent user whose default tenant had been switched to filament-sync.

The immediate repair was:

ix local auth tenant add admin@dev.ix \
  --tenant 00000000-0000-0000-0000-000000000000 \
  --role admin \
  --is-default

After re-login, admin sessions can see repos because the session token points at the tenant that contains the seeded data.

Request

ix-cli should provide a first-class way to register/select the initial tenant during local auth/bootstrap setup, instead of requiring post-hoc tenant repair.

Possible shapes:

  • ix local init --tenant <tenant-id-or-name> registers the initial tenant and assigns bootstrap admin membership/default.
  • ix local auth reset-admin preserves or accepts an explicit default tenant for the admin account.
  • A dedicated command such as ix local auth tenant init --tenant <id> --name <name> --admin <email> creates/registers the initial tenant and pins admin default membership.

Acceptance Criteria

  • Fresh local setup can declare the initial tenant used by Filament sync/seed data.
  • Bootstrap admin is automatically a member of that tenant.
  • Bootstrap admin defaults to that tenant when appropriate, so UI sessions query the data-bearing tenant immediately after login.
  • The flow must not require resetting admin credentials.
  • The flow should be idempotent and safe to rerun in local dev.

Context

This surfaced while debugging filament-ui.dev.ix/repos: the UI was functioning, but admin was scoped to the wrong tenant. The agent user had filament-sync as default and could see repos; admin had only default and saw empty data.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    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