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

Eliminate Concierge service #1416

Merged
merged 357 commits into from
Aug 4, 2022

Conversation

Yannic92
Copy link
Contributor

@Yannic92 Yannic92 commented Jul 21, 2022

This Pull request targets what is discussed in #1339.

Resolves #1339

The concierge service will be eliminated and authorization of signals are moved to the entity services.
Furthermore we introduced a common extension mechanism based on Akka's Extensions.
All points that could make sense to be extended are converted to a DittoExtensionPoint.

DerSchwilk and others added 30 commits May 30, 2022 09:29
* Moved logic out of model. Handling of resolving the default namespace
  is only relevant in edge services and from then on the namespace counts
  as resolved

Signed-off-by: Yannic Klem <[email protected]>
…dency

from ditto-connectivity-api

Signed-off-by: Yannic Klem <[email protected]>
* Sometimes the cache was not invalidate because the policyIdForEnforcement
  was null while policyEnforcer wasn't
* I removed this "duplication" of the policy ID since it can be extracted
  from the policyEnforcer anyway. This way it can't happen that the two
  variables are out of sync

Signed-off-by: Yannic Klem <[email protected]>
…o PreEnforcement

Adds ExistenceChecker for validating ModifyCommands which optionally create a new entity.
Remove BlockeNamepsaceEnfrorcer from connectivity, since not needed.
Moves PreEnforcer classes to own package pre_enforcement.

Signed-off-by: David Schwilk <[email protected]>
* Was overly specific and not required

Signed-off-by: Yannic Klem <[email protected]>
* changed signature of PreEnforcer to directly use `Signal` for converting/enforcing
* added suffix "PreEnforcer" for all classes implementing PreEnforcer
* removed "id-cache" from enforcement config
* removed no longer needed PolicyEnforcerRetrieverFactory
* adjusted package name from "pre_enforcement" to just "pre"
* added missing javadocs for public classes
* added missing "final" declaration for classes effectively final
* some formatting

Signed-off-by: Thomas Jaeckle <[email protected]>
…f a Policy

* only if the Policy semantically changed (e.g. subjectIds or resources were changed)
* that causes that many cache invalidations do not need to happen for use cases which modify a Policy in a way which does not change enforcement outcome
* also renamed AbstractEvent.appendPayloadAndBuild to appendPayload - because the method does not build, it just appends to the builder

Signed-off-by: Thomas Jaeckle <[email protected]>
Copy link
Member

@thjaeckle thjaeckle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed in peers while doing the commits over the last months.
Approved 👍

@Yannic92 Yannic92 force-pushed the feature/concierge-removal branch from 1aa7eea to 6cdb35f Compare August 1, 2022 06:29
@thjaeckle thjaeckle force-pushed the feature/concierge-removal branch from 1ed03fe to cce76fc Compare August 2, 2022 16:02
@Yannic92 Yannic92 merged commit 9b194d4 into eclipse-ditto:master Aug 4, 2022
@Yannic92 Yannic92 deleted the feature/concierge-removal branch August 8, 2022 12:07
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.

Reduce amount of services
3 participants