This document highlights design considered for to Provision authenticated, authorized DMaaP topics on Message Router and feeds on Data Router .
...
- Authorized topic on MR, and to create and grant permission for Publishers and Subscribers.
- Feed on Data Router, with associated user authentication.
- Bus Controller API link : https://docs.onap.org/projects/onap-dmaap-buscontroller/en/latest/apis/api.html
Gerrit review links
Dmaap dbc-client docker Image (onap/dmaap/dbc-client:2.0.7)
This dbc-client image is utility (containing shell script) by making use of which we can initiate HTTP REST Request towards Dmaap Bus Controller app for creating dynamic Feeds, Topics.
...
- Existing design consist fo kubernetes Job Manifest which consist of onap/dmaap/dbc-client docker image for making http request toward dmaap-bc (Dmaap Bus Controller) pod.
- In DCAE Design-1 highlighted in below pic is considered where we need to create dmmap provisionning Init-Container which will be making use of same onap/dmaap/dbc-client docker image to make Http Rest Request towards dmap-db pod.
- Once the http request is made response will be written back to shared EmptyDir voulme.
- Second Init-container (Update Config) will be reading the response from share EmptyDir voulme and will merge it with application config.
.jpg?version=2&modificationDate=1621324944000&cacheVersion=1&api=v2&width=1100)
Draw.io design-1 :
- Dmaap Provisioning init-container sends POST request to Dmaap Bus-Controller Pod for creation of Topics, Feeds.
- DCAE Merge init config container merges dcae application config and response received back from dmaap provisioning init-container.
Drawio |
---|
border | true |
---|
| |
---|
diagramName | Design-1 |
---|
simpleViewer | false |
---|
width | |
---|
links | auto |
---|
tbstyle | top |
---|
lbox | true |
---|
diagramWidth | 1041 |
---|
revision | 3 |
---|
|
Code Block |
---|
language | bash |
---|
theme | Emacs |
---|
title | Feed + Dr_pubs _Dr_subs Input via Values.yaml |
---|
collapse | true |
---|
|
Data Router Feed, Publisher, Subscriber creation input details.
Old approach-
------------------------------------------
feedConfig:
owner: dcaecm
feedVersion: 0.0
feedName: bulk_pm_feed
asprClassification: unclassified
feedDescription: DFC Feed Creation
pubs:
- username: dcaepub
userpwd: tpJN3gjaAzPAiAa4
dcaeLocationName: loc00
------------------------------------------
New approach-
------------------------------------------
# DataRouter Feed Configuration
drFeedConfig:
- feedName: bulk_pm_feed
owner: dcaecm
feedVersion: 0.0
asprClassification: unclassified
feedDescription: DFC Feed Creation
# DataRouter Publisher Configuration
drPubConfig:
- feedName: bulk_pm_feed
dcaeLocationName: loc00
# DataRouter Subscriber Configuration
drSubConfig:
- feedName: bulk_pm_feed
decompress: true
username: ${DR_USERNAME}
userpwd: ${DR_PASSWORD}
dcaeLocationName: loc00
privilegedSubscriber: true
deliveryURL: https://dcae-pm-mapper:8443/delivery
# MessageRouter Topic, Publisher Configuration
mrTopicsConfig:
- topicName: PERFORMANCE_MEASUREMENTS
topicDescription: PM Mapper publishes perf3gpp VES PM Events to authenticated MR topic
owner: dcaecm
tnxEnabled: false
clients:
- dcaeLocationName: san-francisco
clientRole: org.onap.dcae.pmPublisher
action:
- pub
- view
------------------------------------------
ConfigMap Configuration for Feed, Dr_Publisher
------------------------------------------
volumes:
- name: feeds-config
path: /opt/app/config/feeds/
- name: drpub-config
path: /opt/app/config/dr_pubs/
- name: drsub-config
path: /opt/app/config/dr_subs/
- name: topics-config
path: /opt/app/config/topics |
...