DMAAP-BC - Update Release Note Date
[dmaap/buscontroller.git] / docs / Installation / Installation.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3
4 Installation
5 ============
6
7 Environment
8 ===========
9 Bus Controller is developed using Postgresql.  An embedded Jetty server is used to create the REST service.
10 The service is packaged as a Docker container image.
11 Helm charts for Bus Controller are part of the overall dmaap chart set.
12
13 Steps for OOM Deployment
14 ------------------------
15
16 1) Clone the oom repo
17 2) cd oom/kubernetes
18 3) (optionally, customize the buscontroller configuration - see below)
19 4) make dmaap
20 5) helm install dmaap --name=dmaap --namespace=mr
21
22
23 Customizing the Bus Controller configuration
24 --------------------------------------------
25
26 The Bus Controller is highly configurable, but by default has settings that should work for a standard ONAP oom deployment.
27 However, if some customization is desired, there are places to change behavior:
28 1) The --namespace argument of the helm install step is also refernced to compose the topic namespace used.  i.e. the value is appended to org.onap.dmaap.   Since Message Router uses org.onap.dmaap.mr by default, we also use --namespace=mr.  But this can be changed to a value that matches a different deployment of MR.
29 2) oom/kubernetes/dmaap/charts/dmaap-bus-controller/values.yaml  contains the set of tags used within the charts.  These can be modified if necessary.
30 3) oom/kubernetes/dmaap/charts/dmaap-bus-controller/resources/config/buscontroller.env contains some environment settings for the container.  These can be modified.  For example, to indicate that AAF integration should be enabled, set USE_AAF=true in this file.
31 4) oom/kubernetes/dmaap/charts/dmaap-bus-controller/resources/config/dmaapbc.properties  contains many properties which can be modified.  For example, if a differerent Postgresql instance needed to be used, the value could be specified here.
32
33
34 Steps for local development and test
35 ------------------------------------
36 On Intel dev machine, in terminal (> indicates prompt) :
37 1) Build buscontroller images
38     > git clone https://gerrit.onap.org/r/dmaap/buscontroller
39         - anonymous http, can't push changes
40     > cd buscontroller
41     > mvn clean install -Pdocker
42         - builds dmaap-bc and dbc-client images
43 2) Run tests
44     > cd dmaap-bc/src/main/resources/
45     > cp docker-databus-controller.conf /var/tmp/
46         - set docker preferences/file sharing to access /var/tmp
47     - edit docker-compose.yml
48         - remove "nexus3.onap.org:10001/" from dmaap-bc:image: and dbc-client:image: to
49             use local images
50     > docker-compose up -d
51     - create sample.txt file (as above)(content of file not important)
52     > curl http://localhost:30241/webapi/bridge
53
54 On Arm:
55 1) Build buscontroller images
56     > git clone https://gerrit.onap.org/r/dmaap/buscontroller
57         - anonymous http, can't push changes
58     > cd buscontroller
59     > mvn clean install -Pdocker  -Ddocker.pull.registry=docker.io
60         - ensure we pull Arm version of base image
61 2) Run tests
62     > cd dmaap-bc/src/main/resources/
63     > cp docker-databus-controller.conf /var/tmp/
64         - set docker preferences/file sharing to access /var/tmp
65     - edit docker-compose.yml
66         - remove "nexus3.onap.org:10001/" from dmaap-bc:image: and dbc-client:image: to
67             use local images
68         - replace 'crunchydata/crunchy-postgres:centos7-10.4-2.0.0' with
69             multi-platform 'postgres:9.6-alpine' normative image
70     > docker-compose up -d
71     - create sample.txt file (as above)(content of file not important)
72     > curl http://localhost:30241/webapi/bridge
73