.. This work is licensed under a Creative Commons Attribution 4.0
.. International License.
.. http://creativecommons.org/licenses/by/4.0
.. Copyright 2018-2021 Amdocs, Bell Canada, Orange, Samsung, Nokia
.. _master_index:


OOM Documentation Repository
----------------------------
.. toctree::
  :maxdepth: 2

  oom_project_description.rst
  oom_quickstart_guide.rst
  oom_quickstart_guide_helm3.rst
  oom_user_guide.rst
  oom_user_guide_helm3.rst
  oom_setup_paas.rst
  oom_developer_guide.rst
  oom_cloud_setup_guide.rst
  release-notes.rst
  oom_setup_kubernetes_rancher.rst
  oom_setup_ingress_controller.rst
