Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add support for spaces #362

Merged
merged 9 commits into from
Feb 14, 2018
Merged

add support for spaces #362

merged 9 commits into from
Feb 14, 2018

Conversation

mthenw
Copy link
Contributor

@mthenw mthenw commented Feb 14, 2018

What did you implement:

This PR introduces Spaces concept to EG.

Spaces

  • A Space provides isolation
  • A Space is a coarse-grained sandbox in which entities can interact freely Functions, and Subscriptions belong to one space (later we can think about allowing resources to belong to multiple spaces)
  • All actions are possible within a space: publishing, subscribing and calling
  • All access cross-namespace is disabled by default
  • Space is not about access control/authentication/authorization. It's only about isolation.
  • Space doesn't enforce any specific subscription path (though we might change it later)

This is how Spaces fit different needs depending on use-case:

  • Single user - single user will run on default space that, no changes required, UX has to be as simple as it is right now.
  • Enterprise user - different teams/departments will use different spaces for isolation and for hiding internal implementation.

Technically speaking Space is mandatory field ("default" by default) on Function or Subscription object that user has to provide during function registration or subscription creation. A Space is first class concept in Config API. Config API can register function in specified space, list all functions or subscriptions from specified space or remove whole space (both functions and subscriptions) in one request. Config API should also allow to create multiple functions and subscriptions in one request.

Todos:

  • Write tests
  • Write documentation
  • Fix linting errors
  • Make sure code coverage hasn't dropped
  • Provide verification commands / resources
  • Enable "Allow edits from maintainers" for this PR
  • Update the messages below

Is this ready for review?: YES
Is it a breaking change?: YES

@mthenw mthenw merged commit f09cd10 into master Feb 14, 2018
@mthenw mthenw deleted the spaces branch February 14, 2018 13:34
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.

None yet

2 participants