Document VOLTHA Resources

resources/docker.rst
resources/repositories.rst
--------------------------
  o Added a resources/ section in docs.voltha.org.
  o Display links for docker URLs and gerrit/github repositories.
  o rst table generation is partly automated using a list of resource
    names and a makefile target that can generate line items.
  o This logic should be built out so docker.rst and resources.rst
    can be fully auto-generated.
  o resources::gerrit repository urls have been populated in the table.
    Strange: url syntax is fine (matches manual navigation), gitiles is
    able to digest the url but only displays a white screen.  Might be
    missing a cookie or context the UI passes.  Will debug this later.

Change-Id: I71ed0e3760ed597707a0abaf35b2e07a68e14ed7
diff --git a/howto/index.rst b/howto/index.rst
index 79f21af..2df281b 100644
--- a/howto/index.rst
+++ b/howto/index.rst
@@ -1,5 +1,5 @@
-HOWTO(s)
-========
+HOWTO
+=====
 
 .. toctree::
    :maxdepth: 2
diff --git a/index.rst b/index.rst
index c57e9ee..3dd6fa7 100644
--- a/index.rst
+++ b/index.rst
@@ -205,6 +205,14 @@
    release_notes/index.rst
 
 .. toctree::
+   :maxdepth: 1
+   :hidden:
+   :caption: Resources
+   :glob:
+
+   resources/index
+
+.. toctree::
    :maxdepth: 2
    :caption: HOWTO Topics
 
