Skip to content

Conversation

@jmpesp
Copy link
Contributor

@jmpesp jmpesp commented Mar 25, 2022

Add silos, which will isolate organizations, and provide a namespace for
users and groups.

This required adding Silo id to Actor, so users that have authenticated
now have an associated Silo id that can be used to restrict organization
lookup.

Silos can be created, read, and deleted. Modification is a TODO. Silos
can be marked discoverable or not, to support a tenancy model where
users and resources are strongly isolated from each other.

A few tests have been modified to use authn_as because an earlier
version of this branch added OpContext to every endpoint, but that was
reverted because the blast radius of the PR would have been too large.
What remains are a few modified tests that make authenticated calls.

When all endpoints are protected and each datastore function has an
OpContext, Silo can be looked up on Actor. For now, there are places
hard coding as the built-in Silo.

Still TODO:

  • authz for silos and silo users
    • some testing is dependent on ^
  • PUT /silos/{name}
  • building on top of silos

Add silos, which will isolate organizations, and provide a namespace for
users and groups.

This required adding Silo id to Actor, so users that have authenticated
now have an associated Silo id that can be used to restrict organization
lookup.

Silos can be created, read, and deleted. Modification is a TODO. Silos
can be marked discoverable or not, to support a tenancy model where
users and resources are strongly isolated from each other.

A few tests have been modified to use authn_as because an earlier
version of this branch added OpContext to every endpoint, but that was
reverted because the blast radius of the PR would have been too large.
What remains are a few modified tests that make authenticated calls.

When all endpoints are protected and each datastore function has an
OpContext, Silo can be looked up on Actor. For now, there are places
hard coding as the built-in Silo.

Still TODO:
- authz for silos and silo users
  - some testing is dependent on ^
- PUT /silos/{name}
- building on top of silos
@jmpesp
Copy link
Contributor Author

jmpesp commented Mar 25, 2022

note: original PR at #747

@davepacheco
Copy link
Collaborator

Is this basically the same as #747 plus sync'd with "main"? If so are there any tricky parts of the rebase/merge that you'd like eyes on?

@jmpesp
Copy link
Contributor Author

jmpesp commented Mar 25, 2022

Is this basically the same as #747 plus sync'd with "main"? If so are there any tricky parts of the rebase/merge that you'd like eyes on?

yes, and I think a very quick once over would help make sure I rebased correctly, but otherwise this is the same.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants