diff --git a/map.jinja b/map.jinja index 18a2282..3667b54 100644 --- a/map.jinja +++ b/map.jinja @@ -1,36 +1,51 @@ {% set dirs = salt['grains.filter_by']({ 'Debian': { 'etc': '/etc', 'bin': '/usr/bin', 'include': '/usr/include', 'lib': '/usr/lib', }, 'FreeBSD' : { 'etc': '/usr/local/etc', 'bin': '/usr/local/bin', 'include': '/usr/local/include', 'lib': '/usr/local/lib', }, }, default='Debian') %} {% set services = salt['grains.filter_by']({ 'Debian': { 'manager': 'systemd', }, 'FreeBSD' : { 'manager': 'rc', }, }, default='Debian') %} {% set shells = salt['grains.filter_by']({ 'Debian': { 'bash': '/bin/bash', 'fish': '/usr/bin/fish', 'tcsh': '/usr/bin/tcsh', }, 'FreeBSD' : { 'bash': '/usr/local/bin/bash', 'fish': '/usr/local/bin/fish', 'tcsh': '/bin/tcsh', }, }, default='Debian') %} + +{% set packages = salt['grains.filter_by']({ + 'Debian' : { + 'sphinx': 'python3-sphinx', + }, + 'RedHat': { + 'sphinx': 'python3-sphinx', + }, + 'Arch': { + 'sphinx': 'python-sphinx', + }, + 'FreeBSD' : { + 'sphinx': 'py27-sphinx', + }, +}, default='Debian') %} diff --git a/roles/legacy-webserver/init.sls b/roles/legacy-webserver/init.sls index e93350e..3cece19 100644 --- a/roles/legacy-webserver/init.sls +++ b/roles/legacy-webserver/init.sls @@ -1,11 +1,12 @@ # ------------------------------------------------------------- # Salt — Sites to provision on the legacy web server # # Currently, this is deployed to ysul.nasqueron.org # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Project: Nasqueron # License: Trivial work, not eligible to copyright # ------------------------------------------------------------- include: - .be/dereckson + - .org/nasqueron diff --git a/roles/legacy-webserver/org/nasqueron/docs.sls b/roles/legacy-webserver/org/nasqueron/docs.sls new file mode 100644 index 0000000..a40c96f --- /dev/null +++ b/roles/legacy-webserver/org/nasqueron/docs.sls @@ -0,0 +1,36 @@ +# ------------------------------------------------------------- +# Salt — Provision docs.nasqueron.org website +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# Project: Nasqueron +# License: Trivial work, not eligible to copyright +# ------------------------------------------------------------- + +{% from "map.jinja" import packages with context %} + +# ------------------------------------------------------------- +# Deploy a rSW docs dir HTML build to docs.n.o/salt-wrapper +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +/var/wwwroot/nasqueron.org/docs/salt-wrapper: + file.directory: + - user: deploy + - group: web + - dir_mode: 755 + +salt_wrapper_doc_build: + cmd.script: + - source: salt://roles/legacy-webserver/org/nasqueron/files/build-docs-salt-wrapper.sh + - args: /var/wwwroot/nasqueron.org/docs/salt-wrapper + - cwd: /tmp + - runas: deploy + - require: + - file: /var/wwwroot/nasqueron.org/docs/salt-wrapper + - pkg: sphinx + +# ------------------------------------------------------------- +# Software to build the docs +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +sphinx: + pkg.installed: + - name: {{ packages.sphinx }} diff --git a/roles/legacy-webserver/org/nasqueron/files/build-docs-salt-wrapper.sh b/roles/legacy-webserver/org/nasqueron/files/build-docs-salt-wrapper.sh new file mode 100644 index 0000000..d663604 --- /dev/null +++ b/roles/legacy-webserver/org/nasqueron/files/build-docs-salt-wrapper.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +# The salt-wrapper documentation is stored in the main repository +git clone https://devcentral.nasqueron.org/source/salt-wrapper.git + +# Build documentation +cd salt-wrapper/docs || exit 1 +make html + +# Deploy +mv _build/html/* "$1" + +# Clean +cd ../.. || exit 2 +rm -rf salt-wrapper diff --git a/roles/legacy-webserver/init.sls b/roles/legacy-webserver/org/nasqueron/init.sls similarity index 69% copy from roles/legacy-webserver/init.sls copy to roles/legacy-webserver/org/nasqueron/init.sls index e93350e..10c4a70 100644 --- a/roles/legacy-webserver/init.sls +++ b/roles/legacy-webserver/org/nasqueron/init.sls @@ -1,11 +1,9 @@ # ------------------------------------------------------------- -# Salt — Sites to provision on the legacy web server -# -# Currently, this is deployed to ysul.nasqueron.org +# Salt — Provision *.nasqueron.org sites # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Project: Nasqueron # License: Trivial work, not eligible to copyright # ------------------------------------------------------------- include: - - .be/dereckson + - .docs