diff --git a/resources/.gitignore b/resources/.gitignore
new file mode 100644
index 0000000..f9a046f
--- /dev/null
+++ b/resources/.gitignore
@@ -0,0 +1,5 @@
+# -*- makefile -*-
+
+*.log
+
+# [EOF]
\ No newline at end of file
diff --git a/resources/docker.rst b/resources/docker.rst
new file mode 100644
index 0000000..4e4c977
--- /dev/null
+++ b/resources/docker.rst
@@ -0,0 +1,89 @@
+Docker Images
+=============
+
+- VOLTHA images released to and hosted on Docker.
+- Images are built by jenkins then consumed as dogfood by testing.
+
+.. list-table:: VOLTHA Docker Images
+   :widths: 20, 5, 40
+   :header-rows: 1
+
+   * - Image
+     - Date
+     - Description
+   * - `Search=voltha* <https://hub.docker.com/search?q=voltha>`_
+     -
+     - All Docker images with prefix='voltha'
+                      https://hub.docker.com/r/voltha/bbsim
+   * - `voltha/bbsim <https://hub.docker.com/r/voltha/bbsim>`_
+     -
+     -
+   * - `voltha/bbsim-sadis-server <https://hub.docker.com/r/voltha/bbsim-sadis-server>`_
+     -
+     -
+   * - `volthacore/voltha-rw-core <https://hub.docker.com/r/volthacore/voltha-rw-core>`_
+     -
+     -
+   * - `voltha/voltha-adapter-simulated-olt <https://hub.docker.com/r/voltha/voltha-adapter-simulated-olt>`_
+     -
+     -
+   * - `voltha/voltha-adapter-simulated-onu <https://hub.docker.com/r/voltha/voltha-adapter-simulated-onu>`_
+     -
+     -
+   * - `voltha/voltha-afrouter <https://hub.docker.com/r/voltha/voltha-afrouter>`_
+     -
+     -
+   * - `voltha/voltha-afrouterd <https://hub.docker.com/r/voltha/voltha-afrouterd>`_
+     -
+     -
+   * - `voltha/voltha-bbsim <https://hub.docker.com/r/voltha/voltha-bbsim>`_
+     -
+     -
+   * - `voltha/voltha-ci-tools <https://hub.docker.com/r/voltha/voltha-ci-tools>`_
+     -
+     -
+   * - `voltha/voltha-cli <https://hub.docker.com/r/voltha/voltha-cli>`_
+     -
+     -
+   * - `voltha/voltha-dashd <https://hub.docker.com/r/voltha/voltha-dashd>`_
+     -
+     -
+   * - `voltha/voltha-envoy <https://hub.docker.com/r/voltha/voltha-envoy>`_
+     -
+     -
+   * - `voltha/voltha-netconf <https://hub.docker.com/r/voltha/voltha-netconf>`_
+     -
+     -
+   * - `voltha/voltha-ofagent-go <https://hub.docker.com/r/voltha/voltha-ofagent-go>`_
+     -
+     -
+   * - `voltha/voltha-ofagent <https://hub.docker.com/r/voltha/voltha-ofagent>`_
+     -
+     -
+   * - `voltha/voltha-onos <https://hub.docker.com/r/voltha/voltha-onos>`_
+     -
+     -
+   * - `voltha/voltha-openolt-adapter <https://hub.docker.com/r/voltha/voltha-openolt-adapter>`_
+     -
+     -
+   * - `voltha/voltha-openonu-adapter-go <https://hub.docker.com/r/voltha/voltha-openonu-adapter-go>`_
+     -
+     -
+   * - `voltha/voltha-ponsim <https://hub.docker.com/r/voltha/voltha-ponsim>`_
+     -
+     -
+   * - `voltha/voltha-ro-core <https://hub.docker.com/r/voltha/voltha-ro-core>`_
+     -
+     -
+   * - `voltha/voltha-rw-core <https://hub.docker.com/r/voltha/voltha-rw-core>`_
+     -
+     -
+   * - `voltha/voltha-shovel <https://hub.docker.com/r/voltha/voltha-shovel>`_
+     -
+     -
+   * - `voltha/voltha-tester <https://hub.docker.com/r/voltha/voltha-tester>`_
+     -
+     -
+   * - `voltha/voltha-voltha <https://hub.docker.com/r/voltha/voltha-voltha>`_
+     -
+     -
diff --git a/resources/index.rst b/resources/index.rst
new file mode 100644
index 0000000..2c0dbd0
--- /dev/null
+++ b/resources/index.rst
@@ -0,0 +1,8 @@
+VOLTHA Resources
+================
+
+.. toctree::
+   :maxdepth: 2
+
+   docker
+   repositories
diff --git a/resources/makefile b/resources/makefile
new file mode 100644
index 0000000..86f4a73
--- /dev/null
+++ b/resources/makefile
@@ -0,0 +1,91 @@
+# -*- makefile -*-
+## -----------------------------------------------------------------------
+## Intent: Generate an RST formatted table with URLs given a list of
+##         voltha resource names.
+## -----------------------------------------------------------------------
+## .. list-table:: VOLTHA Docker Images
+##   :widths: 20, 5, 40
+##   :header-rows: 1
+##
+##   * - Image
+##     - Date
+##     - Description    
+#    * - `voltha/voltha-envoy <https://hub.docker.com/r/voltha/voltha-envoy>`_
+## -----------------------------------------------------------------------
+
+##-------------------##
+##---]  GLOBALS  [---##
+##-------------------##
+HIDE ?= @
+
+## ------------------------------------------------------------------------
+## Intent: Generate a stream of tokens:
+##   o slurp file
+##   o remove comments and blank lines
+## ------------------------------------------------------------------------
+format-list = cat "$1" \
+  | cut -d'\#' -f1     \
+  | grep '[[:alnum:]]'
+
+##-------------------##
+##---]  TARGETS  [---##
+##-------------------##
+all:
+
+## -----------------------------------------------------------------------
+## Intent: Invoke all named generate table targets
+## -----------------------------------------------------------------------
+gen-all += docker-gen
+gen-all += gerrit-gen
+gen-all += github-gen
+gen-all : $(gen-all)
+
+## -----------------------------------------------------------------------
+## Intent: Generate an rst table for VOLTHA docker images.
+## -----------------------------------------------------------------------
+docker-src := sources/voltha.docker
+docker-url := https://hub.docker.com/r/voltha/{}
+docker-gen:
+	$(HIDE)$(call format-list,$(docker-src))               \
+	    | xargs -I'{}' echo -e '   * - `{} <$(docker-url)>\n     -`_' \
+	    | tee $@.log
+
+## -----------------------------------------------------------------------
+## Intent: Generate an rst table for VOLTHA gerrit repositories
+## -----------------------------------------------------------------------
+gerrit-src := sources/voltha.gerrit
+gerrit-url := https://gerrit.opencord.org/plugins/gitiles/{}
+gerrit-gen:
+	$(HIDE)$(call format-list,$(gerrit-src))                          \
+	    | xargs -I'{}' echo -e '   * - `{} <$(gerrit-url)>`_\n     -' \
+	    | tee $@.log
+
+## -----------------------------------------------------------------------
+## Intent: Generate an rst table for VOLTHA github repositories
+## -----------------------------------------------------------------------
+github-src := sources/voltha.github
+github-url := /dev/null
+github-gen:
+
+## -----------------------------------------------------------------------
+## Intent: Remove generated targets
+## -----------------------------------------------------------------------
+clean:
+	$(RM) *.log
+
+## -----------------------------------------------------------------------
+## Intent: Display help text
+## -----------------------------------------------------------------------
+help ::
+	@echo "Usage: $(MAKE) [options] [target] ..."
+	@echo "Targets:"
+	@echo "  clean                  Remove generated targets"
+
+	@echo
+	@echo "[RST GEN] - Generate an rst table containing"
+	@echo "  gen-all                Generate all VOLTHA rst tables"
+	@echo "  gen-docker             VOLTHA Docker images"
+	@echo "  gen-gerrit             VOLTHA Gerrit Repositories"
+	@echo "  gen-github             VOLTHA Github Repositories"
+
+# [EOF]
diff --git a/resources/repositories.rst b/resources/repositories.rst
new file mode 100644
index 0000000..5825435
--- /dev/null
+++ b/resources/repositories.rst
@@ -0,0 +1,72 @@
+Source Code Repositories
+========================
+
+- VOLTHA images released to and hosted on Docker.
+- Images are built by jenkins then consumed as dogfood by testing.
+
+.. list-table:: Gerrit
+   :widths: 40, 70
+   :header-rows: 1
+
+   * - Repository
+     - Description
+   * - `voltha/bbsim <https://gerrit.opencord.org/plugins/gitiles/voltha/bbsim>`_
+     -
+   * - `voltha/bbsim-sadis-server <https://gerrit.opencord.org/plugins/gitiles/voltha/bbsim-sadis-server>`_
+     -
+   * - `volthacore/voltha-rw-core <https://gerrit.opencord.org/plugins/gitiles/volthacore/voltha-rw-core>`_
+     -
+   * - `voltha/voltha-adapter-simulated-olt <https://gerrit.opencord.org/plugins/gitiles/voltha/voltha-adapter-simulated-olt>`_
+     -
+   * - `voltha/voltha-adapter-simulated-onu <https://gerrit.opencord.org/plugins/gitiles/voltha/voltha-adapter-simulated-onu>`_
+     -
+   * - `voltha/voltha-afrouter <https://gerrit.opencord.org/plugins/gitiles/voltha/voltha-afrouter>`_
+     -
+   * - `voltha/voltha-afrouterd <https://gerrit.opencord.org/plugins/gitiles/voltha/voltha-afrouterd>`_
+     -
+   * - `voltha/voltha-bbsim <https://gerrit.opencord.org/plugins/gitiles/voltha/voltha-bbsim>`_
+     -
+   * - `voltha/voltha-ci-tools <https://gerrit.opencord.org/plugins/gitiles/voltha/voltha-ci-tools>`_
+     -
+   * - `voltha/voltha-cli <https://gerrit.opencord.org/plugins/gitiles/voltha/voltha-cli>`_
+     -
+   * - `voltha/voltha-dashd <https://gerrit.opencord.org/plugins/gitiles/voltha/voltha-dashd>`_
+     -
+   * - `voltha/voltha-envoy <https://gerrit.opencord.org/plugins/gitiles/voltha/voltha-envoy>`_
+     -
+   * - `voltha/voltha-netconf <https://gerrit.opencord.org/plugins/gitiles/voltha/voltha-netconf>`_
+     -
+   * - `voltha/voltha-ofagent-go <https://gerrit.opencord.org/plugins/gitiles/voltha/voltha-ofagent-go>`_
+     -
+   * - `voltha/voltha-ofagent <https://gerrit.opencord.org/plugins/gitiles/voltha/voltha-ofagent>`_
+     -
+   * - `voltha/voltha-onos <https://gerrit.opencord.org/plugins/gitiles/voltha/voltha-onos>`_
+     -
+   * - `voltha/voltha-openolt-adapter <https://gerrit.opencord.org/plugins/gitiles/voltha/voltha-openolt-adapter>`_
+     -
+   * - `voltha/voltha-openonu-adapter <https://gerrit.opencord.org/plugins/gitiles/voltha/voltha-openonu-adapter>`_
+     -
+   * - `voltha/voltha-openonu-adapter-go <https://gerrit.opencord.org/plugins/gitiles/voltha/voltha-openonu-adapter-go>`_
+     -
+   * - `voltha/voltha-ponsim <https://gerrit.opencord.org/plugins/gitiles/voltha/voltha-ponsim>`_
+     -
+   * - `voltha/voltha-ro-core <https://gerrit.opencord.org/plugins/gitiles/voltha/voltha-ro-core>`_
+     -
+   * - `voltha/voltha-rw-core <https://gerrit.opencord.org/plugins/gitiles/voltha/voltha-rw-core>`_
+     -
+   * - `voltha/voltha-shovel <https://gerrit.opencord.org/plugins/gitiles/voltha/voltha-shovel>`_
+     -
+   * - `voltha/voltha-tester <https://gerrit.opencord.org/plugins/gitiles/voltha/voltha-tester>`_
+     -
+   * - `voltha/voltha-voltha <https://gerrit.opencord.org/plugins/gitiles/voltha/voltha-voltha>`_
+     -
+
+
+.. list-table:: Github
+   :widths: 40, 70
+   :header-rows: 1
+
+   * - Repository
+     - Description
+   * - filler
+     - filler
diff --git a/resources/sources/voltha.docker b/resources/sources/voltha.docker
new file mode 100644
index 0000000..3fd17db
--- /dev/null
+++ b/resources/sources/voltha.docker
@@ -0,0 +1,43 @@
+## -----------------------------------------------------------------------
+## Copyright 2021-2023 Open Networking Foundation (ONF) and the ONF Contributors
+##
+## Licensed under the Apache License, Version 2.0 (the "License");
+## you may not use this file except in compliance with the License.
+## You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## -----------------------------------------------------------------------
+
+voltha/bbsim
+voltha/bbsim-sadis-server
+volthacore/voltha-rw-core
+voltha/voltha-adapter-simulated-olt
+voltha/voltha-adapter-simulated-onu
+voltha/voltha-afrouter
+voltha/voltha-afrouterd
+voltha/voltha-bbsim
+voltha/voltha-ci-tools
+voltha/voltha-cli
+voltha/voltha-dashd
+voltha/voltha-envoy
+voltha/voltha-netconf
+voltha/voltha-ofagent-go
+voltha/voltha-ofagent
+voltha/voltha-onos
+voltha/voltha-openolt-adapter
+voltha/voltha-openonu-adapter
+voltha/voltha-openonu-adapter-go
+voltha/voltha-ponsim
+voltha/voltha-ro-core
+voltha/voltha-rw-core
+voltha/voltha-shovel
+voltha/voltha-tester
+voltha/voltha-voltha
+
+# [EOF]
diff --git a/resources/sources/voltha.gerrit b/resources/sources/voltha.gerrit
new file mode 100644
index 0000000..f7e5c46
--- /dev/null
+++ b/resources/sources/voltha.gerrit
@@ -0,0 +1,48 @@
+## -----------------------------------------------------------------------
+## Copyright 2021-2023 Open Networking Foundation (ONF) and the ONF Contributors
+##
+## Licensed under the Apache License, Version 2.0 (the "License");
+## you may not use this file except in compliance with the License.
+## You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## -----------------------------------------------------------------------
+
+kind-voltha
+pyvoltha
+voltha
+voltha-adtran-adapter
+voltha-api-server
+voltha-bal
+voltha-bbsim
+voltha-docker-tools
+voltha-docs
+voltha-eponolt-adapter
+voltha-epononu-adapter
+voltha-go
+voltha-go-controller
+voltha-helm-charts
+voltha-lib-go
+voltha-northbound-bbf-adapter
+voltha-omci
+voltha-onos
+voltha-openolt-adapter
+voltha-openonu-adapter
+voltha-openonu-adapter-go
+voltha-ponsimolt-adapter
+voltha-ponsimonu-adapter
+VOLTHA-Projects
+voltha-protos
+voltha-python-base
+voltha-simolt-adapter
+voltha-simonu-adapter
+voltha-system-tests
+voltha-test-manifest
+
+# [EOF]