Merge "Add INFO.yaml file"
[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, copy all dependencies >
33 $ mvn dependency:copy-dependencies
34
35 <assuming DOCKER_HOST is set appropriately for your environment>
36
37 $ docker build -f ./Dockerfile .
38 ```
39
40
41 ### ONAP deployment
42
43 Details TBD.
44
45 Prior to starting container, place environment specific vars in /tmp/docker-databus-controller.conf on the Docker host,
46 and map that file to /opt/app/config/conf.
47 Run the container which will run the dmaapbc deploy command, which will update the container runtime properties appropriately, and start the Bus Controller.
48
49 For example, in ONAP Future Lab environment, /tmp/docker-databus-controller.conf looks like:
50 ```
51
52 # DMaaP Bus Controller OpenSource environment vars
53 CONT_DOMAIN=demo.dmaap.onap.org
54 DMAAPBC_INSTANCE_NAME=ONAPfuture
55
56 #   The https port
57 #   set to 0 if certificate is not ready
58 DMAAPBC_INT_HTTPS_PORT=0
59
60 DMAAPBC_KSTOREFILE=/opt/app/dcae-certificates
61 DMAAPBC_KSTOREPASS=foofoofoo
62 DMAAPBC_PVTKEYPASS=barbarbar
63
64 DMAAPBC_PG_ENABLED=true
65 DMAAPBC_PGHOST=zldciad1vipstg00.simpledemo.openecomp.org
66 DMAAPBC_PGCRED=test234-ftl
67
68 DMAAPBC_DRPROV_FQDN=zldciad1vidrps00.simpledemo.openecomp.org
69
70 DMAAPBC_AAF_URL=https://aafapi.${CONT_DOMAIN}:8095/proxy/
71
72 DMAAPBC_TOPICMGR_USER=m99751@dmaapBC.openecomp.org
73 DMAAPBC_TOPICMGR_PWD=enc:zyRL9zbI0py3rJAjMS0dFOnYfEw_mJhO
74 DMAAPBC_ADMIN_USER=m99501@dcae.openecomp.org
75 DMAAPBC_ADMIN_PWD=enc:YEaHwOJrwhDY8a6usetlhbB9mEjUq9m
76
77 DMAAPBC_PE_ENABLED=false
78 DMAAPBC_PE_AAF_ENV=TBD
79 ```
80 Then the following steps could be used to pull and run the Bus Controller.  (onap-nexus is just an example)
81 ```
82
83 $ docker pull ecomp-nexus:51212/dcae_dmaapbc:1.0.0
84 $ docker run -d -p 18080:8080 -v /tmp/docker-databus-controller.conf:/opt/app/config/conf onap-nexus:51212/dmaap/buscontroller:1.0.0
85 ```
86