This document highlights design considered for to Provision authenticated, authorized DMaaP topics on Message Router and feeds on Data Router .
Overview
Bus Controller is a RESTful web service used to provision DMaaP topics (on Message Router) and feeds (on Data Router), with associated authorization (on AAF).
Endpoints are used to provision :
- 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
Dmaap dbc-client docker Image (onap/dmaap/dbc-client:1.0.9)
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.
Design details
- 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.
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 dcaeLocationName: loc00 decompress: True privilegedSubscriber: True deliveryURL: https://dcae-pm-mapper:8443/delivery ------------------------------------------ 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/
**Further analysis is on going will be updating this wiki as we move along.