Skip to content
Snippets Groups Projects
Commit 4744b5fd authored by Yunhua Koglin's avatar Yunhua Koglin
Browse files

Merge branch 'master' into dev

parents 921beb9c d21305d5
No related branches found
No related tags found
1 merge request!411aws-sync-dev-to-master
Pipeline #197275 passed
Showing
with 86 additions and 85 deletions
......@@ -16,7 +16,6 @@ Apache-1.1
The following software have components provided under the terms of this license:
- Apache Geronimo JMS Spec 2.0 (from http://geronimo.apache.org/maven/${siteId}/${version})
- Apache Log4j Core (from https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core)
- Apache Log4j JUL Adapter (from https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-jul)
- AspectJ Weaver (from http://www.aspectj.org, https://www.eclipse.org/aspectj/)
- Microsoft Application Insights Java Agent (from https://github.com/Microsoft/ApplicationInsights-Java)
......@@ -33,6 +32,7 @@ The following software have components provided under the terms of this license:
- AMQP 1.0 JMS Spring Boot AutoConfiguration (from https://repo1.maven.org/maven2/org/amqphub/spring/amqp-10-jms-spring-boot-autoconfigure)
- AMQP 1.0 JMS Spring Boot Starter (from https://repo1.maven.org/maven2/org/amqphub/spring/amqp-10-jms-spring-boot-starter)
- API Common (from https://github.com/googleapis, https://github.com/googleapis/api-common-java, https://repo1.maven.org/maven2/com/google/api/api-common)
- ASM based accessors helper used by json-smart (from https://urielch.github.io/)
- AWS Java SDK for AWS Elemental MediaLive (from https://aws.amazon.com/sdkforjava)
- AWS Java SDK for AWS KMS (from https://aws.amazon.com/sdkforjava)
......@@ -71,7 +71,7 @@ The following software have components provided under the terms of this license:
- AssertJ Core (from ${project.organization.url}#${project.artifactId})
- Asynchronous Http Client (from https://repo1.maven.org/maven2/org/asynchttpclient/async-http-client)
- Asynchronous Http Client Netty Utils (from https://repo1.maven.org/maven2/org/asynchttpclient/async-http-client-netty-utils)
- AutoValue Annotations (from https://github.com/google/auto/tree/master/value, https://repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations)
- AutoValue Annotations (from https://github.com/google/auto/tree/main/value, https://github.com/google/auto/tree/master/value, https://repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations)
- BSON (from http://bsonspec.org, https://bsonspec.org)
- BSON Record Codec (from <https://www.mongodb.com/>, https://www.mongodb.com/)
- Bean Validation API (from http://beanvalidation.org)
......@@ -81,12 +81,14 @@ The following software have components provided under the terms of this license:
- Byte Buddy (without dependencies) (from https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy)
- Byte Buddy Java agent (from https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy-agent)
- ClassMate (from http://github.com/cowtowncoder/java-classmate)
- Cloud Key Management Service (KMS) API v1-rev20230407-2.0.0 (from https://repo1.maven.org/maven2/com/google/apis/google-api-services-cloudkms)
- Cloud Key Management Service (KMS) API v1-rev20230421-2.0.0 (from https://repo1.maven.org/maven2/com/google/apis/google-api-services-cloudkms)
- Collections (from https://repo1.maven.org/maven2/commons-collections/commons-collections)
- Commons Digester (from http://commons.apache.org/digester/)
- Converter: Jackson (from https://github.com/square/retrofit, https://repo1.maven.org/maven2/com/squareup/retrofit2/converter-jackson)
- Core functionality for the Reactor Netty library (from https://github.com/reactor/reactor-netty)
- FindBugs-jsr305 (from http://findbugs.sourceforge.net/)
- GAX (Google Api eXtensions) for Java (Core) (from https://github.com/googleapis, https://github.com/googleapis/gax-java, https://repo1.maven.org/maven2/com/google/api/gax)
- GAX (Google Api eXtensions) for Java (gRPC) (from <https://repo1.maven.org/maven2/com/google/api/gax-grpc>, https://repo1.maven.org/maven2/com/google/api/gax-grpc)
- GSON extensions to the Google HTTP Client Library for Java. (from https://repo1.maven.org/maven2/com/google/http-client/google-http-client-gson)
- Google APIs Client Library for Java (from https://repo1.maven.org/maven2/com/google/api-client/google-api-client)
- Google Cloud Core (from https://github.com/googleapis/google-cloud-java/tree/master/google-cloud-clients/google-cloud-core, https://github.com/googleapis/java-core, https://repo1.maven.org/maven2/com/google/cloud/google-cloud-core)
......@@ -120,8 +122,8 @@ The following software have components provided under the terms of this license:
- JSON library from Android SDK (from http://developer.android.com/sdk)
- JSONassert (from http://github.com/skyscreamer/yoga, https://github.com/skyscreamer/JSONassert)
- JSR107 API and SPI (from https://github.com/jsr107/jsr107spec)
- JSpecify annotations (from http://jspecify.org/)
- Jackson 2 extensions to the Google APIs Client Library for Java (from https://repo1.maven.org/maven2/com/google/api-client/google-api-client-jackson2)
- Jackson 2 extensions to the Google HTTP Client Library for Java. (from https://repo1.maven.org/maven2/com/google/http-client/google-http-client-jackson2)
- Jackson dataformat: CBOR (from http://github.com/FasterXML/jackson-dataformats-binary)
- Jackson datatype: JSR310 (from http://wiki.fasterxml.com/JacksonModuleJSR310, https://repo1.maven.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-jsr310)
- Jackson datatype: Joda (from http://wiki.fasterxml.com/JacksonModuleJoda, https://github.com/FasterXML/jackson-datatype-joda)
......@@ -195,7 +197,7 @@ The following software have components provided under the terms of this license:
- OkHttp Logging Interceptor (from https://github.com/square/okhttp, https://repo1.maven.org/maven2/com/squareup/okhttp3/logging-interceptor, https://square.github.io/okhttp/)
- OkHttp URLConnection (from https://repo1.maven.org/maven2/com/squareup/okhttp3/okhttp-urlconnection, https://square.github.io/okhttp/)
- Okio (from https://github.com/square/okio/, https://repo1.maven.org/maven2/com/squareup/okio/okio)
- OpenCensus (from https://github.com/census-instrumentation/opencensus-java)
- OpenCensus (from https://github.com/census-instrumentation/opencensus-java, https://github.com/census-instrumentation/opencensus-proto)
- PWDB :: Database (from https://repo1.maven.org/maven2/org/linguafranca/pwdb/database)
- PowerMock (from http://www.powermock.org, https://repo1.maven.org/maven2/org/powermock/powermock-api-mockito)
- Prometheus Java Simpleclient (from <https://repo1.maven.org/maven2/io/prometheus/simpleclient>, https://repo1.maven.org/maven2/io/prometheus/simpleclient)
......@@ -273,11 +275,14 @@ The following software have components provided under the terms of this license:
- io.grpc:grpc-auth (from https://github.com/grpc/grpc-java)
- io.grpc:grpc-context (from https://github.com/grpc/grpc-java)
- io.grpc:grpc-core (from https://github.com/grpc/grpc-java)
- io.grpc:grpc-googleapis (from https://github.com/grpc/grpc-java)
- io.grpc:grpc-grpclb (from https://github.com/grpc/grpc-java)
- io.grpc:grpc-netty-shaded (from https://github.com/grpc/grpc-java)
- io.grpc:grpc-protobuf (from https://github.com/grpc/grpc-java)
- io.grpc:grpc-protobuf-lite (from https://github.com/grpc/grpc-java)
- io.grpc:grpc-services (from https://github.com/grpc/grpc-java)
- io.grpc:grpc-stub (from https://github.com/grpc/grpc-java)
- io.grpc:grpc-xds (from https://github.com/grpc/grpc-java)
- ion-java (from https://github.com/amzn/ion-java/, https://github.com/amznlabs/ion-java/)
- jackson-databind (from http://github.com/FasterXML/jackson, http://wiki.fasterxml.com/JacksonHome, https://github.com/FasterXML/jackson)
- java-cloudant (from https://cloudant.com)
......@@ -297,8 +302,8 @@ The following software have components provided under the terms of this license:
- perfmark:perfmark-api (from https://github.com/perfmark/perfmark)
- proto-google-cloud-logging-v2 (from https://github.com/googleapis/java-logging/proto-google-cloud-logging-v2, https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-cloud-logging-v2)
- proto-google-cloud-pubsub-v1 (from https://github.com/googleapis/googleapis, https://github.com/googleapis/java-pubsub/proto-google-cloud-pubsub-v1)
- proto-google-common-protos (from https://github.com/googleapis/api-client-staging, https://github.com/googleapis/gapic-generator-java, https://github.com/googleapis/googleapis, https://github.com/googleapis/java-iam/proto-google-common-protos)
- proto-google-iam-v1 (from https://github.com/googleapis/gapic-generator-java, https://github.com/googleapis/googleapis, https://github.com/googleapis/java-iam/proto-google-iam-v1)
- proto-google-common-protos (from https://github.com/googleapis/api-client-staging, https://github.com/googleapis/googleapis, https://github.com/googleapis/java-iam/proto-google-common-protos, https://github.com/googleapis/sdk-platform-java)
- proto-google-iam-v1 (from https://github.com/googleapis/googleapis, https://github.com/googleapis/java-iam/proto-google-iam-v1, https://github.com/googleapis/sdk-platform-java)
- resilience4j (from https://github.com/resilience4j/resilience4j, https://resilience4j.readme.io, ttps://resilience4j.readme.io)
- spring-boot-starter-undertow (from <https://spring.io/projects/spring-boot>, https://spring.io/projects/spring-boot)
- springdoc-openapi-common (from <https://repo1.maven.org/maven2/org/springdoc/springdoc-openapi-common>, https://repo1.maven.org/maven2/org/springdoc/springdoc-openapi-common)
......@@ -318,9 +323,7 @@ BSD-2-Clause
========================================================================
The following software have components provided under the terms of this license:
- API Common (from https://github.com/googleapis, https://github.com/googleapis/api-common-java, https://repo1.maven.org/maven2/com/google/api/api-common)
- GAX (Google Api eXtensions) for Java (Core) (from https://github.com/googleapis, https://github.com/googleapis/gax-java, https://repo1.maven.org/maven2/com/google/api/gax)
- GAX (Google Api eXtensions) for Java (gRPC) (from <https://repo1.maven.org/maven2/com/google/api/gax-grpc>, https://repo1.maven.org/maven2/com/google/api/gax-grpc)
- Apache Log4j Core (from https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core)
- Hamcrest (from http://hamcrest.org/JavaHamcrest/)
- Hamcrest Core (from http://hamcrest.org/, http://hamcrest.org/JavaHamcrest/, https://repo1.maven.org/maven2/org/hamcrest/hamcrest-core)
- HdrHistogram (from http://hdrhistogram.github.io/HdrHistogram/)
......@@ -358,6 +361,7 @@ The following software have components provided under the terms of this license:
- Netty/Codec/HTTP (from https://repo1.maven.org/maven2/io/netty/netty-codec-http)
- Protocol Buffer Java API (from http://code.google.com/p/protobuf, https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java)
- Protocol Buffers [Util] (from https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java-util)
- RE2/J (from http://github.com/google/re2j)
- Redisson (from http://redisson.org)
- Spring Core (from http://www.springframework.org, https://github.com/spring-projects/spring-framework, https://repo1.maven.org/maven2/org/springframework/spring-core)
- ThreeTen backport (from https://github.com/ThreeTen/threetenbp, https://www.threeten.org/threetenbp)
......@@ -498,8 +502,6 @@ The following software have components provided under the terms of this license:
- JBoss Jakarta Annotations API (from <https://github.com/jboss/jboss-jakarta-annotations-api_spec>, https://github.com/jboss/jboss-jakarta-annotations-api_spec)
- Jakarta Annotations API (from https://projects.eclipse.org/projects/ee4j.ca)
- Jakarta WebSocket - Server API (from https://projects.eclipse.org/projects/ee4j.websocket, https://repo1.maven.org/maven2/org/jboss/spec/javax/websocket/jboss-websocket-api_1.1_spec)
- Java Architecture for XML Binding (from http://jaxb.java.net/, https://repo1.maven.org/maven2/javax/xml/bind/jaxb-api)
- JavaBeans Activation Framework (from <http://java.sun.com/javase/technologies/desktop/javabeans/jaf/index.jsp>, http://java.sun.com/javase/technologies/desktop/javabeans/jaf/index.jsp, https://repo1.maven.org/maven2/com/sun/activation/javax.activation)
- RabbitMQ Java Client (from http://www.rabbitmq.com, https://www.rabbitmq.com)
- tomcat-embed-core (from http://tomcat.apache.org/)
......@@ -528,7 +530,6 @@ The following software have components provided under the terms of this license:
- Jakarta Annotations API (from https://projects.eclipse.org/projects/ee4j.ca)
- Jakarta Servlet (from https://projects.eclipse.org/projects/ee4j.servlet)
- Java Architecture for XML Binding (from http://jaxb.java.net/, https://repo1.maven.org/maven2/javax/xml/bind/jaxb-api)
- Java Servlet 4.0 API
========================================================================
......
......@@ -33,6 +33,7 @@ First you need to set variables in **values.yaml** file using any code editor. S
|------|-------------|------|---------|---------|
**global.domain** | your domain for the external endpoint, ex `example.com` | string | - | yes
**global.onPremEnabled** | whether on-prem is enabled | boolean | false | yes
**global.limitsEnabled** | whether CPU and memory limits are enabled | boolean | true | yes
### Configmap variables
......@@ -52,8 +53,8 @@ First you need to set variables in **values.yaml** file using any code editor. S
|------|-------------|------|---------|---------|
**data.requestsCpu** | amount of requested CPU | string | `10m` | yes
**data.requestsMemory** | amount of requested memory| string | `512Mi` | yes
**data.limitsCpu** | CPU limit | string | `1` | yes
**data.limitsMemory** | memory limit | string | `1.5G` | yes
**data.limitsCpu** | CPU limit | string | `1` | only if `global.limitsEnabled` is true
**data.limitsMemory** | memory limit | string | `1.5G` | only if `global.limitsEnabled` is true
**data.serviceAccountName** | name of your service account | string | `notification` | yes
**data.imagePullPolicy** | when to pull image | string | `IfNotPresent` | yes
**data.image** | service image | string | - | yes
......
......@@ -38,14 +38,16 @@ spec:
{{- end }}
securityContext:
allowPrivilegeEscalation: false
runAsUser: 0
runAsNonRoot: true
ports:
- containerPort: 8080
resources:
requests:
cpu: {{ .Values.data.requestsCpu | quote}}
memory: {{ .Values.data.requestsMemory | quote}}
{{- if .Values.global.limitsEnabled }}
limits:
cpu: {{ .Values.data.limitsCpu | quote}}
memory: {{ .Values.data.limitsMemory | quote}}
{{- end }}
serviceAccountName: {{ .Values.data.serviceAccountName | quote}}
global:
domain: ""
onPremEnabled: false
limitsEnabled: true
data:
#Configmaps
......
......@@ -6,16 +6,13 @@ gc-test:
variables:
ENVIRONMENT: $GC_ENVIRONMENT
REGISTER_BASE_URL: $GC_REGISTER_BASE_URL
GROUP_ID: osdu-gcp.go3-nrg.projects.epam.com
gc-dev2-test:
variables:
ENVIRONMENT: $GC_ENVIRONMENT
REGISTER_BASE_URL: $GC_REGISTER_BASE_URL
GROUP_ID: dev2.osdu.club
gc-anthos-test:
gc-baremetal-test:
variables:
REGISTER_BASE_URL: $GC_REGISTER_BASE_URL
GC_VENDOR: anthos
GROUP_ID: osdu-gcp.go3-nrg.projects.epam.com
GC_VENDOR: baremetal
......@@ -19,7 +19,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.opengroup.osdu</groupId>
<artifactId>notification-core</artifactId>
<version>0.21.0-SNAPSHOT</version>
<version>0.22.0-SNAPSHOT</version>
<name>notification-core</name>
<description>Core module for the notification service</description>
<packaging>jar</packaging>
......@@ -27,7 +27,7 @@
<parent>
<groupId>org.opengroup.osdu</groupId>
<artifactId>os-notification</artifactId>
<version>0.21.0-SNAPSHOT</version>
<version>0.22.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
......
......@@ -18,7 +18,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.opengroup.osdu</groupId>
<artifactId>os-notification</artifactId>
<version>0.21.0-SNAPSHOT</version>
<version>0.22.0-SNAPSHOT</version>
<description>Root Notification Service project</description>
<properties>
......
......@@ -19,7 +19,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.opengroup.osdu</groupId>
<artifactId>notification-aws</artifactId>
<version>0.21.0-SNAPSHOT</version>
<version>0.22.0-SNAPSHOT</version>
<name>notification-aws</name>
<description>AWS implementation for Notification service</description>
<packaging>jar</packaging>
......@@ -27,7 +27,7 @@
<parent>
<groupId>org.opengroup.osdu</groupId>
<artifactId>os-notification</artifactId>
<version>0.21.0-SNAPSHOT</version>
<version>0.22.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
......@@ -95,7 +95,7 @@
<dependency>
<groupId>org.opengroup.osdu</groupId>
<artifactId>notification-core</artifactId>
<version>0.21.0-SNAPSHOT</version>
<version>0.22.0-SNAPSHOT</version>
</dependency>
<dependency>
......
......@@ -18,7 +18,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>notification-azure</artifactId>
<version>0.21.0-SNAPSHOT</version>
<version>0.22.0-SNAPSHOT</version>
<name>notification-azure</name>
<description>Azure implementation for Notification service</description>
<packaging>jar</packaging>
......@@ -26,7 +26,7 @@
<parent>
<groupId>org.opengroup.osdu</groupId>
<artifactId>os-notification</artifactId>
<version>0.21.0-SNAPSHOT</version>
<version>0.22.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
......@@ -35,11 +35,11 @@
<maven.compiler.target>${java.version}</maven.compiler.target>
<maven.compiler.source>${java.version}</maven.compiler.source>
<jacoco-maven-plugin.version>0.8.2</jacoco-maven-plugin.version>
<osdu.notification-core.version>0.21.0-SNAPSHOT</osdu.notification-core.version>
<osdu.notification-core.version>0.22.0-SNAPSHOT</osdu.notification-core.version>
<springframework.version>4.3.0.RELEASE</springframework.version>
<reactor.netty.version>0.11.0.RELEASE</reactor.netty.version>
<reactor.core.version>3.3.0.RELEASE</reactor.core.version>
<osdu.corelibazure.version>0.21.0-rc3</osdu.corelibazure.version>
<osdu.corelibazure.version>0.21.0</osdu.corelibazure.version>
<osdu.oscorecommon.version>0.19.0-rc6</osdu.oscorecommon.version>
<junit.version>5.6.0</junit.version>
<jjwt.version>3.8.1</jjwt.version>
......
......@@ -40,9 +40,9 @@ In the current version, the OQM mapper is equipped with 2 drivers to the message
* GCloud command line tool
* GCloud access to opendes project
### Anthos Service Configuration
### Baremetal Service Configuration
[Anthos service configuration](docs/anthos/README.md)
[Baremetal service configuration](docs/baremetal/README.md)
### Google Cloud Service Configuration
......@@ -126,9 +126,9 @@ cd provider/notification-gc/ && mvn spring-boot:run -Dspring-boot.run.profiles=l
## Testing
#### Anthos
#### Baremetal
[Anthos Testing](docs/anthos/README.md)
[Baremetal Testing](docs/baremetal/README.md)
#### Google Cloud
......
# Use the official AdoptOpenJDK for a base image.
# https://hub.docker.com/_/openjdk
FROM openjdk:8-slim
FROM azul/zulu-openjdk:8-latest
WORKDIR /app
ARG PROVIDER_NAME
ENV PROVIDER_NAME $PROVIDER_NAME
......@@ -8,5 +6,10 @@ ARG PORT
ENV PORT $PORT
# Copy the jar to the production image from the builder stage.
COPY provider/notification-${PROVIDER_NAME}/target/notification-${PROVIDER_NAME}-*-spring-boot.jar notification-${PROVIDER_NAME}.jar
# Add a non-root user
RUN groupadd -g 10001 -r nonroot \
&& useradd -g 10001 -r -u 10001 nonroot
# Run as non-root user
USER 10001:10001
# Run the web service on container startup.
CMD java -Djava.security.egd=file:/dev/./urandom -Dserver.port=${PORT} -Dlog4j.formatMsgNoLookups=true -jar /app/notification-${PROVIDER_NAME}.jar
# Service Configuration for Anthos
# Service Configuration for Baremetal
## Table of Contents <a name="TOC"></a>
* [Service Configuration for Anthos](#service-configuration-for-anthos)
* [Service Configuration for Baremetal](#service-configuration-for-baremetal)
* [Table of Contents <a name="TOC"></a>](#table-of-contents-)
* [Environment variables](#environment-variables)
* [Common properties for all environments](#common-properties-for-all-environments)
......@@ -209,14 +209,14 @@ curl -L -X PATCH 'https://dev.osdu.club/api/partition/v1/partitions/opendes' -H
At RabbitMQ should be created set of exchanges and queues.
| topic name | subscription name pattern | description | sensitive? |
|-------------------------------------------------------------------------|--------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------|
| `register-subscriber-control` | `notification-control-topic-{data-partition-id}` | Register subscriber control topic | yes |
| `register-subscriber-control-exchange` | `notification-control-topic-{data-partition-id}` | Register subscriber control delay topic | yes |
| `{topic-name}` e.g. `records-changed` | `notification-{topic-name}-service` | Service topics from [topics.json](https://community.opengroup.org/osdu/platform/system/register/-/blob/master/provider/register-gc/src/main/resources/topics.json) on Register service | yes |
| `{topic-name}-exchange` e.g. `records-changed-exchange` | `notification-{topic-name}-service` | Service delay topics from [topics.json](https://community.opengroup.org/osdu/platform/system/register/-/blob/master/provider/register-gc/src/main/resources/topics.json) on Register service | yes |
| `{topic-name}-publish` e.g. `records-changed-publish` | `notification-{topic-name}-publish` | Publish topics in relation 1-on-1 for each service topic | yes |
| `{topic-name}-publish-exchange` e.g. `records-changed-publish-exchange` | `notification-{topic-name}-publish` | Publish delay topics in relation 1-on-1 for each service topic | yes |
| topic name | subscription name pattern | description | sensitive? |
|--------------------------------------------------------------------------------------|-------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------|
| `register-subscriber-control` | `notification-control-sub` | Register subscriber control topic | yes |
| `notification-control-sub-exchange` | `notification-control-sub` | Register subscriber control delay topic | yes |
| `{topic-name}` e.g. `records-changed` | `notification-{topic-name}-service` | Service topics from [topics.json](https://community.opengroup.org/osdu/platform/system/register/-/blob/master/provider/register-gc/src/main/resources/topics.json) on Register service | yes |
| `notification-{topic-name}-service-exchange` e.g. `records-changed-exchange` | `notification-{topic-name}-service` | Service delay topics from [topics.json](https://community.opengroup.org/osdu/platform/system/register/-/blob/master/provider/register-gc/src/main/resources/topics.json) on Register service | yes |
| `{topic-name}-publish` e.g. `records-changed-publish` | `notification-{topic-name}-publish` | Publish topics in relation 1-on-1 for each service topic | yes |
| `notification-{topic-name}-publish-exchange` e.g. `records-changed-publish-exchange` | `notification-{topic-name}-publish` | Publish delay topics in relation 1-on-1 for each service topic | yes |
Control topic name can be overridden by:
......@@ -226,12 +226,16 @@ Control topic name can be overridden by:
![Screenshot](./pics/rabbit.PNG)
### Important. Dead lettering configuration
### Important. Retry with delay configuration
For every service exchange special delay exchange with postfix `-exchange`
and type `x-delayed-message` should exist.
Retries and delays configured by `rabbitmqRetryLimit` and `rabbitmqRetryDelay` OQM properties.
Example for `records-changed` topic:
![Screenshot](./pics/Notification-RabbitMQ-Config.png)
## Keycloak configuration
[Keycloak service accounts setup](https://www.keycloak.org/docs/latest/server_admin/#_service_accounts)
......
provider/notification-gc/docs/baremetal/pics/Notification-RabbitMQ-Config.png

475 KiB

......@@ -114,11 +114,11 @@ $ (cd notification-core/ && mvn clean install)
At PubSub should be created set of topics and subscriptions. (see [Overview](#overview))
| topic name | subscription name pattern | description | sensitive? |
|-------------------------------------------------------|--------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------|
| `register-subscriber-control` | `notification-control-topic-{data-partition-id}` | Register subscriber control topic | yes |
| `{topic-name}` e.g. `records-changed` | `notification-{topic-name}-service` | Service topics from [topics.json](https://community.opengroup.org/osdu/platform/system/register/-/blob/master/provider/register-gc/src/main/resources/topics.json) on Register service | yes |
| `{topic-name}-publish` e.g. `records-changed-publish` | `notification-{topic-name}-publish}` | Publish topics in relation 1-on-1 for each service topic | yes |
| topic name | subscription name pattern | description | sensitive? |
|-------------------------------------------------------|-------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------|
| `register-subscriber-control` | `notification-control-sub` | Register subscriber control topic | yes |
| `{topic-name}` e.g. `records-changed` | `notification-{topic-name}-service` | Service topics from [topics.json](https://community.opengroup.org/osdu/platform/system/register/-/blob/master/provider/register-gc/src/main/resources/topics.json) on Register service | yes |
| `{topic-name}-publish` e.g. `records-changed-publish` | `notification-{topic-name}-publish` | Publish topics in relation 1-on-1 for each service topic | yes |
Control topic name can be overridden by:
......@@ -145,3 +145,7 @@ On the subscription dead lettering settings tab:
- Dead letter topic should not be the source topic
Notification service uses a common `dead-lettering-notification` topic because dead lettering logic is not supported yet.
Example for `records-changed` topic:
![Screenshot](./pics/Notification-PubSub-Config.png)
\ No newline at end of file
provider/notification-gc/docs/gc/pics/Notification-PubSub-Config.png

52.7 KiB

......@@ -16,9 +16,8 @@
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.opengroup.osdu</groupId>
<artifactId>notification-gc</artifactId>
<version>0.21.0-SNAPSHOT</version>
<version>0.22.0-SNAPSHOT</version>
<name>notification-gc</name>
<description>Google Cloud implementation for Notification service</description>
<packaging>jar</packaging>
......@@ -26,7 +25,7 @@
<parent>
<groupId>org.opengroup.osdu</groupId>
<artifactId>os-notification</artifactId>
<version>0.21.0-SNAPSHOT</version>
<version>0.22.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
......@@ -34,27 +33,37 @@
<java.version>8</java.version>
<maven.compiler.target>${java.version}</maven.compiler.target>
<maven.compiler.source>${java.version}</maven.compiler.source>
<jackson-databind.version>2.13.2.2</jackson-databind.version>
<jackson.version>2.13.2</jackson.version>
<spring-boot-maven-plugin.version>2.7.6</spring-boot-maven-plugin.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson</groupId>
<artifactId>jackson-bom</artifactId>
<version>2.15.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.opengroup.osdu</groupId>
<artifactId>os-core-common</artifactId>
<version>0.21.0-rc4</version>
<version>0.21.0</version>
</dependency>
<dependency>
<groupId>org.opengroup.osdu</groupId>
<artifactId>core-lib-gc</artifactId>
<version>0.21.0-rc4</version>
<version>0.21.0</version>
</dependency>
<dependency>
<groupId>org.opengroup.osdu</groupId>
<artifactId>notification-core</artifactId>
<version>0.21.0-SNAPSHOT</version>
<version>0.22.0-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>com.google.apis</groupId>
......@@ -98,25 +107,10 @@
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson-databind.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>org.opengroup.osdu</groupId>
<artifactId>oqm</artifactId>
<version>0.21.0-rc3</version>
<version>0.21.0</version>
</dependency>
</dependencies>
......@@ -159,12 +153,6 @@
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
......
......@@ -14,6 +14,6 @@ public class RedisProperties {
private String redisHost;
private Integer redisPort;
private String redisPassword;
private Integer redisExpiration = Integer.MAX_VALUE;
private Integer redisExpiration = 300;
private Boolean redisWithSsl = false;
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment