Page MenuHomeDevCentral

No OneTemporary

diff --git a/pillar/webserver/sites.sls b/pillar/webserver/sites.sls
index 1d6ba27..5b6fee6 100644
--- a/pillar/webserver/sites.sls
+++ b/pillar/webserver/sites.sls
@@ -1,141 +1,143 @@
# -------------------------------------------------------------
# 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
#
# Wolfplex
#
wolfplex:
- wolfplex.org
# -------------------------------------------------------------
# Static sites
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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: 127.0.0.1
DB_USER: mediawiki-saas
# 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
# Directly managed by Nasqueron
- .org/nasqueron/api
- .org/nasqueron/docs
- .org/nasqueron/labs
# Wolfplex Hackerspace
+ - .org/wolfplex/api
- .org/wolfplex/www
# -------------------------------------------------------------
# Tweaks
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
web_autochmod:
- /var/wwwroot/dereckson.be/www
diff --git a/pillar/webserver/wwwroot51.sls b/pillar/webserver/wwwroot51.sls
index 08cd799..a2792f0 100644
--- a/pillar/webserver/wwwroot51.sls
+++ b/pillar/webserver/wwwroot51.sls
@@ -1,32 +1,36 @@
# -------------------------------------------------------------
# Salt — Sites to provision on the devserver wwwroot51
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Project: Nasqueron
# License: Trivial work, not eligible to copyright
# -------------------------------------------------------------
wwwroot51_basedir: /var/51-wwwroot
wwwroot51_directories:
api:
user: dereckson
group: dereckson
repository: ssh://vcs@devcentral.nasqueron.org:5022/source/api.git
mediawiki-dereckson:
user: dereckson
group: dereckson
rain:
user: dereckson
group: dereckson
saas-mediawiki:
user: dereckson
group: mediawiki
repository: ssh://vcs@devcentral.nasqueron.org:5022/source/saas-mediawiki.git
tools:
user: dereckson
group: dereckson
repository: ssh://vcs@devcentral.nasqueron.org:5022/source/tools.git
+ wolfplex-api:
+ user: dereckson
+ group: dereckson
+ repository: git@github.com:wolfplex/api-www.git
www:
user: dereckson
group: dereckson
repository: ssh://vcs@devcentral.nasqueron.org:5022/source/www.git
diff --git a/roles/webserver-content/org/wolfplex/api.sls b/roles/webserver-content/org/wolfplex/api.sls
new file mode 100644
index 0000000..5b8fcf9
--- /dev/null
+++ b/roles/webserver-content/org/wolfplex/api.sls
@@ -0,0 +1,43 @@
+# -------------------------------------------------------------
+# Salt — Provision api.wolfplex.org website
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# Project: Wolfplex
+# License: Trivial work, not eligible to copyright
+# -------------------------------------------------------------
+
+{% if salt['node.has_web_content'](".org/wolfplex/api") %}
+
+# -------------------------------------------------------------
+# Base part
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+/var/wwwroot/wolfplex.org/api:
+ file.recurse:
+ - source: salt://wwwroot/wolfplex.org/api
+ - exclude_pat: E@.git
+ - include_empty: True
+ - clean: False
+ - dir_mode: 755
+ - file_mode: 644
+ - user: web-org-wolfplex-www
+ - group: web
+
+# -------------------------------------------------------------
+# Deployment
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+wolfplex_api_dependencies:
+ cmd.run:
+ - name: composer install
+ - runas: web-org-wolfplex-www
+ - cwd: /var/wwwroot/wolfplex.org/api
+ - creates: /var/wwwroot/wolfplex.org/api/vendor
+
+wolfplex_api_kibaone_accents:
+ cmd.run:
+ - name: make
+ - runas: web-org-wolfplex-www
+ - cwd: /var/wwwroot/wolfplex.org/api/design/kibaone/accents
+ - creates: /var/wwwroot/wolfplex.org/api/design/kibaone/accents/index.json
+
+{% endif %}
diff --git a/roles/webserver-legacy/nginx/files/vhosts/wolfplex.org/api.conf b/roles/webserver-legacy/nginx/files/vhosts/wolfplex.org/api.conf
new file mode 100644
index 0000000..1b4f93a
--- /dev/null
+++ b/roles/webserver-legacy/nginx/files/vhosts/wolfplex.org/api.conf
@@ -0,0 +1,117 @@
+# -------------------------------------------------------------
+# Webserver
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# Project: Wolfplex
+# Site: api.wolfplex.org
+# License: Trivial work, not eligible to copyright
+# Source file: roles/webserver-legacy/nginx/files/vhosts/wolfplex.org/api.conf
+# -------------------------------------------------------------
+#
+# <auto-generated>
+# This file is managed by our rOPS SaltStack repository.
+#
+# Changes to this file may cause incorrect behavior
+# and will be lost if the state is redeployed.
+# </auto-generated>
+
+# -------------------------------------------------------------
+# Production API
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+server {
+ server_name api.wolfplex.org;
+
+ include includes/tls;
+ ssl_certificate /usr/local/etc/letsencrypt/live/api.wolfplex.org/fullchain.pem;
+ ssl_certificate_key /usr/local/etc/letsencrypt/live/api.wolfplex.org/privkey.pem;
+
+ error_log /var/log/www/wolfplex.org/api-error.log;
+ access_log /var/log/www/wolfplex.org/api-access.log;
+
+ root /var/wwwroot/wolfplex.org/api;
+ index index.json index.php index.html;
+
+ location ~ [^/]\.json(/|$) {
+ include includes/cors-open;
+ }
+
+ location ~ \.php$ {
+ fastcgi_pass unix:/var/run/web/www.wolfplex.org/php-fpm.sock;
+ fastcgi_index index.php;
+ fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
+ include includes/fastcgi_params;
+ }
+}
+
+# -------------------------------------------------------------
+# Staging API
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+server {
+ server_name api51.wolfplex.org;
+
+ include includes/tls;
+ ssl_certificate /usr/local/etc/letsencrypt/live/api.wolfplex.org/fullchain.pem;
+ ssl_certificate_key /usr/local/etc/letsencrypt/live/api.wolfplex.org/privkey.pem;
+
+ error_log /var/log/www/wolfplex.org/api51-error.log;
+ access_log /var/log/www/wolfplex.org/api51-access.log;
+
+ root /var/51-wwwroot/wolfplex-api;
+ index index.json index.php index.html;
+
+ location ~ [^/]\.json(/|$) {
+ include includes/cors-open;
+ }
+
+ location ~ \.php$ {
+ fastcgi_pass unix:/var/run/web/www.wolfplex.org/php-fpm.sock;
+ fastcgi_index index.php;
+ fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
+ include includes/fastcgi_params;
+ }
+}
+
+# -------------------------------------------------------------
+# Redirects for http:// or .be to https://...org
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+server {
+ listen 80;
+ listen [::]:80;
+ server_name api.wolfplex.org api.wolfplex.be;
+
+ include includes/letsencrypt;
+
+ return 301 https://api.wolfplex.org$request_uri;
+}
+
+server {
+ listen 80;
+ listen [::]:80;
+ server_name api51.wolfplex.org api51.wolfplex.be;
+
+ include includes/letsencrypt;
+
+ return 301 https://api51.wolfplex.org$request_uri;
+}
+
+server {
+ server_name api.wolfplex.be;
+
+ include includes/tls;
+ ssl_certificate /usr/local/etc/letsencrypt/live/api.wolfplex.org/fullchain.pem;
+ ssl_certificate_key /usr/local/etc/letsencrypt/live/api.wolfplex.org/privkey.pem;
+
+ return 301 https://api.wolfplex.org$request_uri;
+}
+
+server {
+ server_name api51.wolfplex.be;
+
+ include includes/tls;
+ ssl_certificate /usr/local/etc/letsencrypt/live/api.wolfplex.org/fullchain.pem;
+ ssl_certificate_key /usr/local/etc/letsencrypt/live/api.wolfplex.org/privkey.pem;
+
+ return 301 https://api51.wolfplex.org$request_uri;
+}

File Metadata

Mime Type
text/x-diff
Expires
Mon, Feb 2, 15:10 (6 h, 10 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3406123
Default Alt Text
(10 KB)

Event Timeline