diff --git a/doc/source/conf.py b/doc/source/conf.py
index c99e0b6..1f18a18 100755
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -15,20 +15,27 @@
 import os
 import sys
 
+import openstackdocstheme
+from sphinx import apidoc
+
 sys.path.insert(0, os.path.abspath('../..'))
+sys.path.insert(0, os.path.abspath('.'))
+
 # -- General configuration ----------------------------------------------------
 
 # Add any Sphinx extension module names here, as strings. They can be
 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
 extensions = [
     'sphinx.ext.autodoc',
-    #'sphinx.ext.intersphinx',
-    'oslosphinx'
+    'sphinx.ext.viewcode',
+    'openstackdocstheme',
+    'oslo_config.sphinxext'
 ]
 
 # autodoc generation is a bit aggressive and a nuisance when doing heavy
 # text edit cycles.
 # execute "export SPHINX_DEBUG=1" in your terminal to disable
+templates_path = ['_templates']
 
 # The suffix of source filenames.
 source_suffix = '.rst'
@@ -45,11 +52,14 @@
 
 # If true, the current module name will be prepended to all description
 # unit titles (such as .. function::).
-add_module_names = True
+add_module_names = False
 
 # The name of the Pygments (syntax highlighting) style to use.
 pygments_style = 'sphinx'
 
+# A list of ignored prefixes for module index sorting.
+modindex_common_prefix = ['octavia_tempest_plugin.']
+
 # -- Options for HTML output --------------------------------------------------
 
 # The theme to use for HTML and HTML Help pages.  Major themes that come with
@@ -58,9 +68,19 @@
 # html_theme = '_theme'
 # html_static_path = ['static']
 
+html_theme = 'openstackdocs'
+
+html_last_updated_fmt = '%Y-%m-%d %H:%M'
+
 # Output file base name for HTML help builder.
 htmlhelp_basename = '%sdoc' % project
 
+# If false, no module index is generated.
+html_domain_indices = True
+
+# If false, no index is generated.
+html_use_index = True
+
 # Grouping the document tree into LaTeX files. List of tuples
 # (source start file, target name, title, author, documentclass
 # [howto/manual]).
@@ -73,3 +93,27 @@
 
 # Example configuration for intersphinx: refer to the Python standard library.
 #intersphinx_mapping = {'http://docs.python.org/': None}
+
+repository_name = 'openstack/octavia-tempest-plugin'
+bug_project = '910'
+bug_tag = 'docs'
+
+# TODO(mordred) We should extract this into a sphinx plugin
+def run_apidoc(_):
+    cur_dir = os.path.abspath(os.path.dirname(__file__))
+    out_dir = os.path.join(cur_dir, '_build', 'modules')
+    module = os.path.join(cur_dir, '..', '..', 'octavia_tempest_plugin')
+    # Keep the order of arguments same as the sphinx-apidoc help, otherwise it
+    # would cause unexpected errors:
+    # sphinx-apidoc [options] -o <output_path> <module_path>
+    # [exclude_pattern, ...]
+    apidoc.main([
+        '--force',
+        '-o',
+        out_dir,
+        module,
+    ])
+
+
+def setup(app):
+    app.connect('builder-inited', run_apidoc)
diff --git a/doc/source/configref.rst b/doc/source/configref.rst
new file mode 100644
index 0000000..f9db042
--- /dev/null
+++ b/doc/source/configref.rst
@@ -0,0 +1,26 @@
+..
+      Copyright 2018 Rackspace US Inc.
+
+      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.
+
+Octavia Tempest Plugin Configuration Options
+============================================
+
+.. contents:: Table of Contents
+    :depth: 2
+
+.. note:: Not all of these options are used by the Octavia tempest tests.
+
+.. show-options::
+
+    tempest.config
diff --git a/doc/source/index.rst b/doc/source/index.rst
index fad3a36..494a0b6 100644
--- a/doc/source/index.rst
+++ b/doc/source/index.rst
@@ -14,11 +14,16 @@
    readme
    installation
    contributing
+   configref
 
 Indices and tables
 ==================
 
+.. toctree::
+   :hidden:
+
+   _build/modules/modules
+
 * :ref:`genindex`
 * :ref:`modindex`
 * :ref:`search`
-
