.. This work is licensed under a Creative Commons Attribution 4.0 International License.
   http://creativecommons.org/licenses/by/4.0

.. _index-setting-individual-components:

=========================================
**Setting Up individual ONAP components**
=========================================
From a developer perspective, ONAP can be installed component per component. This advanced installation procedure is recommended only for experienced developers who desire to focus their attention on a few components and who have a deep understanding of dependencies between components.
This type of installation is not recommended to fully install ONAP.

The installation procedures for the various components are provided below:

User Interfaces
---------------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   CLAMP - :ref:`Closed Loop Automation Platform<index-clamp-installation>`
   SDC - Service Design and Creation <../../../submodules/sdc.git/docs/installation.rst>
   Use-Case UI <../../../submodules/usecase-ui.git/docs/platform/installation.rst>
   VID - Virtual Infrastructure Deployment <../../../submodules/vid.git/docs/installation.rst>
   SDNC - Software-Defined Networks Controller <../../../submodules/sdnc/oam.git/docs/installation.rst>

Platform Components
-------------------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   APPC - Application Controller <../../../submodules/appc.git/docs/APPC%20Deployment%20Guidelines/APPC%20Deployment%20Guidelines.rst>
   DCAE - Data Collection, Analytics, and Events <../../../submodules/dcaegen2.git/docs/sections/installation.rst>
   Holmes - Alarm Correlation <../../../submodules/holmes.git/docs/platform/installation.rst>
   Policy <../../../submodules/policy/engine.git/docs/platform/installation.rst>
   SDNC - Software Defined Network Controller <../../../submodules/sdnc/northbound.git/docs/installation.rst>
   SO - Service Orchestration <../../../submodules/so.git/docs/Install_Configure_SO.rst>
   VFC - Virtual Function Controller <../../../submodules/vfc/nfvo/lcm.git/docs/platform/installation.rst>

Common Services
---------------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   AAI - Active and Available Inventory <../../../submodules/aai/aai-common.git/docs/platform/installation.rst>
   DMaaP - Data Management as a Platform Message Router <../../../submodules/dmaap/messagerouter/messageservice.git/docs/Installation/Installation.rst>
   Modeling Parsers <../../../submodules/modeling/toscaparsers.git/docs/nfvparser/installation/installation.instruction.rst>
   MSB - Micro Services Bus <../../../submodules/msb/apigateway.git/docs/platform/installation.rst>
   MultiVIM Cloud <../../../submodules/multicloud/framework.git/docs/MultiCloud-Heat-Deployment-Guide.rst>

SDK
---

.. toctree::
   :maxdepth: 1
   :titlesonly:

   CLI - Command Line Interface<../../../submodules/cli.git/docs/installation_guide.rst>
   Portal <../../../submodules/portal.git/docs/tutorials/portal-sdk/setting-up.rst>
   VNF Software Development Kit <../../../submodules/vnfsdk/model.git/docs/files/mktplace-install.rst>
