
.. _onap-documentation:

ONAP Documentation
==================

Welcome to the Open Network Automation Platform (ONAP) documentation site for the Casablanca Release!

Please find some guidance here on the content of the Casablanca Release documentation for ONAP:

 +-------------------------------------------------------+-----------------------------------------------------------------------------------------------+
 | Main documentation areas 	                         |   Description                                                                                 |
 +=======================================================+===============================================================================================+
 | :ref:`ONAP Overview <getting-started>`                | ONAP Overview provides generic and high-level guidance on the mission and main                |
 |                                                       | functionalities of ONAP. Basic guidelines on license details, limitations and                 |
 |                                                       | security references support understanding the solution.                                       |
 +-------------------------------------------------------+-----------------------------------------------------------------------------------------------+
 | :ref:`ONAP Architecture <ONAP-architecture>`          | The ONAP architecture and its functional elements are described in details                    |
 |                                                       | here. We can learn how the two main frameworks, namely the Design-time                        |
 |                                                       | framework and the Run-time framework cooperate and how the Microservices,                     |
 |                                                       | Common services and the ONAP Portal support the certain functions.                            |
 +-------------------------------------------------------+-----------------------------------------------------------------------------------------------+
 | :ref:`Setting Up ONAP <installing-onap>`              | Installation guidelines and requirements help the very first set up of an                     |
 |                                                       | ONAP environment. The ONAP Operations Manager Cloud setup Guide and the                       |
 |                                                       | ONAP Operations Manager Quick Start Guide support the deployment and installation activities. |
 +-------------------------------------------------------+-----------------------------------------------------------------------------------------------+
 | :ref:`Developer Guides <ONAP_developer_guides>`       | Developers contributing to the ONAP development can find crucial information                  |
 |                                                       | in the Developer Guides. The reader can search among the developers’ topics                   |
 |                                                       | in alphabetical order.                                                                        |
 +-------------------------------------------------------+-----------------------------------------------------------------------------------------------+
 | :ref:`User Guides <user-guides>`                      | The User Guides provide details on the ONAP portal, which portal integrates                   |
 |                                                       | numerous different ONAP applications at one place. Platform operations are                    |
 |                                                       | supported with ONAP Operations Quick Start Guide and with an ONAP Operations                  |
 |                                                       | User Guide. The instantiation and the management of resources and the services                |
 |                                                       | are supported with a Service Design Guide and with guidelines on Service Deployment.          |
 +-------------------------------------------------------+-----------------------------------------------------------------------------------------------+
 | :ref:`VNF/PNF Requirements and Guidelines <vnf_reqs>` | Harmonized VNF and PNF requirements and reduced customization of onboarding VNFs              |
 |                                                       | and PNFs can accelerate the optimal usage of this ONAP environment. The guidelines            |
 |                                                       | on VNF/PNF requirements facilitates synchronized and aligned activities for all participants. |
 +-------------------------------------------------------+-----------------------------------------------------------------------------------------------+
You can reach the complete Casablanca Release documentation from the Navigation bar on the left.

