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
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
357 commits
Select commit Hold shift + click to select a range
061fa0f
Remove unnecessary SignalTransformer extension
DerSchwilk May 30, 2022
82b4fe9
Use Extension to determine default namespace for entity creation
Yannic92 May 30, 2022
3814e11
Renamed module ditto-edge-api to ditto-edge-service and removed depen…
Yannic92 May 30, 2022
b302ade
rename package to fit module name
Yannic92 May 30, 2022
d2cbef7
Revert "Remove unnecessary SignalTransformer extension"
Yannic92 May 30, 2022
8843572
Use SignalTransformer to append default namespace to relevant commands
Yannic92 May 30, 2022
0111ebb
Preserve original sender during async processing
Yannic92 May 30, 2022
e0fe64a
Fix cache invalidation
Yannic92 May 31, 2022
5654ca1
Add comment regarding race condition to keep track of the problem
Yannic92 May 31, 2022
1a7bfbb
Merge branch 'master' into feature/concierge-removal
Yannic92 May 31, 2022
04fec3e
Remove CreationRestrictionEnforcer from CommandEnforcement and move t…
DerSchwilk Jun 1, 2022
ee9c005
Move CreationRestriction enforcer safe casts to PreEnforcer for share…
DerSchwilk Jun 1, 2022
90bc3e3
Merge remote-tracking branch 'origin/feature/concierge-removal' into …
DerSchwilk Jun 1, 2022
0e14f5c
Fix CreationRestrictionEnforcerTest
DerSchwilk Jun 1, 2022
bde60c5
Fix Policies service registry tests
DerSchwilk Jun 1, 2022
c6469e7
Use akka.actor.ActorContext instead of AbstractActor.ActorContext
Yannic92 Jun 1, 2022
1787b64
Refer to constants for API relevant actor names
Yannic92 Jun 1, 2022
3b85931
Add pre-enforcement for search commands
DerSchwilk Jun 2, 2022
3fa7813
Removed Caching from ExistenceChecker
DerSchwilk Jun 2, 2022
fd7e0ed
Use constant for SearchConstants Path delimeter
DerSchwilk Jun 3, 2022
65cb5d9
Provide separate abstract class with encapsulates logic to load policy
Yannic92 Jun 2, 2022
e57a140
Add javadoc to pre_enforcement package
DerSchwilk Jun 3, 2022
be02619
Merge branch 'feature/concierge-removal' of https://github.boschdevcl…
DerSchwilk Jun 3, 2022
06a229c
Review: rename left over conciergeForwarder references to commandForw…
DerSchwilk Jun 3, 2022
dca5472
remove unused field in ThingEnforcerActor
Yannic92 Jun 3, 2022
13beeba
Review: Move ThingsAggregatorActor pubsub subscribe to preStart
DerSchwilk Jun 3, 2022
01dd027
Merge branch 'feature/concierge-removal' of https://github.boschdevcl…
DerSchwilk Jun 3, 2022
d13a213
review of pre-enforcement changes:
thjaeckle Jun 3, 2022
be54770
Remove ConnectivityCommandEnforcement from ditto as they are currentl…
Yannic92 Jun 3, 2022
3ca4c80
Merge branch 'feature/concierge-removal' of https://github.boschdevcl…
Yannic92 Jun 3, 2022
18dfac2
removed TODO - SignalTransformer and PreEnforcer are not considilated…
thjaeckle Jun 7, 2022
e4cc60e
Add AskWithRetry to EdgeCommandForwarder
DerSchwilk Jun 8, 2022
6303d5a
Only use AskWithRetry if a response will be returned
DerSchwilk Jun 9, 2022
4bf3be6
Minor adaptions
Yannic92 Jun 9, 2022
01cc2e4
review: minor style fixes
thjaeckle Jun 9, 2022
958ef86
Add AskWithRetry for pubSub messages
DerSchwilk Jun 10, 2022
bf4d25d
Merge remote-tracking branch 'origin/feature/concierge-removal' into …
DerSchwilk Jun 10, 2022
3473ac2
reworked AcknowledgementAggregatorActor and its surroundings so that:
thjaeckle Jun 14, 2022
8931ef4
fixed unit test
thjaeckle Jun 15, 2022
6915eef
removed ackReceiverActor from AcknowledgementForwarderActor
thjaeckle Jun 15, 2022
b7407b7
fixed unit tests which broke after adjusting where Acks are sent to
thjaeckle Jun 15, 2022
546fd07
fixed acknowledgement sending for live commands
thjaeckle Jun 17, 2022
ebff0be
review of ask-with-retry at edges:
thjaeckle Jun 17, 2022
a48a0ef
fixed bugs in thing policy enrichment + "copy policy from"
thjaeckle Jun 20, 2022
cbd932f
Add command to retrieve all connection IDs of connections that contain a
Yannic92 Jun 10, 2022
7e245fa
removed obsolete (old) AbstractEnforcement class and helpers around it
thjaeckle Jun 20, 2022
f6ee10c
Move match stage after grouping to make sure only the latest element is
Yannic92 Jun 20, 2022
cce1087
fixed several remaining issues in acknowledgement handling
thjaeckle Jun 20, 2022
88e3859
fixed unit test
thjaeckle Jun 21, 2022
543481a
fixed that AcknowledgementAggregator was not started for Announcement…
thjaeckle Jun 21, 2022
bd0420d
do not retry connectivity commands in EdgeCommandForwarderActor
thjaeckle Jun 21, 2022
141aaa2
fix handling of live command responses
thjaeckle Jun 21, 2022
c6d5cb3
fixed preserving of "originator" of live command responses
thjaeckle Jun 22, 2022
79ca0a6
fixed more remaining acknowledgement response sending bugs
thjaeckle Jun 22, 2022
6de622d
fixed PubSubFactoryTest which still assumed in one case that Acks are…
thjaeckle Jun 22, 2022
28ff503
fixed unit tests affected by switch to acknowledgement aggregator add…
thjaeckle Jun 22, 2022
e1d0c68
Fix RetrieveThings handling for connectivity
Yannic92 Jun 22, 2022
99df1d8
stip "lastModified" timestamp from QueryThingResponses (which was onl…
thjaeckle Jun 22, 2022
b88e7d2
stabilize EnforcementFlow thing retrieval from thingsFacade
thjaeckle Jun 22, 2022
332b483
Merge proxy actors together to make more clear what it actually does
Yannic92 Jun 22, 2022
0c62acf
forward signals to command forwarder instead to deleted proxy actor
Yannic92 Jun 22, 2022
1fc7c38
make AbstractPersistenceSupervisor respect order of signals by doing …
thjaeckle Jun 22, 2022
99a0f13
Transform modifyThing and modifyPolicy into createThing and createPolicy
Yannic92 Jun 22, 2022
f261696
Add tests for the transforming pre enforcers
Yannic92 Jun 22, 2022
47ca32b
fix tests
Yannic92 Jun 22, 2022
084b5d0
fixed issues + tests after ensuring the order of signals in AbstractP…
thjaeckle Jun 23, 2022
3212964
removed dependency from policies-service to things-model by pulling o…
thjaeckle Jun 23, 2022
90b8539
fixed another ack issue in gateway
thjaeckle Jun 23, 2022
08871a9
Don't cache policyEnforcer
Yannic92 Jun 24, 2022
5ce6171
re-added CreateThingSubstitutionStrategy and split up
thjaeckle Jun 24, 2022
5dab650
Review: Minor adjustements
DerSchwilk Jun 27, 2022
9a24fe2
removed "lastModified" Instant from SearchResult
thjaeckle Jun 27, 2022
3c236c6
Fix Tests and bugs discovered by tests
Yannic92 Jun 27, 2022
f369107
Fix ThingPersistenceActorTest
Yannic92 Jun 27, 2022
5ba29ef
review: renamed ProxyActor in gateway to GatewayProxyActor
thjaeckle Jun 27, 2022
e9c8033
adjusted SubstitutionStrategy to work on Signals
thjaeckle Jun 27, 2022
c8e390d
apply special CreateThing enforcer providing only for twin commands
Yannic92 Jun 27, 2022
a74bc75
fix typos in test names
Yannic92 Jun 28, 2022
bcc1079
move pre enforcer to pre package
Yannic92 Jun 28, 2022
f96518e
Delete the created policy if create thing enforcement fails
Yannic92 Jun 28, 2022
0de1b4c
Throw special thing exceptions when policyEnforcer could not be loaded
Yannic92 Jun 28, 2022
1c9d543
Fix ThingCommandEnforcementTest
Yannic92 Jun 28, 2022
50c4e76
Make sure to keep original copy policy or inline policy
Yannic92 Jun 28, 2022
16cfae2
added SudoQueryCommandResponse with is a SudoCommandResponse containi…
thjaeckle Jun 28, 2022
8e88670
fixed PoliciesServiceGlobalCommandRegistryTest
thjaeckle Jun 28, 2022
06e56c0
made isIdempotent in EdgeCommandForwarderActor public
thjaeckle Jun 28, 2022
9ea1d85
fixed entity-id format in built DittoHeaders of AcknowledgementAggreg…
thjaeckle Jun 29, 2022
22baef7
fixed unit test
thjaeckle Jun 29, 2022
c1ecdc6
Move logic for retrieval of policy enforcer into separate class which
Yannic92 Jun 29, 2022
4eccbcb
Add caching and unittests für PolicyEnforcerProvider
Yannic92 Jun 29, 2022
0ac7472
Use lambda function reference
Yannic92 Jun 29, 2022
f19c99a
Fix ThingPersistenceActorTest
Yannic92 Jun 29, 2022
bfec791
made placeholder resolver definitions in AbstractPlaceholderSubstitut…
thjaeckle Jun 29, 2022
36e7507
Review: ConnectionIdsRetrievalActor
DerSchwilk Jun 30, 2022
b591839
Review: Acknowledgement aggregation changes
DerSchwilk Jul 1, 2022
abd48f7
fixed ignored unit test
thjaeckle Jun 30, 2022
971edbc
made RetrieveConnectionIdsByTag a ConnectivitySudoCommand
thjaeckle Jul 1, 2022
63e52cc
fixed timeout behavior
thjaeckle Jul 1, 2022
66950ca
fixed temporarily ignored unit tests + remaining passivation TODO
thjaeckle Jul 4, 2022
d98adc5
stabilized flaky test by waiting for passivation after sending a comm…
thjaeckle Jul 4, 2022
e00927d
fixed default local ask timeout to be higher for connectivity
thjaeckle Jul 4, 2022
56e759d
fixed test compile error
thjaeckle Jul 5, 2022
ec92d3d
Review: PolicyEnforcerProvider
DerSchwilk Jul 5, 2022
2d413d8
Merge remote-tracking branch 'origin/feature/concierge-removal' into …
DerSchwilk Jul 5, 2022
a98174c
added loggging in ConnectionIdsRetrievalActor
thjaeckle Jul 5, 2022
6d5fbb6
added metrics gathering for enforcement + pre-enforcement in Abstract…
thjaeckle Jul 5, 2022
cea4d0a
added tracing propagation for new PersistenceSupervisor / Enforcement
thjaeckle Jul 6, 2022
a042bc1
Review: ConnectionSupervisorActor
DerSchwilk Jul 6, 2022
33d6e2b
Merge remote-tracking branch 'origin/feature/concierge-removal' into …
DerSchwilk Jul 6, 2022
b00b8d7
by default disabled passivation strategy in all "cluster" configs
thjaeckle Jul 6, 2022
9e03585
made metric gathering mor stable in the way that a started timer is a…
thjaeckle Jul 6, 2022
ef3567a
add new SodoRetrieveConnectioTags command which returns all "tags" fo…
thjaeckle Jul 7, 2022
c6295cc
fixed command dispatching in command strategies
thjaeckle Jul 7, 2022
2048afa
changed merge order in Enforcer on filtering .. not being sure which …
thjaeckle Jul 7, 2022
449108e
loosen timing issues in AskWithRetryTest
thjaeckle Jul 7, 2022
f91f5d8
fixed unit test
thjaeckle Jul 7, 2022
e795e70
Use separate dispatcher for access on enforcers
DerSchwilk Jul 8, 2022
186832c
Merge remote-tracking branch 'origin/feature/concierge-removal' into …
DerSchwilk Jul 8, 2022
17d452c
Fix failing enforcement tests
DerSchwilk Jul 8, 2022
9d36ce5
Provide mechanism to configure each extension on a separate level
Yannic92 Jul 7, 2022
798dac1
Use new mechanism for RootChildActorStarter
Yannic92 Jul 7, 2022
a13d5ab
Fix JWT authentication result provider initialization
Yannic92 Jul 7, 2022
cc2f261
Make all DittoExtensionPoint implementations accept two parameters in…
Yannic92 Jul 8, 2022
0378df7
fix javadoc of DittoExtensionPoint
Yannic92 Jul 8, 2022
a0a343a
fix javadoc of JwtAuthenticationResultProvider
Yannic92 Jul 8, 2022
a10f6c5
Align RootActorStarter with new configurable extension approach
Yannic92 Jul 8, 2022
a879844
Allow shorthand extension configuration with only string as full qual…
Yannic92 Jul 8, 2022
acce9ed
Make ExistenceChecker not an extension
Yannic92 Jul 8, 2022
b18e4cc
Fix tests by allowing to mock final classes
Yannic92 Jul 8, 2022
a7e0b6e
Align EdgeCommandForwarder with new convention for DittoExtensionPoint
Yannic92 Jul 8, 2022
f34d4f3
Use enforcement actor dispatcher as actor dispatcher for enforcement …
DerSchwilk Jul 11, 2022
19d2f2d
Merge remote-tracking branch 'origin/feature/concierge-removal' into …
DerSchwilk Jul 11, 2022
088884d
allow configuration for EdgeCommandForwarderExtension
Yannic92 Jul 11, 2022
d4f215d
Configure RootActorStarter and RootChildActorStarter on ditto.extensi…
Yannic92 Jul 11, 2022
8d9dbcb
Allow custom configuration for the SearchUpdateObserver extension
Yannic92 Jul 11, 2022
6952903
Allow custom configuration for the QueryCriteriaValidator extension
Yannic92 Jul 11, 2022
a5cdf86
Allow custom configuration for the SignalTransformer extension
Yannic92 Jul 11, 2022
9e5bb7a
Allow custom configuration for the ConnectionPriorityProviderFactory …
Yannic92 Jul 11, 2022
230de2f
Allow custom configuration for the ClientActorPropsFactory extension
Yannic92 Jul 11, 2022
dbbb7d3
Fix test config for ClientActorPropsFactory
Yannic92 Jul 11, 2022
0d0bad5
Make ConnectivitySignalEnrichmentFacade configurable via extension me…
Yannic92 Jul 12, 2022
26dc892
Use configuration mechanism for GatewaySignalEnrichmentProvider
Yannic92 Jul 12, 2022
771dc71
cleanup config files from remnants of signal-enrichment config
Yannic92 Jul 12, 2022
5790162
reduce ask timeout of signal enrichment in order to fix tests (restor…
Yannic92 Jul 12, 2022
8fe2670
include new config cachingEnabled into hashcode,equals and toString
Yannic92 Jul 12, 2022
1f56f2f
Make CachingSignalEnrichmentFacadeProvider a DittoExtensionPoint used
Yannic92 Jul 12, 2022
3cd249d
Allow custom configuration for the ConnectionEnforcerActorPropsFactor…
Yannic92 Jul 12, 2022
21867b5
Allow custom configuration for the CustomConnectivityCommandIntercept…
Yannic92 Jul 12, 2022
2a724fe
Allow custom configuration for the HttpBindFlowProvider extension
Yannic92 Jul 12, 2022
270175b
Allow custom configuration for the WebSocketConfigProvider extension
Yannic92 Jul 12, 2022
6b36bac
made MessageMapper aware of additional inbound headers to pass additi…
thjaeckle Jul 12, 2022
c24ce97
fixed ThingUpdater acknowledgement handling
thjaeckle Jul 12, 2022
82f7ca8
Allow custom configuration for the GatewayAuthenticationDirectiveFact…
Yannic92 Jul 12, 2022
db95bd2
Allow custom configuration for the HttpRequestActorPropsFactory exten…
Yannic92 Jul 12, 2022
b396ba8
Allow custom configuration for the SseEventSniffer extension
Yannic92 Jul 12, 2022
1a9064b
Allow custom configuration for the StreamingAuthorizationEnforcer ext…
Yannic92 Jul 12, 2022
36efa59
Allow custom configuration for the IncomingWebSocketEventSniffer exte…
Yannic92 Jul 12, 2022
92a3a71
Allow custom configuration for the OutgoingWebSocketEventSniffer exte…
Yannic92 Jul 12, 2022
8945fc7
Allow custom configuration for the CustomApiRoutesProvider extension
Yannic92 Jul 12, 2022
3894dc6
Allow custom configuration for the SseConnectionSupervisor extension
Yannic92 Jul 12, 2022
53a90e9
Allow custom configuration for the WebSocketConnectionSupervisor exte…
Yannic92 Jul 12, 2022
10e4fe5
fixed HttpRequestActorTest
thjaeckle Jul 12, 2022
9c86533
fix route tests
Yannic92 Jul 12, 2022
ddff687
removed no longer used SudoUpdateThingResponse
thjaeckle Jul 13, 2022
4ee6520
Make PreEnforcerProvider and all PreEnforcer a configurable DittoExte…
Yannic92 Jul 13, 2022
ad6d022
Make SearchUpdateMapper a configurable DittoExtensionPoint
Yannic92 Jul 13, 2022
d25d348
Stabilize CachingPolicyEnforcerProviderTest
Yannic92 Jul 13, 2022
f4dafd0
forward "live" CommandResponses received in InboundDispatchingSink to…
thjaeckle Jul 13, 2022
a4b31fa
fixed MessageMappingProcessorActorTest
thjaeckle Jul 13, 2022
71c9d57
Move knowledge about ditto.extensions root key into DittoExtensionPoint
Yannic92 Jul 13, 2022
763a90e
only start BlockedNamespacesUpdater in one service: policies
thjaeckle Jul 13, 2022
62ed425
undid sending "live" CommandResponses in InboundDispatchingSink to pr…
thjaeckle Jul 14, 2022
388453f
fixed compile errors
thjaeckle Jul 14, 2022
ebc615d
fixed unit test
thjaeckle Jul 14, 2022
5f49779
Remove supplyAsync from CommandEnforcements
Yannic92 Jul 14, 2022
4896fe0
handle ErrorResponses correctly in AckForwarder
thjaeckle Jul 14, 2022
ebbdf8e
fixed unit test
thjaeckle Jul 14, 2022
0f50c0a
remove supplyAsnyc from placeholder substitution pre enforcer
Yannic92 Jul 15, 2022
8a27fbe
Move PreEnforcer appliance into enforcer actor
Yannic92 Jul 15, 2022
1636e7a
fixed piggyback command sending
thjaeckle Jul 15, 2022
23557d3
Use pre enforced signal for further processing
Yannic92 Jul 15, 2022
ff3bae1
Merge branch 'master' into feature/concierge-removal
Yannic92 Jul 15, 2022
3c75394
Restore previous behaviour to discover maxWireVersion for SearchUpdat…
Yannic92 Jul 15, 2022
ae09d7a
fix search unittests
Yannic92 Jul 15, 2022
780e68a
Make UpdatedConnectionTester a DittoExtensionPoint
Yannic92 Jul 15, 2022
015b2bc
rename proxyActor to commandForwarder
Yannic92 Jul 15, 2022
6f6f468
fixed ByteBuffer handling in GenericMqttPublish, copying the bytebuff…
thjaeckle Jul 15, 2022
3df224e
Apply pre enforcers on live responses
Yannic92 Jul 18, 2022
32cee22
Make SignalTransformers a list of extensions like pre enforcers
Yannic92 Jul 18, 2022
9e95560
Fix unittests
Yannic92 Jul 18, 2022
b95498b
We should sequentialize processing of messages for a thing as soon as we
Yannic92 Jul 18, 2022
582ae4f
Sequentialize all twin commands for a signle entity
Yannic92 Jul 18, 2022
1297520
Use ditto extensions config for SignalTransformers
Yannic92 Jul 18, 2022
8c85dfc
Moved DittoExtensionPoint to own package in order to clean up depende…
DerSchwilk Jul 11, 2022
383602e
Set classpath of ditto docker images to ditto_home in effort to enabl…
DerSchwilk Jul 13, 2022
988377f
Remove starter.jar link, as the service now gets started via classpath
DerSchwilk Jul 14, 2022
a749dce
Revert pre-enforcement of live command responses
Yannic92 Jul 18, 2022
407aa8d
Move placeholder substitution to signal transforming phase in edge se…
Yannic92 Jul 18, 2022
87c1cf7
Make SignalTransformers available for all Services and apply them in
Yannic92 Jul 18, 2022
e71b838
Make ModifyToCreatePolicyTransformer and ModifyToCreateTingTransformer
Yannic92 Jul 19, 2022
234bba7
Apply SignalTransformer also for search
Yannic92 Jul 19, 2022
e70314b
adjusting javadoc of PreEnforcer to make clear its meant or enforcement
Yannic92 Jul 19, 2022
14ca298
make SudoStreamThings no longer a sudo command
Yannic92 Jul 19, 2022
3baf4e8
Define PreEnforcerProvider in reference.conf in order to reduce confi…
Yannic92 Jul 19, 2022
5837623
Make MessageMapperExtension a DittoExtensionPoint
DerSchwilk Jul 19, 2022
d1ec490
Merge remote-tracking branch 'origin/feature/concierge-removal' into …
DerSchwilk Jul 19, 2022
be4964b
simplify QueryParser
thjaeckle Jul 19, 2022
2144cc2
Improve logging in signal transformer
Yannic92 Jul 19, 2022
860273c
Move placeholder substitution back into persistence services
Yannic92 Jul 19, 2022
034ff5f
Handle Errors of SignalTransformation
Yannic92 Jul 19, 2022
65e4e90
reduce visibility of fields in DittoService to private where possible
Yannic92 Jul 20, 2022
528899c
Configure snapshot adapter on ditto.extensions level
Yannic92 Jul 20, 2022
e392b46
Remove unnecessary rawConfig parameter of DittoService#getMainRootAct…
Yannic92 Jul 20, 2022
a26832a
fix javadoc
Yannic92 Jul 20, 2022
f0f48bf
configure snapshot-adapter on ditto.extensions level also for tests
Yannic92 Jul 20, 2022
a544b8c
by default, deactivated "remember-entities" for connectivity service
thjaeckle Jul 19, 2022
137cfba
enable caching by default
Yannic92 Jul 20, 2022
4334505
Review: Optimize configurability of extension
DerSchwilk Jul 20, 2022
7732389
instead of deleting things from search index after a Policy entry cou…
thjaeckle Jul 20, 2022
820bc34
made DefaultPolicyEnforcerProvider no longer aware of sister "cache b…
thjaeckle Jul 20, 2022
7104235
Review: SignalTransformers
DerSchwilk Jul 21, 2022
68a4de4
Delete EnforcementCacheKey and EnfocementContext as it's no longer re…
Yannic92 Jul 21, 2022
839f243
Merge branch 'eclipse' into feature/concierge-removal
thjaeckle Jul 21, 2022
f0464cc
reduce unit test logging from DEBUG to INFO
thjaeckle Jul 21, 2022
a20ebbf
fixed wrong year in license headers
thjaeckle Jul 21, 2022
2b6c03d
add example for configuring WoT "oauth2" security provider
thjaeckle Jul 22, 2022
2ad52e1
Merge branch 'eclipse' into feature/concierge-removal
thjaeckle Jul 22, 2022
19a4c9b
adjust architecture overview and remove concierge from docs
thjaeckle Jul 25, 2022
96dad69
apply signal transformer for sudo commands
Yannic92 Jul 25, 2022
cd8fab2
Add documentation about extending Ditto
DerSchwilk Jul 27, 2022
768acdf
Also log signal transformation errors for sudo commands
DerSchwilk Jul 27, 2022
3e1662f
fix imports
thjaeckle Jul 28, 2022
d99e1f4
fix docs of "connectionIdsRetrieval" piggyback command
thjaeckle Jul 28, 2022
0a1555e
try to stabilized unit tests for GH actions
thjaeckle Jul 28, 2022
474a9c1
added smarter publishing of "PolicyTag" messages after modification o…
thjaeckle Jul 29, 2022
6cdb35f
Simplify ConnectionPersistenceActorTest
Yannic92 Jul 29, 2022
3800263
Merge branch 'master' into feature/concierge-removal
thjaeckle Aug 1, 2022
7a49ae9
Merge branch 'master' into feature/concierge-removal
Yannic92 Aug 1, 2022
428553f
updated Grafana dashboards
thjaeckle Aug 1, 2022
96ba615
fix PolicyTag "shortcut" for PolicyDeleted event
thjaeckle Aug 2, 2022
1396eba
fixed cluster roles
thjaeckle Aug 2, 2022
19444ff
made "isSemanticallySameAs" in Policy more robust in regards to order
thjaeckle Aug 2, 2022
15f6be0
Ditto 3.0 preparation: removed deprecated marked code and adjusted ja…
thjaeckle Aug 2, 2022
939fd55
fixed serialization/deserialization of LogEntry
thjaeckle Aug 2, 2022
367dec4
just use Collectors.toSet as equals comparisson does not take orderin…
Yannic92 Aug 2, 2022
e727dad
Revert "fixed serialization/deserialization of LogEntry"
Yannic92 Aug 2, 2022
6e7be89
Revert "Ditto 3.0 preparation: removed deprecated marked code and adj…
Yannic92 Aug 2, 2022
cce76fc
tmp ignored flaky MQTT unit test
thjaeckle Aug 2, 2022
42365d5
log when child actor is stopped
Yannic92 Aug 3, 2022
0531df5
log shutdown reason of persistence actor
Yannic92 Aug 3, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
14 changes: 0 additions & 14 deletions .github/workflows/docker-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,20 +80,6 @@ jobs:
push: true
tags: |
eclipse/ditto-things:${{ env.IMAGE_TAG }}
-
name: Build and push ditto-concierge
uses: docker/build-push-action@v3
with:
context: .
file: dockerfile-release
platforms: linux/amd64,linux/arm64
build-args: |
SERVICE_STARTER=ditto-concierge-service
SERVICE_VERSION=0-SNAPSHOT
pull: true
push: true
tags: |
eclipse/ditto-concierge:${{ env.IMAGE_TAG }}
-
name: Build and push ditto-gateway
uses: docker/build-push-action@v3
Expand Down
33 changes: 0 additions & 33 deletions .github/workflows/push-dockerhub.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,24 +95,6 @@ jobs:
eclipse/ditto-things:${{ env.IMAGE_MINOR_TAG }}
eclipse/ditto-things:${{ env.IMAGE_MAJOR_TAG }}
eclipse/ditto-things:latest
-
name: Build and push ditto-concierge
if: env.MILESTONE_OR_RC_SUFFIX == env.IMAGE_TAG
uses: docker/build-push-action@v3
with:
context: .
file: dockerfile-release
platforms: linux/amd64,linux/arm64
build-args: |
SERVICE_STARTER=ditto-concierge-service
SERVICE_VERSION=${{ env.IMAGE_TAG }}
pull: true
push: true
tags: |
eclipse/ditto-concierge:${{ env.IMAGE_TAG }}
eclipse/ditto-concierge:${{ env.IMAGE_MINOR_TAG }}
eclipse/ditto-concierge:${{ env.IMAGE_MAJOR_TAG }}
eclipse/ditto-concierge:latest
-
name: Build and push ditto-gateway
if: env.MILESTONE_OR_RC_SUFFIX == env.IMAGE_TAG
Expand Down Expand Up @@ -209,21 +191,6 @@ jobs:
push: true
tags: |
eclipse/ditto-things:${{ env.IMAGE_TAG }}
-
name: Build and push ditto-concierge milestone/RC
if: env.MILESTONE_OR_RC_SUFFIX != env.IMAGE_TAG
uses: docker/build-push-action@v3
with:
context: .
file: dockerfile-release
platforms: linux/amd64,linux/arm64
build-args: |
SERVICE_STARTER=ditto-concierge-service
SERVICE_VERSION=${{ env.IMAGE_TAG }}
pull: true
push: true
tags: |
eclipse/ditto-concierge:${{ env.IMAGE_TAG }}
-
name: Build and push ditto-gateway milestone/RC
if: env.MILESTONE_OR_RC_SUFFIX != env.IMAGE_TAG
Expand Down
32 changes: 0 additions & 32 deletions .run/ConciergeService.run.xml

This file was deleted.

7 changes: 3 additions & 4 deletions .run/Ditto.run.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,10 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Ditto" type="CompoundRunConfigurationType">
<toRun name="PoliciesService" type="Application" />
<toRun name="ConciergeService" type="Application" />
<toRun name="ConnectivityService" type="Application" />
<toRun name="ThingsService" type="Application" />
<toRun name="GatewayService" type="Application" />
<toRun name="ConnectivityService" type="Application" />
<toRun name="SearchService" type="Application" />
<toRun name="ThingsService" type="Application" />
<method v="2" />
</configuration>
</component>
</component>
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,5 @@ You have now running:
* Things-Search
* Gateway
* Connectivity
* Concierge
* an nginx acting as a reverse proxy performing a simple "basic authentication" listening on port `8080`
* including some static HTTP + API documentation on [http://localhost:8080](http://localhost:8080)
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
/*
* Copyright (c) 2022 Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.eclipse.ditto.base.api.commands.sudo;

import org.eclipse.ditto.base.model.headers.DittoHeaders;
import org.eclipse.ditto.base.model.signals.commands.Command;
import org.eclipse.ditto.json.JsonPointer;

/**
* Aggregates all sudo commands in Ditto.
*
* @param <T> the type of the implementing class.
*/
public interface SudoCommand<T extends SudoCommand<T>> extends Command<T> {

/**
* Type qualifier of sudo commands.
*/
String SUDO_TYPE_QUALIFIER = "sudo." + TYPE_QUALIFIER + ":";

@Override
default JsonPointer getResourcePath() {
// return empty resource path for SudoCommands as this path is currently not needed for SudoCommands:
return JsonPointer.empty();
}

@Override
T setDittoHeaders(DittoHeaders dittoHeaders);

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
/*
* Copyright (c) 2022 Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.eclipse.ditto.base.api.commands.sudo;

import org.eclipse.ditto.base.model.headers.DittoHeaders;
import org.eclipse.ditto.base.model.signals.commands.CommandResponse;
import org.eclipse.ditto.json.JsonPointer;

/**
* Aggregates all sudo command responses in Ditto.
*
* @param <T> the type of the implementing class.
*/
public interface SudoCommandResponse<T extends SudoCommandResponse<T>> extends CommandResponse<T> {

/**
* Type qualifier of sudo command responses.
*/
String SUDO_TYPE_QUALIFIER = "sudo." + TYPE_QUALIFIER + ":";

@Override
default JsonPointer getResourcePath() {
// return empty resource path for SudoCommandResponses as this path is currently not needed for
// SudoCommandResponses:
return JsonPointer.empty();
}

@Override
T setDittoHeaders(DittoHeaders dittoHeaders);

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/*
* Copyright (c) 2022 Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.eclipse.ditto.base.api.commands.sudo;

import org.eclipse.ditto.base.model.signals.commands.WithEntity;
import org.eclipse.ditto.json.JsonValue;

/**
* Aggregates all sudo "query" command responses in Ditto.
*
* @param <T> the type of the implementing class.
*/
public interface SudoQueryCommandResponse<T extends SudoQueryCommandResponse<T>> extends SudoCommandResponse<T>,
WithEntity<T> {

@Override
T setEntity(JsonValue entity);

}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019 Contributors to the Eclipse Foundation
* Copyright (c) 2022 Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
Expand All @@ -11,4 +11,4 @@
* SPDX-License-Identifier: EPL-2.0
*/
@org.eclipse.ditto.utils.jsr305.annotations.AllValuesAreNonnullByDefault
package org.eclipse.ditto.concierge.service.common;
package org.eclipse.ditto.base.api.commands.sudo;
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,16 @@
import javax.annotation.Nullable;
import javax.annotation.concurrent.Immutable;

import org.eclipse.ditto.json.JsonFactory;
import org.eclipse.ditto.json.JsonField;
import org.eclipse.ditto.json.JsonFieldDefinition;
import org.eclipse.ditto.json.JsonObject;
import org.eclipse.ditto.json.JsonObjectBuilder;
import org.eclipse.ditto.base.model.headers.DittoHeaders;
import org.eclipse.ditto.base.model.json.FieldType;
import org.eclipse.ditto.base.model.json.JsonParsableCommand;
import org.eclipse.ditto.base.model.json.JsonSchemaVersion;
import org.eclipse.ditto.base.model.signals.commands.CommandJsonDeserializer;
import org.eclipse.ditto.json.JsonFactory;
import org.eclipse.ditto.json.JsonField;
import org.eclipse.ditto.json.JsonFieldDefinition;
import org.eclipse.ditto.json.JsonObject;
import org.eclipse.ditto.json.JsonObjectBuilder;

/**
* Command to execute an arbitrary wrapped Command which is included "piggyback" in this {@link DevOpsCommand}.
Expand Down Expand Up @@ -63,10 +63,14 @@ public final class ExecutePiggybackCommand extends AbstractDevOpsCommand<Execute
*/
public static final String TYPE = TYPE_PREFIX + NAME;

public static final JsonFieldDefinition<String> JSON_TARGET_ACTORSELECTION =
private static final JsonFieldDefinition<String> JSON_TARGET_ACTORSELECTION =
JsonFactory.newStringFieldDefinition("targetActorSelection", FieldType.REGULAR,
JsonSchemaVersion.V_2);
public static final JsonFieldDefinition<JsonObject> JSON_PIGGYBACK_COMMAND =

private static final JsonFieldDefinition<JsonObject> JSON_HEADERS =
JsonFactory.newJsonObjectFieldDefinition("headers", FieldType.REGULAR,
JsonSchemaVersion.V_2);
private static final JsonFieldDefinition<JsonObject> JSON_PIGGYBACK_COMMAND =
JsonFactory.newJsonObjectFieldDefinition("piggybackCommand", FieldType.REGULAR,
JsonSchemaVersion.V_2);

Expand Down Expand Up @@ -154,9 +158,13 @@ public static ExecutePiggybackCommand fromJson(final JsonObject jsonObject, fina
final String serviceName = jsonObject.getValue(DevOpsCommand.JsonFields.JSON_SERVICE_NAME).orElse(null);
final String instance = jsonObject.getValue(DevOpsCommand.JsonFields.JSON_INSTANCE).orElse(null);
final String targetActorSelection = jsonObject.getValueOrThrow(JSON_TARGET_ACTORSELECTION);
final JsonObject dittoHeadersObj = jsonObject.getValueOrThrow(JSON_HEADERS);
final DittoHeaders combinedDittoHeaders = dittoHeaders.toBuilder()
.putHeaders(DittoHeaders.newBuilder(dittoHeadersObj).build())
.build();
final JsonObject piggybackCommand = jsonObject.getValueOrThrow(JSON_PIGGYBACK_COMMAND);

return of(serviceName, instance, targetActorSelection, piggybackCommand, dittoHeaders);
return of(serviceName, instance, targetActorSelection, piggybackCommand, combinedDittoHeaders);
});
}

Expand Down Expand Up @@ -193,6 +201,7 @@ protected void appendPayload(final JsonObjectBuilder jsonObjectBuilder, final Js

final Predicate<JsonField> predicate = schemaVersion.and(thePredicate);
jsonObjectBuilder.set(JSON_TARGET_ACTORSELECTION, targetActorSelection, predicate);
jsonObjectBuilder.set(JSON_HEADERS, getDittoHeaders().toJson(), predicate);
jsonObjectBuilder.set(JSON_PIGGYBACK_COMMAND, piggybackCommand, predicate);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,26 +12,27 @@
*/
package org.eclipse.ditto.base.api.persistence.cleanup;

import org.eclipse.ditto.json.JsonFactory;
import org.eclipse.ditto.json.JsonFieldDefinition;
import org.eclipse.ditto.json.JsonPointer;
import org.eclipse.ditto.base.api.commands.sudo.SudoCommand;
import org.eclipse.ditto.base.model.entity.id.EntityId;
import org.eclipse.ditto.base.model.json.FieldType;
import org.eclipse.ditto.base.model.json.JsonSchemaVersion;
import org.eclipse.ditto.base.model.signals.SignalWithEntityId;
import org.eclipse.ditto.base.model.signals.commands.Command;
import org.eclipse.ditto.json.JsonFactory;
import org.eclipse.ditto.json.JsonFieldDefinition;
import org.eclipse.ditto.json.JsonPointer;

/**
* Aggregates all {@link org.eclipse.ditto.base.model.signals.commands.Command}s which are related to cleaning up (e.g. journal entries) in the database.
*
* @param <T> the type of the implementing class.
*/
public interface CleanupCommand<T extends CleanupCommand<T>> extends Command<T>, SignalWithEntityId<T> {
public interface CleanupCommand<T extends CleanupCommand<T>> extends SudoCommand<T>, SignalWithEntityId<T> {

/**
* Type Prefix of Thing commands.
*/
String TYPE_PREFIX = "cleanup." + TYPE_QUALIFIER + ":";
String TYPE_PREFIX = "cleanup." + SUDO_TYPE_QUALIFIER;

/**
* Thing resource type.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,28 +12,28 @@
*/
package org.eclipse.ditto.base.api.persistence.cleanup;

import org.eclipse.ditto.json.JsonFactory;
import org.eclipse.ditto.json.JsonFieldDefinition;
import org.eclipse.ditto.json.JsonPointer;
import org.eclipse.ditto.base.api.commands.sudo.SudoQueryCommandResponse;
import org.eclipse.ditto.base.model.entity.id.EntityId;
import org.eclipse.ditto.base.model.json.FieldType;
import org.eclipse.ditto.base.model.json.JsonSchemaVersion;
import org.eclipse.ditto.base.model.signals.SignalWithEntityId;
import org.eclipse.ditto.base.model.signals.commands.Command;
import org.eclipse.ditto.base.model.signals.commands.CommandResponse;
import org.eclipse.ditto.json.JsonFactory;
import org.eclipse.ditto.json.JsonFieldDefinition;
import org.eclipse.ditto.json.JsonPointer;

/**
* Aggregates all possible responses relating to a given {@link CleanupCommand}.
*
* @param <T> the type of the implementing class.
*/
public interface CleanupCommandResponse<T extends CleanupCommandResponse<T>> extends CommandResponse<T>,
public interface CleanupCommandResponse<T extends CleanupCommandResponse<T>> extends SudoQueryCommandResponse<T>,
SignalWithEntityId<T> {

/**
* Type Prefix of Cleanup command responses.
*/
String TYPE_PREFIX = "cleanup." + TYPE_QUALIFIER + ":";
String TYPE_PREFIX = "cleanup." + SUDO_TYPE_QUALIFIER;

/**
* Thing resource type.
Expand Down
Loading