Skip to content
Snippets Groups Projects
Commit f3fef840 authored by Komal Makkar's avatar Komal Makkar
Browse files

minor changes

parent 286929e0
No related branches found
No related tags found
1 merge request!62Adding playbook for Topic Creation and Consumption
Pipeline #30865 failed
...@@ -8,9 +8,9 @@ This document describes how to create a topic, publish to it and listen to it. ...@@ -8,9 +8,9 @@ This document describes how to create a topic, publish to it and listen to it.
#### 1. Create Event Grid Topic. #### 1. Create Event Grid Topic.
Following this will enable creation of topic in all data partitions. Following this will enable creation of topic in all data partitions.
1. Create a Topic. [Reference](https://community.opengroup.org/osdu/platform/deployment-and-operations/infra-azure-provisioning/-/blob/master/infra/templates/osdu-r3-mvp/data_partition/main.tf#L301) 1. Create a Topic. [Reference](https://community.opengroup.org/osdu/platform/deployment-and-operations/infra-azure-provisioning/-/blob/master/infra/templates/osdu-r3-mvp/data_partition/main.tf#L301)
2. Assign the Service Principals of the service the role of subscription contributor. [Reference](https://community.opengroup.org/osdu/platform/deployment-and-operations/infra-azure-provisioning/-/merge_requests/32) 2. Assign the Service Principals of service the role "EventGrid EventSubscription Contributor". [Reference](https://community.opengroup.org/osdu/platform/deployment-and-operations/infra-azure-provisioning/-/merge_requests/32)
3. Create secrets in Common Resources Key Vault that helps your service identify the event grid topic end point. [Reference](https://community.opengroup.org/osdu/platform/deployment-and-operations/infra-azure-provisioning/-/merge_requests/30/diffs) 3. Create secrets in Common Resources Key Vault that helps your service identify the event grid topic end point. [Reference](https://community.opengroup.org/osdu/platform/deployment-and-operations/infra-azure-provisioning/-/merge_requests/30/diffs)
Make sure you name them in the fashion "eventgrid-<nameoftopic>topic" and "eventgrid-<nameoftopic>topic-accesskey" Make sure you name them in the format "eventgrid-\<nameoftopic\>topic" and "eventgrid-\<nameoftopic\>topic-accesskey". For example, if the topic name alias is "testtopic", the keys should look like "eventgrid-testtopic-accesskey" and "eventgrid-testtopic". "eventgrid-test" is not a valid key.
#### 2. Make partition service aware of the new topic. #### 2. Make partition service aware of the new topic.
Partition service maintains the configuration for each infrastructure component. Partition service maintains the configuration for each infrastructure component.
...@@ -21,11 +21,8 @@ This is to be done per deployment. ...@@ -21,11 +21,8 @@ This is to be done per deployment.
#### 3. Make Register service aware of the new Topic #### 3. Make Register service aware of the new Topic
1. Add the topic alias to [topics.json](https://community.opengroup.org/osdu/platform/system/register/-/blob/master/provider/register-azure/src/main/resources/topics.json). If your key is named "eventgrid-testtopic", alias will be "testtopic". Make sure you fill in the values of description, state and examples to ensure that the get Topic API contract is not broken. 1. Add the topic alias to [topics.json](https://community.opengroup.org/osdu/platform/system/register/-/blob/master/provider/register-azure/src/main/resources/topics.json). If your key is named "eventgrid-testtopic", alias will be "testtopic". Make sure you fill in the values of description, state and examples to ensure that the get Topic API contract is not broken.
Note: The topics.json file mechanism will change soon.
#### 4. Publish to Event Grid Topic. #### 4. Publish to Event Grid Topic.
Use the Event Grid Store to publish the message. [Reference](https://community.opengroup.org/osdu/platform/system/storage/-/blob/master/provider/storage-azure/src/main/java/org/opengroup/osdu/storage/provider/azure/MessageBusImpl.java#L67) Use the Event Grid Store**class, using core-lib-azure to publish the message. [Reference](https://community.opengroup.org/osdu/platform/system/storage/-/blob/master/provider/storage-azure/src/main/java/org/opengroup/osdu/storage/provider/azure/MessageBusImpl.java#L67)
#### 5. Steps to Subscribe #### 5. Steps to Subscribe
1. Register your subscriber with Register Service. You will need to expose two endpoints 1. Register your subscriber with Register Service. You will need to expose two endpoints
...@@ -34,8 +31,8 @@ Use the Event Grid Store to publish the message. [Reference](https://community.o ...@@ -34,8 +31,8 @@ Use the Event Grid Store to publish the message. [Reference](https://community.o
__Post Endpoint__: for receiving notifications. [Reference](https://community.opengroup.org/osdu/platform/system/register/-/blob/master/register-core/src/main/java/org/opengroup/osdu/register/api/test/SubscriberListenerApi.java#L65) __Post Endpoint__: for receiving notifications. [Reference](https://community.opengroup.org/osdu/platform/system/register/-/blob/master/register-core/src/main/java/org/opengroup/osdu/register/api/test/SubscriberListenerApi.java#L65)
2. Initiate a handshake for each tenant, to register service. Which means for onboarding a service, you have to initiate a handshake, per data partition. 2. For onboarding a service, you have to initiate a handshake, per data partition.
3. Whitelist the endpoints from Istio. Make sure you are not calling entitlements service for the same. 3. The authZ mechanism for the Get endpoint, isn't done by entitlement service.The secret used during the handshake should be used by the service to authorize the jwt.
### Security compliance ### Security compliance
1. Please refrain from printing fully qualified topic name in the logs. 1. Please refrain from printing fully qualified topic name in the logs.
...@@ -54,4 +51,7 @@ Not today. ...@@ -54,4 +51,7 @@ Not today.
If the nature of messages and subscribers overlap completely with an existing topic, re-use it. If the nature of messages and subscribers overlap completely with an existing topic, re-use it.
4. __Are there different Topics for OSDU Platform and it's consumers?__ 4. __Are there different Topics for OSDU Platform and it's consumers?__
The need is getting evaluated. The need is getting evaluated.
\ No newline at end of file
5. __The topics.json isn't scalable model__
We are evaluating the need for the bringing up a store.
\ 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