Introduce buscontroller to readthedocs
Change-Id: I929bf1d3eacd35dc0ff97cdabd053cdfd1897e7d
Signed-off-by: dglFromAtt <dgl@research.att.com>
Issue-ID: DOC-328
diff --git a/docs/Installation/Installation.rst b/docs/Installation/Installation.rst
new file mode 100644
index 0000000..5788845
--- /dev/null
+++ b/docs/Installation/Installation.rst
@@ -0,0 +1,32 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Installation
+============
+
+Environment
+===========
+Bus Controller is developed using Postgresql. An embedded Jetty server is used to create the REST service.
+The service is packaged as a Docker container image.
+Helm charts for Bus Controller are part of the overall dmaap chart set.
+
+Steps for OOM Deployment
+------------------------
+
+1) Clone the oom repo
+2) cd oom/kubernetes
+3) (optionally, customize the buscontroller configuration - see below)
+4) make dmaap
+5) helm install dmaap --name=dmaap --namespace=mr
+
+
+Customizing the Bus Controller configuration
+--------------------------------------------
+
+The Bus Controller is highly configurable, but by default has settings that should work for a standard ONAP oom deployment.
+However, if some customization is desired, there are places to change behavior:
+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.
+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.
+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.
+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.
+
diff --git a/docs/administration/administration.rst b/docs/administration/administration.rst
new file mode 100644
index 0000000..b050a1f
--- /dev/null
+++ b/docs/administration/administration.rst
@@ -0,0 +1,14 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Administration
+==============
+
+
+Processes
+---------
+NA
+
+Actions
+-------
+NA
diff --git a/docs/architecture/architecture.rst b/docs/architecture/architecture.rst
new file mode 100644
index 0000000..c148af5
--- /dev/null
+++ b/docs/architecture/architecture.rst
@@ -0,0 +1,48 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Architecture
+==============
+
+
+Capabilities
+---------
+Bus Controller is a RESTful web service used to provision DMaaP topics (on Message Router) and feeds (on Data Router), with associated authorization (on AAF).
+
+Usage Scenarios
+---------------
+Bus Controller endpoints are used to provision:
+- a authorized topic on MR, and to create and grant permission for publishers and subscribers.
+- a feed on DR, with associated user authenticatio n.
+
+.. blockdiag::
+
+ blockdiag layers {
+ orientation = portrait
+ DBC_CLIENT -> DBC_API;
+ DBC_API -> MR;
+ DBC_API -> DR;
+ DBC_API -> AAF;
+ group l1 {
+ color = blue;
+ label = "Bus Controller Container";
+ DBC_API;
+ }
+ group l2 {
+ color = yellow;
+ label = "MR";
+ MR;
+ }
+ group l3 {
+ color = orange;
+ label = "DR";
+ DR;
+ }
+ group l4 {
+ color = green;
+ label = "AAF";
+ AAF;
+ }
+ }
+
+
diff --git a/docs/configuration/configuration.rst b/docs/configuration/configuration.rst
new file mode 100644
index 0000000..d8ed089
--- /dev/null
+++ b/docs/configuration/configuration.rst
@@ -0,0 +1,12 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Configuration
+=============
+
+Refer to README file in buscontroller repo for a list of properties.
+https://gerrit.onap.org/r/gitweb?p=dmaap/buscontroller.git;a=blob;f=README.md
+
+These properties can be modified by changing the resource file in the helm chart prior to deployment.
+oom/kubernetes/dmaap/charts/dmaap-bus-controller/resources/config/dmaapbc.properties
+
diff --git a/docs/consumedapis/consumedapis.rst b/docs/consumedapis/consumedapis.rst
new file mode 100644
index 0000000..39e1e6e
--- /dev/null
+++ b/docs/consumedapis/consumedapis.rst
@@ -0,0 +1,9 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Consumed APIs
+==============
+
+Bus Controller consumes the following APIs:
+1) the Message Router topic creation API
+2) the AAF authorization API to create and grant permissions
diff --git a/docs/delivery/delivery.rst b/docs/delivery/delivery.rst
new file mode 100644
index 0000000..e438b25
--- /dev/null
+++ b/docs/delivery/delivery.rst
@@ -0,0 +1,7 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Delivery
+=========
+
+Bus Controller is not involved in the active transport of data. It is for provisioning only.
diff --git a/docs/humaninterfaces/humaninterfaces.rst b/docs/humaninterfaces/humaninterfaces.rst
new file mode 100644
index 0000000..f115731
--- /dev/null
+++ b/docs/humaninterfaces/humaninterfaces.rst
@@ -0,0 +1,8 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Human Interfaces
+================
+
+
+Buscontroller does not have human interfaces.
diff --git a/docs/index.rst b/docs/index.rst
new file mode 100644
index 0000000..545ee5f
--- /dev/null
+++ b/docs/index.rst
@@ -0,0 +1,20 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0ONAP Component: DMaaP Bus Controller
+
+dmaap/buscontroller
+====================================
+
+.. toctree::
+ :maxdepth: 3
+
+ architecture/architecture.rst
+ release-notes/release-notes.rst
+ configuration/configuration.rst
+ humaninterfaces/humaninterfaces.rst
+ offeredapis/offeredapis.rst
+ Installation/Installation.rst
+ consumedapis/consumedapis.rst
+ administration/administration.rst
+ logging/logging.rst
+ delivery/delivery.rst
+
diff --git a/docs/logging/logging.rst b/docs/logging/logging.rst
new file mode 100644
index 0000000..e335356
--- /dev/null
+++ b/docs/logging/logging.rst
@@ -0,0 +1,28 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+ .. http://creativecommons.org/licenses/by/4.0
+
+Logging
+=======
+
+.. note::
+ * This section is used to describe the informational or diagnostic messages emitted from
+ a software component and the methods or collecting them.
+
+ * This section is typically: provided for a platform-component and sdk; and
+ referenced in developer and user guides
+
+ * This note must be removed after content has been added.
+
+
+Where to Access Information
+---------------------------
+Bus Controller uses logback framework to generate logs found under logs/ONAP.
+Logs are organized into files:
+application.log - contains general logs
+error.log - contains errors
+audit.log - contains transactions for audit trail
+server.log - contains jetty server specific logging
+
+Error / Warning Messages
+------------------------
+Logging to error.log will distinguish critical errors from warnings.
diff --git a/docs/offeredapis/offeredapis.rst b/docs/offeredapis/offeredapis.rst
new file mode 100644
index 0000000..4a5cd11
--- /dev/null
+++ b/docs/offeredapis/offeredapis.rst
@@ -0,0 +1,7 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Offered APIs
+==============
+
+Refer to Bus Controller API under https://onap.readthedocs.io/en/latest/guides/onap-developer/apiref/index.html
diff --git a/docs/release-notes/release-notes.rst b/docs/release-notes/release-notes.rst
new file mode 100644
index 0000000..1ab7d8b
--- /dev/null
+++ b/docs/release-notes/release-notes.rst
@@ -0,0 +1,33 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Release Notes
+==============
+
+Version: 1.0.23
+
+: Release Date: 2018-10-18
+
+**New Features**
+
+ - configMap for properties
+ - AAF integration
+
+**Bug Fixes**
+ NA
+
+**Known Issues**
+ NA
+
+**Security Notes**
+DMAAP code has been formally scanned during build time using NexusIQ and all Critical vulnerabilities have been addressed, items that remain open have been assessed for risk and determined to be false positive. The DMAAP open Critical security vulnerabilities and their risk assessment have been documented as part of the `project <https://wiki.onap.org/pages/viewpage.action?pageId=28379799>`_.
+
+Quick Links:
+- `DMAAP project page <https://wiki.onap.org/display/DW/DMaaP+Planning>`_
+- `Passing Badge information for DMAAP <https://bestpractices.coreinfrastructure.org/en/projects/1751>`_
+- `Project Vulnerability Review Table for DMAAP <https://wiki.onap.org/pages/viewpage.action?pageId=28379799>`_
+
+**Upgrade Notes**
+NA
+
+**Deprecation Notes**