DMAAP-83 Initial code import
[dmaap/buscontroller.git] / README.md
1 DMaaP Bus Controller API
2 =======================
3
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.
7
8 ### Build Instructions for a Continuous Integration environment using Jenkins
9
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:
11 ```
12 clean install
13 ```
14
15
16 ### Build Instructions for external developers
17
18 This project is organized as a mvn project for a jar package.
19 After cloning from this git repo:
20
21 ```
22 mvn clean install 
23 ```
24
25
26 ### Docker Packaging
27
28 We can utilize docker to build and register the buscontroller container in a local dev repository.
29 Note the Dockerfile follows ONAP convention of running app as root.
30
31 ```
32 <following a successful build, assuming DOCKER_HOST is set appropriately for your environment>
33
34 $ docker build -f ./Dockerfile .
35 ```
36
37
38 ### ONAP deployment
39
40 Details TBD.
41
42 Prior to starting container, place environment specific vars in /tmp/docker-databus-controller.conf on the Docker host,
43 and map that file to /opt/app/config/conf.
44 Run the container which will run the dmaapbc deploy command, which will update the container runtime properties appropriately, and start the Bus Controller.
45
46 For example, in ONAP Future Lab environment, /tmp/docker-databus-controller.conf looks like:
47 ```
48
49 # DMaaP Bus Controller OpenSource environment vars
50 CONT_DOMAIN=demo.dmaap.onap.org
51 DMAAPBC_INSTANCE_NAME=ONAPfuture
52
53 #   The https port
54 #   set to 0 if certificate is not ready
55 DMAAPBC_INT_HTTPS_PORT=0
56
57 DMAAPBC_KSTOREFILE=/opt/app/dcae-certificates
58 DMAAPBC_KSTOREPASS=foofoofoo
59 DMAAPBC_PVTKEYPASS=barbarbar
60
61 DMAAPBC_PG_ENABLED=true
62 DMAAPBC_PGHOST=zldciad1vipstg00.simpledemo.openecomp.org
63 DMAAPBC_PGCRED=test234-ftl
64
65 DMAAPBC_DRPROV_FQDN=zldciad1vidrps00.simpledemo.openecomp.org
66
67 DMAAPBC_AAF_URL=https://aafapi.${CONT_DOMAIN}:8095/proxy/
68
69 DMAAPBC_TOPICMGR_USER=m99751@dmaapBC.openecomp.org
70 DMAAPBC_TOPICMGR_PWD=enc:zyRL9zbI0py3rJAjMS0dFOnYfEw_mJhO
71 DMAAPBC_ADMIN_USER=m99501@dcae.openecomp.org
72 DMAAPBC_ADMIN_PWD=enc:YEaHwOJrwhDY8a6usetlhbB9mEjUq9m
73
74 DMAAPBC_PE_ENABLED=false
75 DMAAPBC_PE_AAF_ENV=TBD
76 ```
77 Then the following steps could be used to pull and run the Bus Controller.  (onap-nexus is just an example)
78 ```
79
80 $ docker pull ecomp-nexus:51212/dcae_dmaapbc:1.0.0
81 $ docker run -d -p 18080:8080 -v /tmp/docker-databus-controller.conf:/opt/app/config/conf onap-nexus:51212/dmaap/buscontroller:1.0.0
82 ```
83