diff --git a/pillar/webserver/sites.sls b/pillar/webserver/sites.sls index 35c8c5d..1eefb4f 100644 --- a/pillar/webserver/sites.sls +++ b/pillar/webserver/sites.sls @@ -1,164 +1,168 @@ # ------------------------------------------------------------- # Salt — Sites to provision on the legacy web server # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Project: Nasqueron # License: Trivial work, not eligible to copyright # ------------------------------------------------------------- # ------------------------------------------------------------- # Domains we deploy # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - web_domains: # # Directly managed by Nasqueron # nasqueron: - nasqueron.org # # Nasqueron members # nasqueron_members: - dereckson.be # # Projects ICT is managed by Nasqueron # espacewin: - espace-win.org wolfplex: - wolfplex.org # ------------------------------------------------------------- # Static sites +# +# Sites to deploy from the staging repository # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - web_static_sites: nasqueron.org: - www - assets - docker - ftp - - infra - packages - trustspace wolfplex.org: - www # ------------------------------------------------------------- # PHP sites # # Username must be unique and use max 31 characters. # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - php_fpm_instances: # PHP 7.2, generally installed as package/port prod: command: /usr/local/sbin/php-fpm web_php_sites: # Nasqueron members mediawiki.dereckson.be: domain: dereckson.be subdomain: mediawiki user: web-be-dereckson-mw php-fpm: prod www.dereckson.be: domain: dereckson.be subdomain: www user: web-be-dereckson-www source: wwwroot/dereckson.be/www target: /var/wwwroot/dereckson.be/www php-fpm: prod # Directly managed by Nasqueron api.nasqueron.org: domain: nasqueron.org subdomain: api user: web-org-nasqueron-api-serverslog php-fpm: prod env: SERVERS_LOG_FILE: /srv/api/data/servers-log-all.json wikis.nasqueron.org: domain: nasqueron.org subdomain: wikis user: mediawiki php-fpm: prod skipCreateAccount: True env: MEDIAWIKI_ENTRY_POINT: /srv/mediawiki/index.php DB_HOST: localhost DB_USER: mediawiki-saas # Espace Win www.espace-win.org: domain: espace-win.org subdomain: www user: web-org-espacewin-www source: wwwroot/espace-win.org/www target: /var/wwwroot/espace-win.org/www php-fpm: prod # Wolfplex Hackerspace www.wolfplex.org: domain: wolfplex.org subdomain: www user: web-org-wolfplex-www php-fpm: prod env: DATASTORE: /var/dataroot/wolfplex CREDENTIAL_PATH_DATASOURCES_SECURITYDATA: /var/dataroot/wolfplex/secrets.json # ------------------------------------------------------------- # States # # Sites with states documenting how to build them # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - web_content_sls: # # Eglide # shellserver: # Third party sites hosted to Eglide - .com/paysannerebelle # Directly managed by Eglide project - .org/eglide # # Nasqueron servers # mastodon: - .org/nasqueron/social webserver-legacy: # Nasqueron members - .be/dereckson # Projects hosted - .space/hypership # Directly managed by Nasqueron - .org/nasqueron/api + - .org/nasqueron/daeghrefn - .org/nasqueron/docs + - .org/nasqueron/infra - .org/nasqueron/labs + - .org/nasqueron/rain # Wolfplex Hackerspace - .org/wolfplex/api - .org/wolfplex/www # ------------------------------------------------------------- # Tweaks # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - web_autochmod: - /var/wwwroot/dereckson.be/www diff --git a/roles/webserver-content/org/nasqueron/daeghrefn.sls b/roles/webserver-content/org/nasqueron/daeghrefn.sls new file mode 100644 index 0000000..f89b309 --- /dev/null +++ b/roles/webserver-content/org/nasqueron/daeghrefn.sls @@ -0,0 +1,29 @@ +# ------------------------------------------------------------- +# Salt — Provision daeghrefn.nasqueron.org website +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# Project: Nasqueron +# License: Trivial work, not eligible to copyright +# ------------------------------------------------------------- + +{% if salt['node.has_web_content'](".org/nasqueron/rain") %} + +# ------------------------------------------------------------- +# Base directory +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +/var/wwwroot/nasqueron.org/daeghrefn: + file.directory: + - user: deploy + - group: web + - dir_mode: 755 + +# ------------------------------------------------------------- +# Deploy rRAIN +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +www_daeghrefn_build: + module.run: + - name: jenkins.build_job + - m_name: deploy-website-nasqueron-www1-daeghrefn + +{% endif %} diff --git a/roles/webserver-content/org/nasqueron/docs.sls b/roles/webserver-content/org/nasqueron/docs.sls index 7b690a0..ca9a9d3 100644 --- a/roles/webserver-content/org/nasqueron/docs.sls +++ b/roles/webserver-content/org/nasqueron/docs.sls @@ -1,92 +1,101 @@ # ------------------------------------------------------------- # Salt — Provision docs.nasqueron.org website # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Project: Nasqueron # License: Trivial work, not eligible to copyright # ------------------------------------------------------------- {% if salt['node.has_web_content'](".org/nasqueron/docs") %} {% from "map.jinja" import dirs, packages with context %} # ------------------------------------------------------------- # Base directory # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /var/wwwroot/nasqueron.org/docs: file.directory: - user: deploy - group: web - dir_mode: 755 # ------------------------------------------------------------- # Software to build the docs # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sphinx: pkg.installed: - name: {{ packages.sphinx }} {{ dirs.bin }}/deploy-docker-registry-api-doc: file.managed: - source: salt://roles/webserver-content/org/nasqueron/files/build-docs-salt-wrapper.sh - user: deploy - mode: 755 +# ------------------------------------------------------------- +# Deploy rDWWW as docs.n.o homepage and assets +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +www_docs_build: + module.run: + - name: jenkins.build_job + - m_name: deploy-website-nasqueron-www1-docs + # ------------------------------------------------------------- # 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/webserver-legacy/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 # ------------------------------------------------------------- # Deploy a rLF docs dir HTML build to docs.n.o/limiting-factor # # Job: https://cd.nasqueron.org/job/limiting-factor-doc/ # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /var/wwwroot/nasqueron.org/docs/limiting-factor/rust: file.directory: - user: deploy - group: web - dir_mode: 755 - makedirs: True limiting_factor_doc_build: module.run: - name: jenkins.build_job - m_name: limiting-factor-doc # ------------------------------------------------------------- # Deploy a rAPIREG docs dir HTML build to docs.n.o/docker-registry-api # # Job: https://cd.nasqueron.org/job/docker-registry-api-doc/ # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /var/wwwroot/nasqueron.org/docs/docker-registry-api/rust: file.directory: - user: deploy - group: web - dir_mode: 755 - makedirs: True docker_registry_api_doc_build: module.run: - name: jenkins.build_job - m_name: docker-registry-api {% endif %} diff --git a/roles/webserver-content/org/nasqueron/infra.sls b/roles/webserver-content/org/nasqueron/infra.sls new file mode 100644 index 0000000..888d5c9 --- /dev/null +++ b/roles/webserver-content/org/nasqueron/infra.sls @@ -0,0 +1,29 @@ +# ------------------------------------------------------------- +# Salt — Provision infra.nasqueron.org website +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# Project: Nasqueron +# License: Trivial work, not eligible to copyright +# ------------------------------------------------------------- + +{% if salt['node.has_web_content'](".org/nasqueron/infra") %} + +# ------------------------------------------------------------- +# Base directory +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +/var/wwwroot/nasqueron.org/infra: + file.directory: + - user: deploy + - group: web + - dir_mode: 755 + +# ------------------------------------------------------------- +# Deploy rRAIN +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +www_infra_build: + module.run: + - name: jenkins.build_job + - m_name: deploy-website-nasqueron-www1-infra + +{% endif %} diff --git a/roles/webserver-content/org/nasqueron/rain.sls b/roles/webserver-content/org/nasqueron/rain.sls new file mode 100644 index 0000000..9606901 --- /dev/null +++ b/roles/webserver-content/org/nasqueron/rain.sls @@ -0,0 +1,29 @@ +# ------------------------------------------------------------- +# Salt — Provision rain.nasqueron.org website +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# Project: Nasqueron +# License: Trivial work, not eligible to copyright +# ------------------------------------------------------------- + +{% if salt['node.has_web_content'](".org/nasqueron/rain") %} + +# ------------------------------------------------------------- +# Base directory +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +/var/wwwroot/nasqueron.org/rain: + file.directory: + - user: deploy + - group: web + - dir_mode: 755 + +# ------------------------------------------------------------- +# Deploy rRAIN +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +www_rain_build: + module.run: + - name: jenkins.build_job + - m_name: deploy-website-nasqueron-www1-rain + +{% endif %}