Overhaul documentation generation
diff --git a/sphinx/_reclass.sls b/sphinx/_reclass.sls
deleted file mode 100644
index 6dec7c5..0000000
--- a/sphinx/_reclass.sls
+++ /dev/null
@@ -1,86 +0,0 @@
-
-reclass_doc_dirs:
- file.directory:
- - names:
- - /srv/static/extern/reclass/source/_static
- - /srv/static/extern/reclass/source/services
- - /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/services/index.rst:
- file.managed:
- - source: salt://sphinx/files/reclass/source/services/index.rst
- - template: jinja
- - mode: 644
- - require:
- - file: reclass_doc_dirs
-
-/srv/static/extern/reclass/source/services/endpoints.rst:
- file.managed:
- - source: salt://sphinx/files/reclass/source/services/endpoints.rst
- - template: jinja
- - mode: 644
- - require:
- - file: reclass_doc_dirs
-
-/srv/static/extern/reclass/source/services/catalog.rst:
- file.managed:
- - source: salt://sphinx/files/reclass/source/services/catalog.rst
- - template: jinja
- - mode: 644
- - require:
- - file: reclass_doc_dirs
-
-/srv/static/extern/reclass/source/nodes/index.rst:
- file.managed:
- - source: salt://sphinx/files/reclass/source/nodes/index.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/_salt.sls b/sphinx/_salt.sls
new file mode 100644
index 0000000..f61cc8b
--- /dev/null
+++ b/sphinx/_salt.sls
@@ -0,0 +1,96 @@
+
+salt_mine_doc_dirs:
+ file.directory:
+ - names:
+ - /srv/static/extern/salt/source/_static
+ - /srv/static/extern/salt/source/services
+ - /srv/static/extern/salt/source/nodes
+ - /srv/static/extern/salt/source/devices
+ - user: root
+ - mode: 755
+ - makedirs: true
+
+/srv/static/extern/salt/Makefile:
+ file.managed:
+ - source: salt://sphinx/files/salt/Makefile
+ - mode: 644
+ - require:
+ - file: salt_mine_doc_dirs
+
+/srv/static/extern/salt/source/conf.py:
+ file.managed:
+ - source: salt://sphinx/files/salt/source/conf.py
+ - mode: 644
+ - require:
+ - file: salt_mine_doc_dirs
+
+/srv/static/extern/salt/source/index.rst:
+ file.managed:
+ - source: salt://sphinx/files/salt/source/index.rst
+ - template: jinja
+ - mode: 644
+ - require:
+ - file: salt_mine_doc_dirs
+ - defaults:
+ doc_name: "{{ doc_name }}"
+
+/srv/static/extern/salt/source/services/index.rst:
+ file.managed:
+ - source: salt://sphinx/files/salt/source/services/index.rst
+ - template: jinja
+ - mode: 644
+ - require:
+ - file: salt_mine_doc_dirs
+ - defaults:
+ doc_name: "{{ doc_name }}"
+
+/srv/static/extern/salt/source/services/endpoints.rst:
+ file.managed:
+ - source: salt://sphinx/files/salt/source/services/endpoints.rst
+ - template: jinja
+ - mode: 644
+ - require:
+ - file: salt_mine_doc_dirs
+ - defaults:
+ doc_name: "{{ doc_name }}"
+
+/srv/static/extern/salt/source/services/catalog.rst:
+ file.managed:
+ - source: salt://sphinx/files/salt/source/services/catalog.rst
+ - template: jinja
+ - mode: 644
+ - require:
+ - file: salt_mine_doc_dirs
+ - defaults:
+ doc_name: "{{ doc_name }}"
+
+/srv/static/extern/salt/source/nodes/index.rst:
+ file.managed:
+ - source: salt://sphinx/files/salt/source/nodes/index.rst
+ - template: jinja
+ - mode: 644
+ - require:
+ - file: salt_mine_doc_dirs
+ - defaults:
+ doc_name: "{{ doc_name }}"
+
+{%- for node_name, node_grains in salt['mine.get']('*', 'grains.items').iteritems() %}
+
+/srv/static/extern/salt/source/nodes/{{ node_name }}.rst:
+ file.managed:
+ - source: salt://sphinx/files/salt/source/nodes/node.rst
+ - template: jinja
+ - mode: 644
+ - require:
+ - file: salt_mine_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/salt/source /srv/static/sites/{{ doc_name }}
+ - require:
+ - file: /srv/static/sites/{{ doc_name }}
diff --git a/sphinx/files/reclass/source/index.rst b/sphinx/files/reclass/source/index.rst
deleted file mode 100644
index 0cb6c78..0000000
--- a/sphinx/files/reclass/source/index.rst
+++ /dev/null
@@ -1,11 +0,0 @@
-============================
-Reclass-driven Documentation
-============================
-
-Model-driven infrastructure documentation of salt-based system deployment.
-
-.. toctree::
- :maxdepth: 2
-
- services/index
- nodes/index
diff --git a/sphinx/files/reclass/Makefile b/sphinx/files/salt/Makefile
similarity index 100%
rename from sphinx/files/reclass/Makefile
rename to sphinx/files/salt/Makefile
diff --git a/sphinx/files/reclass/source/conf.py b/sphinx/files/salt/source/conf.py
similarity index 100%
rename from sphinx/files/reclass/source/conf.py
rename to sphinx/files/salt/source/conf.py
diff --git a/sphinx/files/salt/source/index.rst b/sphinx/files/salt/source/index.rst
new file mode 100644
index 0000000..b505b4c
--- /dev/null
+++ b/sphinx/files/salt/source/index.rst
@@ -0,0 +1,17 @@
+{%- set doc = salt['pillar.get']('sphinx:server:doc:'+doc_name) %}
+
+=============================================================================================
+{% if doc.title is defined %}{{ doc.title }}{% else %}Model-Driven Documentation{% endif %}
+=============================================================================================
+
+{%- if doc.description is defined %}
+{{ doc.description }}
+{%- else %}
+Model-driven documentation of SaltStack infrastructure deployment.
+{%- endif %}
+
+.. toctree::
+ :maxdepth: 2
+
+ services/index
+ nodes/index
diff --git a/sphinx/files/reclass/source/nodes/index.rst b/sphinx/files/salt/source/nodes/index.rst
similarity index 100%
rename from sphinx/files/reclass/source/nodes/index.rst
rename to sphinx/files/salt/source/nodes/index.rst
diff --git a/sphinx/files/reclass/source/nodes/node.rst b/sphinx/files/salt/source/nodes/node.rst
similarity index 100%
rename from sphinx/files/reclass/source/nodes/node.rst
rename to sphinx/files/salt/source/nodes/node.rst
diff --git a/sphinx/files/reclass/source/services/catalog.rst b/sphinx/files/salt/source/services/catalog.rst
similarity index 66%
rename from sphinx/files/reclass/source/services/catalog.rst
rename to sphinx/files/salt/source/services/catalog.rst
index 265dc1d..add93ea 100644
--- a/sphinx/files/reclass/source/services/catalog.rst
+++ b/sphinx/files/salt/source/services/catalog.rst
@@ -3,19 +3,21 @@
Service Catalog
===============================
-All service definitions of configured infrastructure.
+All used services within configured infrastructure.
+
+{%- set services = {} %}
+{%- for node_name, node_grains in salt['mine.get']('*', 'grains.items').iteritems() %}
+{%- if node_grains.get('sphinx_doc', {}) != None %}
+{%- set _dummy = services.update(node_grains.get('sphinx', {}).get('doc', {})) %}
+{%- endif %}
+{%- endfor %}
.. list-table::
:widths: 20 80
:header-rows: 1
-
* - **Service**
- **Description**
-{%- for node_name, node_grains in salt['mine.get']('*', 'grains.items').iteritems() %}
-{%- if node_grains.get('sphinx_doc', {}) != None %}
-{%- for service_name, service in node_grains.get('sphinx', {}).get('doc', {}).iteritems() %}
+{%- for service_name, service in services.iteritems() %}
* - {{ service.name }}
- {{ service.get('description', '') }}
{%- endfor %}
-{%- endif %}
-{%- endfor %}
diff --git a/sphinx/files/reclass/source/services/endpoints.rst b/sphinx/files/salt/source/services/endpoints.rst
similarity index 100%
rename from sphinx/files/reclass/source/services/endpoints.rst
rename to sphinx/files/salt/source/services/endpoints.rst
diff --git a/sphinx/files/reclass/source/services/index.rst b/sphinx/files/salt/source/services/index.rst
similarity index 100%
rename from sphinx/files/reclass/source/services/index.rst
rename to sphinx/files/salt/source/services/index.rst
diff --git a/sphinx/server.sls b/sphinx/server.sls
index 9d9a8ae..8d01129 100755
--- a/sphinx/server.sls
+++ b/sphinx/server.sls
@@ -28,8 +28,8 @@
- require:
- file: /srv/static/sites
-{%- if doc.source.engine == 'reclass' %}
-{%- include "sphinx/_reclass.sls" %}
+{%- if doc.source.engine in ['reclass', 'salt-mine'] %}
+{%- include "sphinx/_salt.sls" %}
{%- endif -%}
{%- if doc.source.engine == 'git' %}