diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..e4e5f6c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+*~
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
index cc41a65..6f2b42f 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,15 +1,13 @@
+Copyright (c) 2014-2015 tcp cloud a.s.
 
-   Copyright (c) 2013 Salt Stack Formulas
+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
 
-   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
 
-       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.
-
+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.
\ No newline at end of file
diff --git a/README.md b/README.md
deleted file mode 100755
index 563da70..0000000
--- a/README.md
+++ /dev/null
@@ -1,37 +0,0 @@
-
-# Sphinx
-
-Sphinx is a tool that makes it easy to create intelligent and beautiful documentation, written by Georg Brandl and licensed under the BSD license.
-
-It was originally created for the new Python documentation, and it has excellent facilities for the documentation of Python projects, but C/C++ is already supported as well, and it is planned to add special support for other languages as well.
-
-## Sample pillars
-
-Simple documentation with local source
-
-    sphinx:
-      server:
-        enabled: true
-        doc:
-          board:
-            builder: 'html'
-            source: 
-              engine: local
-              path: '/path/to/sphinx/documentation'
-
-Simple documentation with Git source
-
-    sphinx:
-      server:
-        enabled: true
-        doc:
-          board:
-            builder: 'html'
-            source: 
-              engine: git
-              address: 'git@repo1.domain.com/repo.git'
-              revision: master
-
-## Read more
-
-* http://sphinx-doc.org/tutorial.html
\ No newline at end of file
diff --git a/README.rst b/README.rst
new file mode 100755
index 0000000..85e394d
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,57 @@
+
+======
+Sphinx
+======
+
+Sphinx is a tool that makes it easy to create intelligent and beautiful documentation, written by Georg Brandl and licensed under the BSD license. It was originally created for the new Python documentation, and it has excellent facilities for the documentation of Python projects, but C/C++ is already supported as well, and it is planned to add special support for other languages as well.
+
+Sample pillars
+==============
+
+Simple documentation with local source
+
+.. code-block:: yaml
+
+    sphinx:
+      server:
+        enabled: true
+        doc:
+          board:
+            builder: 'html'
+            source: 
+              engine: local
+              path: '/path/to/sphinx/documentation'
+
+Simple documentation with Git source
+
+.. code-block:: yaml
+
+    sphinx:
+      server:
+        enabled: true
+        doc:
+          board:
+            builder: 'html'
+            source: 
+              engine: git
+              address: 'git@repo1.domain.com/repo.git'
+              revision: master
+
+Simple documentation with reclass source
+
+.. code-block:: yaml
+
+    sphinx:
+      server:
+        enabled: true
+        doc:
+          board:
+            builder: 'html'
+            source: 
+              engine: reclass
+
+
+Read more
+=========
+
+* http://sphinx-doc.org/tutorial.html
diff --git a/metadata/service/server/multi.yml b/metadata/service/server/multi.yml
index 7bc763b..f13a614 100644
--- a/metadata/service/server/multi.yml
+++ b/metadata/service/server/multi.yml
@@ -1,5 +1,7 @@
 applications:
 - sphinx
+classes:
+- service.sphinx.support
 parameters:
   sphinx:
     server:
diff --git a/metadata/service/server/single.yml b/metadata/service/server/single.yml
index 7bc763b..f13a614 100644
--- a/metadata/service/server/single.yml
+++ b/metadata/service/server/single.yml
@@ -1,5 +1,7 @@
 applications:
 - sphinx
+classes:
+- service.sphinx.support
 parameters:
   sphinx:
     server:
