1 DMaaP Bus Controller API
2 =======================
4 Data Movement as a Platform (DMaaP) Bus Controller provides an API for other ONAP infrastructure components to provision DMaaP resources.
5 A typical DMaaP resource is a Data Router Feed or a Message Router Topic, and their associated publishers and subscribers.
6 Other infrastucture resources such as DR Nodes and MR Clusters are also provisioned through this API.
8 ### Build Instructions for a Continuous Integration environment using Jenkins
10 When this component is included in a Continuous Integration environment, such as structured by the Linux Foundation, the artifacts can be created and deployed via Jenkins. The following maven targets are currently supported in the Build step:
17 ### Build Instructions for external developers
19 This project is organized as a mvn project for a jar package.
20 After cloning from this git repo:
23 mvn clean install javadoc:javadoc
26 A description of the API is generated, and found in targets/generated-source/swagger.json.
28 ### Configurable Parameters
30 Behavior of the API is controlled by settings in a properties file (typically etc/dmaapbc.properties).
31 The following describes these properties:
36 # Configuration parameters fixed at startup for the DMaaP Bus Controller
39 # URI to retrieve dynamic DR configuration
41 ProvisioningURI: /internal/prov
43 # Allow http access to API
47 # The port number for http as seen within the server
51 # The port number for https as seen within the server
52 # Set to 0 if no certificate is available yet...
56 # The external port number for https taking port mapping into account
60 # The type of keystore for https
64 # The path to the keystore for https
66 KeyStoreFile: etc/keystore
68 # The password for the https keystore
70 KeyStorePassword: changeit
72 # The password for the private key in the https keystore
76 # The type of truststore for https
80 # The path to the truststore for https
82 TrustStoreFile: /opt/app/java/jdk/jdk180/jre/security/cacerts
84 # The password for the https truststore
86 TrustStorePassword: changeit
88 # The path to the file used to trigger an orderly shutdown
90 QuiesceFile: etc/SHUTDOWN
96 # The host for postgres access
100 # For postgres access
104 # Name of this environment
106 DmaapName: DeploymentEnvName
108 # Name of DR prov server
110 DR.provhost: dcae-drps.domain.notset.com
112 # The Role and credentials of the MirrorMaker Provisioner. This is used by DMaaP Bus Controller to pub to the provisioning topic
115 #MM.ProvRole: org.openecomp.dmaapBC.MMprov.prov
116 #MM.ProvUserMechId: idNotSet@namespaceNotSet
117 #MM.ProvUserPwd: enc:fMxh-hzYZldbtyXumQq9aJU08SslhbM6mXtt
119 # The Role of the MirrorMaker Agent. This is used by MM to sub to provisioning topic
121 MM.AgentRole: org.openecomp.dmaapBC.MMagent.agent
125 # regarding password encryption:
126 # In the dependencies that Maven retrieves (e.g., under dcae_dmaapbc/target/deps/ is a jar file cadi-core-version.jar. Generate the key file with:
128 # java \u2013jar wherever/cadi-core-*.jar keygen keyfilename
129 # chmod 400 keyfilename
133 # java \u2013jar wherever/cadi-core-*.jar digest password-to-encrypt keyfilename
135 # This will generate a string. Put \u201Cenc:\u201D on the front of the string, and put the result in this properties file.
137 # Location of the Codec Keyfile which is used to decrypt passwords in this properties file before they are passed to AAF
139 # REF: https://wiki.domain.notset.com/display/cadi/CADI+Deployment
141 CredentialCodecKeyfile: etc/LocalKey
143 # URL of AAF environment to use.
145 aaf.URL: https://authentication.simpledemo.openecomp.org:8095/proxy/
147 # TopicMgr mechid@namespace
149 aaf.TopicMgrUser: idNotSet@namespaceNotSet
153 aaf.TopicMgrPassword: enc:zyRL9zbI0py3rJAjMS0dFOnYfEw_mJhO
155 # Bus Controller Namespace Admin mechid@namespace
157 aaf.AdminUser: idNotSet@namespaceNotSet
159 # Bus Controller Namespace Admin password
161 aaf.AdminPassword: enc:YEaHwOJrwhDY8a6usetlhbB9mEjUq9m
163 # endof AAF Properties
166 # PolicyEngine Properties
168 # Flag to turn on/off Authentication
171 # Argument to decisionAttributes.put("AAF_ENVIRONMENT", X);
172 # where X is: TEST= UAT, PROD = PROD, DEVL = TEST
174 PeAafEnvironment: DEVL
176 # Name of PolicyEngineApi properties file
177 PolicyEngineProperties: config/PolicyEngineApi.properties
179 # Namespace for URI values for API used to create AAF permissions
180 # e.g. if ApiNamespace is X.Y..dmaapBC.api then for URI /topics we create an AAF perm X.Y..dmaapBC.api.topics
181 ApiNamespace: org.onap.dmaap.dbcapi
183 # endof PolicyEngineProperties