Page Menu
Home
DevCentral
Search
Configure Global Search
Log In
Files
F22790420
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
10 KB
Referenced Files
None
Subscribers
None
View Options
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
Details
Attached
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)
Attached To
Mode
rOPS Nasqueron Operations
Attached
Detach File
Event Timeline
Log In to Comment