Files missing License text
[dmaap/dbcapi.git] / README.md
1 #
2 # ============LICENSE_START==========================================
3 # org.onap.dmaap
4 # ===================================================================
5 # Copyright © 2018 AT&T Intellectual Property. All rights reserved.
6 # ===================================================================
7 # Licensed under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
10 #
11 #        http://www.apache.org/licenses/LICENSE-2.0
12 #
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
18 # ============LICENSE_END============================================
19 # ECOMP is a trademark and service mark of AT&T Intellectual Property.
20 #
21 #
22 DMaaP Bus Controller API
23 =======================
24
25 Data Movement as a Platform (DMaaP) Bus Controller provides an API for other ONAP infrastructure components to provision DMaaP resources.
26 A typical DMaaP resource is a Data Router Feed or a Message Router Topic, and their associated publishers and subscribers.
27 Other infrastucture resources such as DR Nodes and MR Clusters are also provisioned through this API.
28
29 ### Build Instructions for a Continuous Integration environment using Jenkins
30
31 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:
32 ```
33 clean install
34 javadoc:javadoc
35 sonar:sonar
36 ```
37
38 ### Build Instructions for external developers
39
40 This project is organized as a mvn project for a jar package.
41 After cloning from this git repo:
42
43 ```
44 mvn clean install javadoc:javadoc
45 ```
46
47 A description of the API is generated, and found in targets/generated-source/swagger.json.
48
49 ### Configurable Parameters
50
51 Behavior of the API is controlled by settings in a properties file (typically etc/dmaapbc.properties).
52 The following describes these properties:
53
54 ```
55
56 #
57 #       Configuration parameters fixed at startup for the DMaaP Bus Controller
58 #
59 #
60 #       URI to retrieve dynamic DR configuration
61 #
62 ProvisioningURI:        /internal/prov
63 #
64 #       Allow http access to API 
65 #
66 HttpAllowed:    true
67 #
68 #       The port number for http as seen within the server
69 #
70 IntHttpPort:    8080
71 #
72 #       The port number for https as seen within the server
73 #   Set to 0 if no certificate is available yet...
74 #
75 IntHttpsPort:   8443
76 #
77 #       The external port number for https taking port mapping into account
78 #
79 ExtHttpsPort:   443
80 #
81 #       The type of keystore for https
82 #
83 KeyStoreType:   jks
84 #
85 #       The path to the keystore for https
86 #
87 KeyStoreFile:   etc/keystore
88 #
89 #       The password for the https keystore
90 #
91 KeyStorePassword:       changeit
92 #
93 #       The password for the private key in the https keystore
94 #
95 KeyPassword:    changeit
96 #
97 #       The type of truststore for https
98 #
99 TrustStoreType: jks
100 #
101 #       The path to the truststore for https
102 #
103 TrustStoreFile: /opt/app/java/jdk/jdk180/jre/security/cacerts
104 #
105 #       The password for the https truststore
106 #
107 TrustStorePassword:     changeit
108 #
109 #       The path to the file used to trigger an orderly shutdown
110 #
111 QuiesceFile:    etc/SHUTDOWN
112 #
113 #       Enable postgress
114 #
115 UsePGSQL:       true
116 #
117 #       The host for postgres access
118 #
119 DB.host:        HostNotSet
120 #
121 #       For postgres access
122 #
123 DB.cred:        ValueNotSet
124 #
125 #       Name of this environment
126 #
127 DmaapName:      DeploymentEnvName
128 #
129 #       Name of DR prov server
130 #
131 DR.provhost:    dcae-drps.domain.notset.com
132 #
133 #       The Role and credentials of the MirrorMaker Provisioner.  This is used by DMaaP Bus Controller to pub to the provisioning topic
134 #   Not part of 1701
135 #
136 #MM.ProvRole: org.openecomp.dmaapBC.MMprov.prov
137 #MM.ProvUserMechId: idNotSet@namespaceNotSet
138 #MM.ProvUserPwd: enc:fMxh-hzYZldbtyXumQq9aJU08SslhbM6mXtt
139 #
140 #       The Role of the MirrorMaker Agent. This is used by MM to sub to provisioning topic
141 #
142 MM.AgentRole: org.openecomp.dmaapBC.MMagent.agent
143 #################
144 # AAF Properties:
145 #
146 # regarding password encryption:
147 # 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:
148 #
149 # java \u2013jar wherever/cadi-core-*.jar keygen keyfilename
150 # chmod 400 keyfilename
151 #
152 # To encrypt a key:
153 #
154 # java \u2013jar wherever/cadi-core-*.jar digest password-to-encrypt keyfilename
155 #
156 # This will generate a string.  Put \u201Cenc:\u201D on the front of the string, and put the result in this properties file.
157 #
158 # Location of the Codec Keyfile which is used to decrypt passwords in this properties file before they are passed to AAF
159 #
160 # REF: https://wiki.domain.notset.com/display/cadi/CADI+Deployment
161 #
162 CredentialCodecKeyfile: etc/LocalKey
163 #
164 # URL of AAF environment to use.
165 #
166 aaf.URL:        https://authentication.simpledemo.openecomp.org:8095/proxy/
167 #
168 # TopicMgr mechid@namespace
169 #
170 aaf.TopicMgrUser:       idNotSet@namespaceNotSet
171 #
172 # TopicMgr password
173
174 aaf.TopicMgrPassword:   enc:zyRL9zbI0py3rJAjMS0dFOnYfEw_mJhO
175 #
176 # Bus Controller Namespace Admin  mechid@namespace
177 #
178 aaf.AdminUser:  idNotSet@namespaceNotSet
179 #
180 # Bus Controller Namespace Admin password
181 #
182 aaf.AdminPassword:      enc:YEaHwOJrwhDY8a6usetlhbB9mEjUq9m
183 #
184 # endof AAF Properties
185 #################
186 #################
187 # PolicyEngine Properties
188 #
189 # Flag to turn on/off Authentication
190 UsePE: false
191 #
192 # Argument to decisionAttributes.put("AAF_ENVIRONMENT", X); 
193 # where X is:  TEST= UAT, PROD = PROD, DEVL = TEST
194 #
195 PeAafEnvironment: DEVL
196 #
197 # Name of PolicyEngineApi properties file
198 PolicyEngineProperties: config/PolicyEngineApi.properties
199 #
200 # Namespace for URI values for API used to create AAF permissions
201 # e.g. if ApiNamespace is X.Y..dmaapBC.api then for URI /topics we create an AAF perm X.Y..dmaapBC.api.topics
202 ApiNamespace: org.onap.dmaap.dbcapi
203 #
204 # endof PolicyEngineProperties
205 #################
206
207 ```
208
209
210