diff --git a/metadata/service/support.yml b/metadata/service/support.yml
new file mode 100644
index 0000000..9684553
--- /dev/null
+++ b/metadata/service/support.yml
@@ -0,0 +1,11 @@
+parameters:
+  sphinx:
+    _support:
+      collectd:
+        enabled: false
+      heka:
+        enabled: false
+      sensu:
+        enabled: false
+      sphinx:
+        enabled: true
diff --git a/sphinx/_git.sls b/sphinx/_git.sls
new file mode 100644
index 0000000..2f5c6f4
--- /dev/null
+++ b/sphinx/_git.sls
@@ -0,0 +1,18 @@
+
+sphinx_source_{{ doc_name }}:
+  {{ doc.source.engine }}.latest:
+  - name: {{ doc.source.address }}
+  - target: /srv/static/extern/{{ doc_name }}
+  - rev: {{ doc.source.revision }}
+  - require:
+    - file: /srv/static/extern
+    - pkg: git_packages
+  - require_in:
+    - cmd: generate_sphinx_doc_{{ doc_name }}
+
+generate_sphinx_doc_{{ doc_name }}:
+  cmd.run:
+  - name: sphinx-build -b {{ doc.builder }} /srv/static/extern/{{ doc_name }}{% if doc.path is defined %}/{{ doc.path }}{% endif %} /srv/static/sites/{{ doc_name }}
+  - require:
+    - git: sphinx_source_{{ doc_name }}
+    - file: /srv/static/sites/{{ doc_name }}
diff --git a/sphinx/_reclass.sls b/sphinx/_reclass.sls
new file mode 100644
index 0000000..40ce0d4
--- /dev/null
+++ b/sphinx/_reclass.sls
@@ -0,0 +1,78 @@
+
+reclass_doc_dirs:
+  file.directory:
+  - names:
+    - /srv/static/extern/reclass/source/_static
+    - /srv/static/extern/reclass/source/overview
+    - /srv/static/extern/reclass/source/nodes
+    - /srv/static/extern/reclass/source/devices
+  - user: root
+  - mode: 755
+  - makedirs: true
+
+/srv/static/extern/reclass/Makefile:
+  file.managed:
+  - source: salt://sphinx/files/reclass/Makefile
+  - mode: 644
+  - require:
+    - file: reclass_doc_dirs
+
+/srv/static/extern/reclass/source/conf.py:
+  file.managed:
+  - source: salt://sphinx/files/reclass/source/conf.py
+  - mode: 644
+  - require:
+    - file: reclass_doc_dirs
+
+/srv/static/extern/reclass/source/index.rst:
+  file.managed:
+  - source: salt://sphinx/files/reclass/source/index.rst
+  - template: jinja
+  - mode: 644
+  - require:
+    - file: reclass_doc_dirs
+
+/srv/static/extern/reclass/source/overview/nodes.rst:
+  file.managed:
+  - source: salt://sphinx/files/reclass/source/overview/nodes.rst
+  - template: jinja
+  - mode: 644
+  - require:
+    - file: reclass_doc_dirs
+
+/srv/static/extern/reclass/source/overview/endpoints.rst:
+  file.managed:
+  - source: salt://sphinx/files/reclass/source/overview/endpoints.rst
+  - template: jinja
+  - mode: 644
+  - require:
+    - file: reclass_doc_dirs
+
+/srv/static/extern/reclass/source/overview/services.rst:
+  file.managed:
+  - source: salt://sphinx/files/reclass/source/overview/services.rst
+  - template: jinja
+  - mode: 644
+  - require:
+    - file: reclass_doc_dirs
+
+{%- for node_name, node_grains in salt['mine.get']('*', 'grains.items').iteritems() %}
+
+/srv/static/extern/reclass/source/nodes/{{ node_name }}.rst:
+  file.managed:
+  - source: salt://sphinx/files/reclass/source/nodes/node.rst
+  - template: jinja
+  - mode: 644
+  - require:
+    - file: reclass_doc_dirs
+  - defaults:
+    node_name: {{ node_name }}
+    node_grains: {{ node_grains|yaml }}
+
+{%- endfor %}
+
+generate_sphinx_doc_{{ doc_name }}:
+  cmd.run:
+  - name: sphinx-build -b {{ doc.builder }} /srv/static/extern/reclass{% if doc.path is defined %}/{{ doc.path }}{% endif %} /srv/static/sites/{{ doc_name }}
+  - require:
+    - file: /srv/static/sites/{{ doc_name }}
diff --git a/sphinx/files/reclass/Makefile b/sphinx/files/reclass/Makefile
new file mode 100644
index 0000000..9bbc5b8
--- /dev/null
+++ b/sphinx/files/reclass/Makefile
@@ -0,0 +1,177 @@
+# Makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS    =
+SPHINXBUILD   = sphinx-build
+PAPER         =
+BUILDDIR      = build
+
+# User-friendly check for sphinx-build
+ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
+$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
+endif
+
+# Internal variables.
+PAPEROPT_a4     = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
+# the i18n builder cannot share the environment and doctrees with the others
+I18NSPHINXOPTS  = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
+
+.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
+
+help:
+	@echo "Please use \`make <target>' where <target> is one of"
+	@echo "  html       to make standalone HTML files"
+	@echo "  dirhtml    to make HTML files named index.html in directories"
+	@echo "  singlehtml to make a single large HTML file"
+	@echo "  pickle     to make pickle files"
+	@echo "  json       to make JSON files"
+	@echo "  htmlhelp   to make HTML files and a HTML help project"
+	@echo "  qthelp     to make HTML files and a qthelp project"
+	@echo "  devhelp    to make HTML files and a Devhelp project"
+	@echo "  epub       to make an epub"
+	@echo "  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+	@echo "  latexpdf   to make LaTeX files and run them through pdflatex"
+	@echo "  latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
+	@echo "  text       to make text files"
+	@echo "  man        to make manual pages"
+	@echo "  texinfo    to make Texinfo files"
+	@echo "  info       to make Texinfo files and run them through makeinfo"
+	@echo "  gettext    to make PO message catalogs"
+	@echo "  changes    to make an overview of all changed/added/deprecated items"
+	@echo "  xml        to make Docutils-native XML files"
+	@echo "  pseudoxml  to make pseudoxml-XML files for display purposes"
+	@echo "  linkcheck  to check all external links for integrity"
+	@echo "  doctest    to run all doctests embedded in the documentation (if enabled)"
+
+clean:
+	rm -rf $(BUILDDIR)/*
+
+html:
+	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
+	@echo
+	@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
+
+dirhtml:
+	$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
+	@echo
+	@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
+
+singlehtml:
+	$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
+	@echo
+	@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
+
+pickle:
+	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
+	@echo
+	@echo "Build finished; now you can process the pickle files."
+
+json:
+	$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
+	@echo
+	@echo "Build finished; now you can process the JSON files."
+
+htmlhelp:
+	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
+	@echo
+	@echo "Build finished; now you can run HTML Help Workshop with the" \
+	      ".hhp project file in $(BUILDDIR)/htmlhelp."
+
+qthelp:
+	$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
+	@echo
+	@echo "Build finished; now you can run "qcollectiongenerator" with the" \
+	      ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
+	@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/reclass-doc.qhcp"
+	@echo "To view the help file:"
+	@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/reclass-doc.qhc"
+
+devhelp:
+	$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
+	@echo
+	@echo "Build finished."
+	@echo "To view the help file:"
+	@echo "# mkdir -p $$HOME/.local/share/devhelp/reclass-doc"
+	@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/reclass-doc"
+	@echo "# devhelp"
+
+epub:
+	$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
+	@echo
+	@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
+
+latex:
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+	@echo
+	@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
+	@echo "Run \`make' in that directory to run these through (pdf)latex" \
+	      "(use \`make latexpdf' here to do that automatically)."
+
+latexpdf:
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+	@echo "Running LaTeX files through pdflatex..."
+	$(MAKE) -C $(BUILDDIR)/latex all-pdf
+	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+latexpdfja:
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+	@echo "Running LaTeX files through platex and dvipdfmx..."
+	$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
+	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+text:
+	$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
+	@echo
+	@echo "Build finished. The text files are in $(BUILDDIR)/text."
+
+man:
+	$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
+	@echo
+	@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
+
+texinfo:
+	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+	@echo
+	@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
+	@echo "Run \`make' in that directory to run these through makeinfo" \
+	      "(use \`make info' here to do that automatically)."
+
+info:
+	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+	@echo "Running Texinfo files through makeinfo..."
+	make -C $(BUILDDIR)/texinfo info
+	@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
+
+gettext:
+	$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
+	@echo
+	@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
+
+changes:
+	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
+	@echo
+	@echo "The overview file is in $(BUILDDIR)/changes."
+
+linkcheck:
+	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
+	@echo
+	@echo "Link check complete; look for any errors in the above output " \
+	      "or in $(BUILDDIR)/linkcheck/output.txt."
+
+doctest:
+	$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
+	@echo "Testing of doctests in the sources finished, look at the " \
+	      "results in $(BUILDDIR)/doctest/output.txt."
+
+xml:
+	$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
+	@echo
+	@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
+
+pseudoxml:
+	$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
+	@echo
+	@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
\ No newline at end of file
diff --git a/sphinx/files/reclass/source/conf.py b/sphinx/files/reclass/source/conf.py
new file mode 100644
index 0000000..1dd3088
--- /dev/null
+++ b/sphinx/files/reclass/source/conf.py
@@ -0,0 +1,258 @@
+# -*- coding: utf-8 -*-
+#
+# reclass-doc documentation build configuration file, created by
+# sphinx-quickstart on Thu Nov 26 15:14:56 2015.
+#
+# This file is execfile()d with the current directory set to its
+# containing dir.
+#
+# Note that not all possible configuration values are present in this
+# autogenerated file.
+#
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+import sys
+import os
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#sys.path.insert(0, os.path.abspath('.'))
+
+# -- General configuration ------------------------------------------------
+
+# If your documentation needs a minimal Sphinx version, state it here.
+#needs_sphinx = '1.0'
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+extensions = []
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# The suffix of source filenames.
+source_suffix = '.rst'
+
+# The encoding of source files.
+#source_encoding = 'utf-8-sig'
+
+# The master toctree document.
+master_doc = 'index'
+
+# General information about the project.
+project = u'reclass-doc'
+copyright = u'2015, reclass'
+
+# The version info for the project you're documenting, acts as replacement for
+# |version| and |release|, also used in various other places throughout the
+# built documents.
+#
+# The short X.Y version.
+version = '1.0'
+# The full version, including alpha/beta/rc tags.
+release = '1.0'
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+#language = None
+
+# There are two options for replacing |today|: either, you set today to some
+# non-false value, then it is used:
+#today = ''
+# Else, today_fmt is used as the format for a strftime call.
+#today_fmt = '%B %d, %Y'
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+exclude_patterns = []
+
+# The reST default role (used for this markup: `text`) to use for all
+# documents.
+#default_role = None
+
+# If true, '()' will be appended to :func: etc. cross-reference text.
+#add_function_parentheses = True
+
+# If true, the current module name will be prepended to all description
+# unit titles (such as .. function::).
+#add_module_names = True
+
+# If true, sectionauthor and moduleauthor directives will be shown in the
+# output. They are ignored by default.
+#show_authors = 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 = []
+
+# If true, keep warnings as "system message" paragraphs in the built documents.
+#keep_warnings = False
+
+
+# -- Options for HTML output ----------------------------------------------
+
+# The theme to use for HTML and HTML Help pages.  See the documentation for
+# a list of builtin themes.
+html_theme = 'default'
+
+# Theme options are theme-specific and customize the look and feel of a theme
+# further.  For a list of options available for each theme, see the
+# documentation.
+#html_theme_options = {}
+
+# Add any paths that contain custom themes here, relative to this directory.
+#html_theme_path = []
+
+# The name for this set of Sphinx documents.  If None, it defaults to
+# "<project> v<release> documentation".
+#html_title = None
+
+# A shorter title for the navigation bar.  Default is the same as html_title.
+#html_short_title = None
+
+# The name of an image file (relative to this directory) to place at the top
+# of the sidebar.
+#html_logo = None
+
+# The name of an image file (within the static path) to use as favicon of the
+# docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
+# pixels large.
+#html_favicon = None
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['_static']
+
+# Add any extra paths that contain custom files (such as robots.txt or
+# .htaccess) here, relative to this directory. These files are copied
+# directly to the root of the documentation.
+#html_extra_path = []
+
+# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
+# using the given strftime format.
+#html_last_updated_fmt = '%b %d, %Y'
+
+# If true, SmartyPants will be used to convert quotes and dashes to
+# typographically correct entities.
+#html_use_smartypants = True
+
+# Custom sidebar templates, maps document names to template names.
+#html_sidebars = {}
+
+# Additional templates that should be rendered to pages, maps page names to
+# template names.
+#html_additional_pages = {}
+
+# If false, no module index is generated.
+#html_domain_indices = True
+
+# If false, no index is generated.
+#html_use_index = True
+
+# If true, the index is split into individual pages for each letter.
+#html_split_index = False
+
+# If true, links to the reST sources are added to the pages.
+#html_show_sourcelink = True
+
+# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
+#html_show_sphinx = True
+
+# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
+#html_show_copyright = True
+
+# If true, an OpenSearch description file will be output, and all pages will
+# contain a <link> tag referring to it.  The value of this option must be the
+# base URL from which the finished HTML is served.
+#html_use_opensearch = ''
+
+# This is the file name suffix for HTML files (e.g. ".xhtml").
+#html_file_suffix = None
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = 'reclass-docdoc'
+
+
+# -- Options for LaTeX output ---------------------------------------------
+
+latex_elements = {
+# The paper size ('letterpaper' or 'a4paper').
+#'papersize': 'letterpaper',
+
+# The font size ('10pt', '11pt' or '12pt').
+#'pointsize': '10pt',
+
+# Additional stuff for the LaTeX preamble.
+#'preamble': '',
+}
+
+# Grouping the document tree into LaTeX files. List of tuples
+# (source start file, target name, title,
+#  author, documentclass [howto, manual, or own class]).
+latex_documents = [
+  ('index', 'reclass-doc.tex', u'reclass-doc Documentation',
+   u'reclass', 'manual'),
+]
+
+# The name of an image file (relative to this directory) to place at the top of
+# the title page.
+#latex_logo = None
+
+# For "manual" documents, if this is true, then toplevel headings are parts,
+# not chapters.
+#latex_use_parts = False
+
+# If true, show page references after internal links.
+#latex_show_pagerefs = False
+
+# If true, show URL addresses after external links.
+#latex_show_urls = False
+
+# Documents to append as an appendix to all manuals.
+#latex_appendices = []
+
+# If false, no module index is generated.
+#latex_domain_indices = True
+
+
+# -- Options for manual page output ---------------------------------------
+
+# One entry per manual page. List of tuples
+# (source start file, name, description, authors, manual section).
+man_pages = [
+    ('index', 'reclass-doc', u'reclass-doc Documentation',
+     [u'reclass'], 1)
+]
+
+# If true, show URL addresses after external links.
+#man_show_urls = False
+
+
+# -- Options for Texinfo output -------------------------------------------
+
+# Grouping the document tree into Texinfo files. List of tuples
+# (source start file, target name, title, author,
+#  dir menu entry, description, category)
+texinfo_documents = [
+  ('index', 'reclass-doc', u'reclass-doc Documentation',
+   u'reclass', 'reclass-doc', 'One line description of project.',
+   'Miscellaneous'),
+]
+
+# Documents to append as an appendix to all manuals.
+#texinfo_appendices = []
+
+# If false, no module index is generated.
+#texinfo_domain_indices = True
+
+# How to display URL addresses: 'footnote', 'no', or 'inline'.
+#texinfo_show_urls = 'footnote'
+
+# If true, do not generate a @detailmenu in the "Top" node's menu.
+#texinfo_no_detailmenu = False
\ No newline at end of file
diff --git a/sphinx/files/reclass/source/index.rst b/sphinx/files/reclass/source/index.rst
new file mode 100644
index 0000000..0685514
--- /dev/null
+++ b/sphinx/files/reclass/source/index.rst
@@ -0,0 +1,16 @@
+============================
+Reclass-driven Documentation
+============================
+
+Model-driven infrastructure documentation of salt-based system deployment.
+
+.. toctree::
+   :maxdepth: 2
+
+   overview/endpoints
+   overview/nodes
+   overview/services
+   {%- for node_name, node_grains in salt['mine.get']('*', 'grains.items').iteritems() %}
+   nodes/{{ node_name }}
+   {%- endfor %}
+
diff --git a/sphinx/files/reclass/source/nodes/node.rst b/sphinx/files/reclass/source/nodes/node.rst
new file mode 100644
index 0000000..db1fb1f
--- /dev/null
+++ b/sphinx/files/reclass/source/nodes/node.rst
@@ -0,0 +1,33 @@
+
+===============================================
+Node {{ node_name }}
+===============================================
+
+{%- if node_grains.get('sphinx_doc', {}) is not none %}
+
+{%- for service_name, service in node_grains.get('sphinx_doc', {}).iteritems() %}
+
+Service {{ service_name }}
+===============================================
+
+.. list-table::
+   :header-rows: 1
+
+   *  - **Service Role**
+      - **Parameter**
+      - **Value**
+{%- for role_name, role in service.role.iteritems() %}
+{%- for param_name, param in role.get('param', {}).iteritems() %}
+   *  - {{ service_name }}-{{ role_name }}
+      - {{ param_name }}
+      - {{ param.value }}
+{%- endfor %}
+{%- endfor %}
+
+{%- endfor %}
+
+{%- else %}
+
+This node has no documentation configured.
+
+{%- endif %}
diff --git a/sphinx/files/reclass/source/overview/endpoints.rst b/sphinx/files/reclass/source/overview/endpoints.rst
new file mode 100644
index 0000000..d13ad19
--- /dev/null
+++ b/sphinx/files/reclass/source/overview/endpoints.rst
@@ -0,0 +1,27 @@
+
+===============================
+Service Endpoints
+===============================
+
+Services exposed within configured infrastructure.
+
+.. list-table::
+   :header-rows: 1
+
+   *  - **Type**
+      - **Address**
+      - **Protocol**
+      - **Service**
+{%- for node_name, node_grains in salt['mine.get']('*', 'grains.items').iteritems() %}
+{%- for service_name, service in node_grains.get('sphinx_doc', {}).iteritems() %}
+{%- for role_name, role in service.role.iteritems() %}
+{%- for endpoint_name, endpoint in role.get('endpoint', {}).iteritems() %}
+   *  - {{ endpoint.type }}
+      - {{ endpoint.address }}
+      - {{ endpoint.protocol }}
+      - {{ service_name }}
+{%- endfor %}
+{%- endfor %}
+{%- endfor %}
+{%- endfor %}
+
diff --git a/sphinx/files/reclass/source/overview/nodes.rst b/sphinx/files/reclass/source/overview/nodes.rst
new file mode 100644
index 0000000..dcc3380
--- /dev/null
+++ b/sphinx/files/reclass/source/overview/nodes.rst
@@ -0,0 +1,24 @@
+
+===============================
+Infrastructure Nodes
+===============================
+
+Definition of all nodes within current infrastructure.
+
+.. list-table::
+   :header-rows: 1
+
+   *  - **Node FQDN**
+      - **IP Addresses**
+      - **Assigned Services**
+{%- for node_name, node_grains in salt['mine.get']('*', 'grains.items').iteritems() %}
+   *  - {{ node_name }}
+{%- if node_grains.sphinx_doc is defined %}
+      - {{ node_grains.ipv4 }}
+      - {% for service_name, service in node_grains.sphinx_doc.iteritems() %}{% for role_name, role in service.role.iteritems() %}{{ service_name }}-{{ role_name }} {% endfor %}{% endfor %}
+{%- else %}
+      - N/A
+      - N/A
+{%- endif %}
+{%- endfor %}
+
diff --git a/sphinx/files/reclass/source/overview/services.rst b/sphinx/files/reclass/source/overview/services.rst
new file mode 100644
index 0000000..7add482
--- /dev/null
+++ b/sphinx/files/reclass/source/overview/services.rst
@@ -0,0 +1,6 @@
+
+===============================
+Service Catalog
+===============================
+
+All services within the configured infrastructure.
diff --git a/sphinx/init.sls b/sphinx/init.sls
index 1620cee..2c88eac 100755
--- a/sphinx/init.sls
+++ b/sphinx/init.sls
@@ -1,5 +1,5 @@
 
 include:
-{% if pillar.sphinx.server is defined %}
+{%- if pillar.sphinx.server is defined %}
 - sphinx.server
-{% endif %}
+{%- endif %}
diff --git a/sphinx/server.sls b/sphinx/server.sls
index d222c64..9d9a8ae 100755
--- a/sphinx/server.sls
+++ b/sphinx/server.sls
@@ -28,26 +28,12 @@
   - require:
     - file: /srv/static/sites
 
+{%- if doc.source.engine == 'reclass' %}
+{%- include "sphinx/_reclass.sls" %}
+{%- endif -%}
+
 {%- if doc.source.engine == 'git' %}
-
-sphinx_source_{{ doc_name }}:
-  {{ doc.source.engine }}.latest:
-  - name: {{ doc.source.address }}
-  - target: /srv/static/extern/{{ doc_name }}
-  - rev: {{ doc.source.revision }}
-  - require:
-    - file: /srv/static/extern
-    - pkg: git_packages
-  - require_in:
-    - cmd: generate_sphinx_doc_{{ doc_name }}
-
-generate_sphinx_doc_{{ doc_name }}:
-  cmd.run:
-  - name: sphinx-build -b {{ doc.builder }} /srv/static/extern/{{ doc_name }}{% if doc.path is defined %}/{{ doc.path }}{% endif %} /srv/static/sites/{{ doc_name }}
-  - require:
-    - git: sphinx_source_{{ doc_name }}
-    - file: /srv/static/sites/{{ doc_name }}
-
+{%- include "sphinx/_git.sls" %}
 {%- endif -%}
 
 {%- if doc.source.engine == 'local' %}
