This is an automated email from the ASF dual-hosted git repository.
asf-gitbox-commits pushed a change to branch UNOMI-976-groovy-action-authz
in repository https://gitbox.apache.org/repos/asf/unomi.git
omit 0cfc41702 UNOMI-976: Restrict Groovy action upload to system
administrators
add c46ff2363 UNOMI-974: Require an explicit admin and health-check
password at startup (#850)
add 0163e13f0 UNOMI-975: Bind a public context request to the profile its
own cookie names (#851)
add 0ff5e659e UNOMI-979: Judge scheduler lock expiry by the owner's
recorded lease, deflake scheduler tests (#855)
add 4d4d73922 Require authentication for GraphQL WebSocket upgrade
(master) (#843)
add e995c2b75 UNOMI-981: deploy the distribution again (#862)
add c1fc6efdc UNOMI-987: List unomi-plugins-advanced-conditions in the BOM
(#869)
add a456a6a28 Stop the GraphQL WebSocket deadline scheduler when the
servlet is destroyed (#858)
new 27416cfc2 UNOMI-976: Restrict Groovy action upload to system
administrators
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (0cfc41702)
\
N -- N -- N refs/heads/UNOMI-976-groovy-action-authz (27416cfc2)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.github/workflows/unomi-ci-build-tests.yml | 83 ++-
.../org/apache/unomi/api/tasks/ScheduledTask.java | 36 +-
.../org/apache/unomi/api/utils/LogSanitizer.java | 83 +++
.../apache/unomi/api/utils/LogSanitizerTest.java | 229 ++++++++
bom/artifacts/pom.xml | 5 +
build.sh | 22 +-
clear-elasticsearch.sh | 2 +
clear-opensearch.sh | 2 +
docker/README.md | 18 +-
docker/src/main/docker/docker-compose-build-es.yml | 2 +
docker/src/main/docker/docker-compose-build-os.yml | 2 +
docker/src/main/docker/docker-compose-cluster.yml | 4 +
docker/src/main/docker/docker-compose-es.yml | 3 +
docker/src/main/docker/docker-compose-os.yml | 3 +
docker/src/main/docker/entrypoint.sh | 41 ++
extensions/healthcheck/README.md | 2 +-
extensions/healthcheck/pom.xml | 10 +
.../servlet/HealthCheckHttpContext.java | 67 ++-
.../HealthCheckHttpContextBlankPasswordTest.java | 308 +++++++++++
.../fetchers/event/ContextBoundPublisher.java | 133 +++++
.../event/EventListenerSubscriptionFetcher.java | 39 +-
.../unomi/graphql/servlet/GraphQLServlet.java | 167 +++++-
.../auth/GraphQLServletSecurityValidator.java | 78 ++-
.../servlet/websocket/SubscriptionWebSocket.java | 293 +++++++++-
.../websocket/SubscriptionWebSocketFactory.java | 52 +-
.../fetchers/event/ContextBoundPublisherTest.java | 151 +++++
.../unomi/graphql/servlet/GraphQLServletTest.java | 285 ++++++++++
.../auth/GraphQLServletSecurityValidatorTest.java | 124 ++++-
.../SubscriptionWebSocketFactoryTest.java | 105 ++++
.../websocket/SubscriptionWebSocketTest.java | 320 +++++++++++
.../src/main/resources/assets/js/index.jsx | 30 +-
itests/lib/it-run-memory.sh | 184 +++++-
itests/sample-it-memory.sh | 9 +-
.../test/java/org/apache/unomi/itests/AllITs.java | 2 +
.../test/java/org/apache/unomi/itests/BaseIT.java | 6 +
.../unomi/itests/ContextEndpointBaselineIT.java | 451 +++++++++++++++
.../org/apache/unomi/itests/ContextServletIT.java | 419 +++++++++++++-
.../apache/unomi/itests/CorePersistenceITs.java | 2 +
.../org/apache/unomi/itests/HealthCheckIT.java | 11 +-
.../java/org/apache/unomi/itests/TenantIT.java | 8 +-
.../apache/unomi/itests/V2CompatibilityModeIT.java | 4 +-
.../apache/unomi/itests/graphql/BaseGraphQLIT.java | 2 +-
.../itests/graphql/GraphQLServletSecurityIT.java | 1 +
.../unomi/itests/graphql/GraphQLWebSocketIT.java | 217 +++++++-
itests/src/test/resources/etc/users.properties | 4 +-
.../graphql/socket/out/init-bad-credentials.json | 6 +
.../graphql/socket/out/init-with-credentials.json | 6 +
manual/src/main/asciidoc/5-min-quickstart.adoc | 38 +-
.../src/main/asciidoc/building-and-deploying.adoc | 18 +-
manual/src/main/asciidoc/builtin-event-types.adoc | 11 +-
manual/src/main/asciidoc/configuration.adoc | 66 ++-
.../asciidoc/connectors/salesforce-connector.adoc | 11 +-
manual/src/main/asciidoc/getting-started.adoc | 25 +-
manual/src/main/asciidoc/graphql-examples.adoc | 9 +-
.../main/asciidoc/how-profile-tracking-works.adoc | 70 ++-
manual/src/main/asciidoc/index.adoc | 2 +-
.../main/asciidoc/javascript-tracker-guide.adoc | 91 +--
.../main/asciidoc/jsonSchema/json-schema-api.adoc | 2 +-
.../asciidoc/migrations/migrate-3.0-to-3.1.adoc | 156 +++++-
.../src/main/asciidoc/migrations/migrations.adoc | 2 +-
.../asciidoc/migrations/v2-compatibility-mode.adoc | 6 +-
.../asciidoc/migrations/v2-v3-compatibility.adoc | 24 +-
manual/src/main/asciidoc/multitenancy.adoc | 36 +-
manual/src/main/asciidoc/privacy.adoc | 2 +-
manual/src/main/asciidoc/recipes.adoc | 21 +-
manual/src/main/asciidoc/request-examples.adoc | 20 +-
manual/src/main/asciidoc/samples/login-sample.adoc | 2 +-
manual/src/main/asciidoc/scheduler.adoc | 16 +-
manual/src/main/asciidoc/security.adoc | 4 +-
manual/src/main/asciidoc/shell-commands.adoc | 2 +-
manual/src/main/asciidoc/tutorial.adoc | 4 +-
manual/src/main/asciidoc/useful-unomi-urls.adoc | 2 +-
manual/src/main/asciidoc/whats-new.adoc | 10 +-
package/pom.xml | 13 +-
package/src/main/resources/bin/setenv | 88 +++
package/src/main/resources/bin/setenv.bat | 61 ++
.../main/resources/etc/custom.system.properties | 11 +-
package/src/main/resources/etc/users.properties | 6 +-
.../META-INF/cxs/mappings/scheduledTask.json | 3 +
.../META-INF/cxs/mappings/scheduledTask.json | 3 +
.../rest/authentication/AuthenticationFilter.java | 76 ++-
.../unomi/rest/endpoints/ContextJsonEndpoint.java | 5 +-
.../apache/unomi/rest/exception/LogSanitizer.java | 23 +-
.../rest/service/impl/RestServiceUtilsImpl.java | 215 +++++--
.../apache/unomi/utils/EventsRequestContext.java | 25 +
.../AuthenticationFilterBlankPasswordTest.java | 273 +++++++++
.../config/ShippedAdminPasswordConfigTest.java | 418 ++++++++++++++
.../config/ShippedProfileCookieConfigTest.java | 67 +++
.../RestServiceUtilsImplProfileBindingTest.java | 616 +++++++++++++++++++++
.../impl/scheduler/SchedulerServiceImpl.java | 3 +
.../impl/scheduler/TaskExecutionManager.java | 62 +++
.../services/impl/scheduler/TaskLockManager.java | 29 +-
.../impl/scheduler/TaskRecoveryManager.java | 2 +
.../services/impl/scheduler/TaskStateManager.java | 2 +
.../ScheduledTaskLeaseSerializationTest.java | 124 +++++
.../scheduler/SchedulerDiagnosticsExtension.java | 271 +++++++++
.../scheduler/SchedulerServiceClusterRaceTest.java | 145 +++++
.../impl/scheduler/SchedulerServiceImplTest.java | 310 ++++++++---
.../impl/scheduler/TaskExecutionManagerTest.java | 111 +++-
.../impl/scheduler/TaskLockManagerTest.java | 183 ++++++
setup-elasticsearch.sh | 22 +-
setup-opensearch.sh | 26 +-
setup-utils.sh | 27 +
.../org/apache/unomi/web/servlets/WebConfig.java | 2 +-
.../src/main/resources/org.apache.unomi.web.cfg | 2 +-
105 files changed, 7399 insertions(+), 506 deletions(-)
create mode 100644
api/src/main/java/org/apache/unomi/api/utils/LogSanitizer.java
create mode 100644
api/src/test/java/org/apache/unomi/api/utils/LogSanitizerTest.java
create mode 100644
extensions/healthcheck/src/test/java/org/apache/unomi/healthcheck/servlet/HealthCheckHttpContextBlankPasswordTest.java
create mode 100644
graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/event/ContextBoundPublisher.java
create mode 100644
graphql/cxs-impl/src/test/java/org/apache/unomi/graphql/fetchers/event/ContextBoundPublisherTest.java
create mode 100644
graphql/cxs-impl/src/test/java/org/apache/unomi/graphql/servlet/GraphQLServletTest.java
create mode 100644
graphql/cxs-impl/src/test/java/org/apache/unomi/graphql/servlet/websocket/SubscriptionWebSocketFactoryTest.java
create mode 100644
graphql/cxs-impl/src/test/java/org/apache/unomi/graphql/servlet/websocket/SubscriptionWebSocketTest.java
create mode 100644
itests/src/test/java/org/apache/unomi/itests/ContextEndpointBaselineIT.java
create mode 100644
itests/src/test/resources/graphql/socket/out/init-bad-credentials.json
create mode 100644
itests/src/test/resources/graphql/socket/out/init-with-credentials.json
create mode 100644
rest/src/test/java/org/apache/unomi/rest/authentication/AuthenticationFilterBlankPasswordTest.java
create mode 100644
rest/src/test/java/org/apache/unomi/rest/config/ShippedAdminPasswordConfigTest.java
create mode 100644
rest/src/test/java/org/apache/unomi/rest/config/ShippedProfileCookieConfigTest.java
create mode 100644
rest/src/test/java/org/apache/unomi/rest/service/impl/RestServiceUtilsImplProfileBindingTest.java
create mode 100644
services/src/test/java/org/apache/unomi/services/impl/scheduler/ScheduledTaskLeaseSerializationTest.java
create mode 100644
services/src/test/java/org/apache/unomi/services/impl/scheduler/SchedulerDiagnosticsExtension.java