Skip to content

Organization invitations system #401

@migmartri

Description

@migmartri

UPDATE: See comments below

The data model root is namespaced (soft multi-tenancy) by an organization entity. Users are connected to different organizations through memberships.

image

At user registration time, an organization and its membership will be created.

That's the extent of our current membership handling. It has the following limitations:

  • No other users can be added to the same organization (unless a DB entry is manually added)
  • memberships can not be deleted, meaning a user can't leave an organization.

This task is about to be able to add users, existing or not, to be added to an existing organization.

Invitation system context

This could be performed via an invitation system, and it should contain

  • [user 1] being able to create an invitation to org1 for user@example.com
    • this invitation should be time-limited and exclusive to the given org and user
  • [user 2] should be able to accept/decline the invitation
  • [user 1] should be able to revoke the invite

Invitation system implementation first cut

User 1

Create invitation

chainloop org invite create --org deadbeef --user john@cyberdyne.com
=> invitation created with code "XC-A0-12-BT" valid for 1 week

You can list the invitations

chainloop org invite ls

or revoke it

chainloop org invite revoke --code XC-A0-12-BT

chainloop org invite create --org deadbeef --user john@cyberdyne.com

user 2

Join an org

chainloop org invite accept --code XC-A0-12-BT

or reject the invite

chainloop org invite reject --code XC-A0-12-BT

Refs #350

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions