From 908daaa8d3e15218a374aaaa053079242e242682 Mon Sep 17 00:00:00 2001 From: philc Date: Wed, 31 May 2023 15:19:21 +0200 Subject: [PATCH] maj setup --- .gitignore | 1 - adminapi/bash/sftpaccounttotribe.sh | 68 +++++ adminapi/www/adminapx/conf/electedtowns.json | 1 - adminapi/www/adminapx/conf/initconf.json | 5 +- .../conf/nginxmodelwebsite.conf.mustache | 92 +++---- adminapi/www/adminapx/conf/setup_xx.json | 1 + adminapi/www/adminapx/index_en.html | 11 +- adminapi/www/adminapx/schema/towns.json | 28 +- .../static/js/{apxtribcli.js => apx.js} | 0 adminapi/www/adminapx/static/js/apxtowns.js | 19 +- adminapi/www/adminapx/static/js/apxtribes.js | 19 ++ .../static/tpl/devophostawebapp_en.mustache | 57 ++++ .../static/tpl/pagancreate_en.mustache | 2 +- ...mustache => paganloginoutASUP_en.mustache} | 0 .../adminapx/static/tpl/townowner_en.mustache | 46 ++++ .../adminapx/static/tpl/townsetup_en.mustache | 50 ---- api/models/Nations.js | 176 +++++++----- api/models/Odmdb.js | 150 ++++++++-- api/models/Pagans.js | 8 +- api/models/Setup.js | 148 ++++++---- apxtrib.js | 259 ++++++++++++++---- package.json | 1 + 22 files changed, 810 insertions(+), 332 deletions(-) create mode 100644 adminapi/bash/sftpaccounttotribe.sh delete mode 100644 adminapi/www/adminapx/conf/electedtowns.json create mode 100644 adminapi/www/adminapx/conf/setup_xx.json rename adminapi/www/adminapx/static/js/{apxtribcli.js => apx.js} (100%) create mode 100644 adminapi/www/adminapx/static/tpl/devophostawebapp_en.mustache rename adminapi/www/adminapx/static/tpl/{paganloginout_en.mustache => paganloginoutASUP_en.mustache} (100%) create mode 100644 adminapi/www/adminapx/static/tpl/townowner_en.mustache delete mode 100644 adminapi/www/adminapx/static/tpl/townsetup_en.mustache diff --git a/.gitignore b/.gitignore index 2230359..ca6ff3d 100755 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ /node_modules /nationchains /adminapi/www/nginx_adminapx.conf -/adminapi/www/adminapx/conf/setup_xx.json /yarn* diff --git a/adminapi/bash/sftpaccounttotribe.sh b/adminapi/bash/sftpaccounttotribe.sh new file mode 100644 index 0000000..5abc07a --- /dev/null +++ b/adminapi/bash/sftpaccounttotribe.sh @@ -0,0 +1,68 @@ +#!/bin/bash +# apXtrib +# @param action townId nationId tribeId appname user +# @return a symlink into /home/tribeId/www/appname to ~/workspace/townId-nationId/tribes/tribeId/www/appname +# @return a user is create to access in sftp the jail directory /home/tribeId/www/appname +# +# ./sftpaccounttotribe.sh wall ants smatchit smatchapp sagark + +@todo A faire +echo $1; +echo $2; +echo $3; +echo $4; +echo $5; +echo $6; + +create_sshspace () { + # To activate sftp only into towniD-natinId/tribes/tribeId/www + # Create a linux account with the name tribeId + # $ sudo useradd tribeId + # $ passwd tribeId + # $ cd ~/workspace/towniD-natinId/tribes/tribeId/www + # copy and past /bin dev/ /etc/ lib/ lib64/ + # in /bin cp /bin/bash or /bin/sh depending of /etc/passwd SHELL (check /etc/default/useradd to change if needed) + # to check dependance $ ldd /bin/bash + # cp all /lib/x... and all /lib64/ into ./ (add same folder name,...) + # in /dev : + # $ sudo mknod -m 666 null c 1 3;sudo mknod -m 666 tty c 5 0; sudo mknod -m 666 zero c 1 5; sudo mknod -m 666 random c 1 8; + # check they are root $ ls -ld ../ if not $ chown -R root:root /dev + # $ chmod -R 0755 /dev + #$ sudo cp /etc/passwd ./etc/ Need to do each new user + #$ sudo cp /etc/group ./etc/ Need to do each new user + + + + #sudo mkdir -p /home/tribeswww/smatchit/smatchapp + # cd /home/tribeswww/smatchit/smatchapp + # sudo vim + + # sudo mknod -m 666 null c 1 3;sudo mknod -m 666 tty c 5 0; sudo mknod -m 666 zero c 1 5; sudo mknod -m 666 random c 1 8; + # sudo chown root:root /home/tribeswww/smatchit/smatchapp + # sudo chmod 0755 /home/tribeswww/smatchit/smatchapp + # sudo mkdir -p /home/tribeswww/smatchit/smatchapp/bin + # sudo cp -v /bin/bash /home/tribeswww/smatchit/smatchapp/bin/ + # sudo mkdir -p /home/tribeswww/smatchit/smatchapp/lib64 + # check ldd /bin/bash + # sudo cp -v /lib64/{libtinfo.so.5,libdl.so.2,libc.so.6,ld-linux-x86-64.so.2} /home/tribeswww/smatchit/smatchapp/lib64/ + # sudo useradd smatchapp; + # sudo passwd smatchapp; + # sudo mkdir /home/tribeswww/smatchit/smatchapp/etc + # sudo cp -vf /etc/{passwd,group} /home/tribeswww/smatchit/smatchapp/etc/ (this have to be done each time a new user is create) + #sudo vim /etc/ssh/sshd_config + +} + +create_user (){ + # + # + # +} + +case "$1" in + 'add') + echo "" + create_user $5 + ;; +esac + diff --git a/adminapi/www/adminapx/conf/electedtowns.json b/adminapi/www/adminapx/conf/electedtowns.json deleted file mode 100644 index d929626..0000000 --- a/adminapi/www/adminapx/conf/electedtowns.json +++ /dev/null @@ -1 +0,0 @@ -["https://wallants.ndda.fr/nations/synchro"] \ No newline at end of file diff --git a/adminapi/www/adminapx/conf/initconf.json b/adminapi/www/adminapx/conf/initconf.json index 24553b3..f848ac5 100644 --- a/adminapi/www/adminapx/conf/initconf.json +++ b/adminapi/www/adminapx/conf/initconf.json @@ -1,8 +1,7 @@ { - "dns": ["adminapx"], + "dns": ["devfarm-ants"], "towns": [ - { "townId": "wall", "nationId": "ants", "url": "wall-ants.ndda.fr" }, - { "townId": "hill", "nationId": "ants", "url": "hill-ants.ndda.fr" } + { "townId": "wall", "nationId": "ants", "dns": "wall-ants.ndda.fr" } ], "api": { "port": 3020, diff --git a/adminapi/www/adminapx/conf/nginxmodelwebsite.conf.mustache b/adminapi/www/adminapx/conf/nginxmodelwebsite.conf.mustache index 58698b7..5d51eb9 100755 --- a/adminapi/www/adminapx/conf/nginxmodelwebsite.conf.mustache +++ b/adminapi/www/adminapx/conf/nginxmodelwebsite.conf.mustache @@ -1,49 +1,49 @@ server { - server_name {{#dns}} {{.}} {{/dns}}; - access_log {{{nginx.logs}}}.access.log main; +server_name {{#dns}} {{.}} {{/dns}}; +access_log {{{nginx.logs}}}.access.log main; - location ~* /nationchains/(schema|blocks|pagans|towns|nations)/ { - # Warning: never add tribes for keeping it private - root {{{dirapi}}}/; - } - - # /plugins/pluginame/components/xxx?plugin=pluginname&pluginkey=key - # acess if exist pluginkey - location /plugins/ { - add_header X-debug "plugins local $arg_plugin/keys/$arg_pluginkey sent"; - root {{{nginx.fswww}}}/plugins/; - if (-f {{{nginx.fswww}}}/plugins/$arg_plugin/keys/$arg_pluginkey) { - rewrite /plugins/([^/]+)/components/([^\?]+) /$1/components/$2 break; - } - return 403 "No valid token access for plugin:$arg_plugin with token:$arg_pluginkey please ask your admin"; - } - - location /cdn/ { - rewrite /cdn/(.*$) /$1 break; - root {{{nginx.fswww}}}www/cdn/; - } - - location /spacedev/ { - rewrite /spacedev/(.*$) /$1 break; - root {{{nginx.fswww}}}spacedev/{{{nginx.website}}}/dist/; - } - - location /api/ { - rewrite /api/(.*$) /$1 break; - proxy_pass http://localhost:{{{api.port}}}; - proxy_redirect off; - include proxy_params; - } - - location / { - root {{{nginx.fswww}}}/{{{nginx.website}}}; - index index.html {{{nginx.pageindex}}}; - } - error_page 404 /404.html; - # redirect server error pages to the static page /50x.html - # - error_page 500 502 503 504 /50x.html; - location = /50x.html { - root /usr/local/nginx/html; - } +location ~* /nationchains/(schema|blocks|pagans|towns|nations)/ { +# Warning: never add tribes for keeping it private +root {{{dirapi}}}/; } + +# /plugins/pluginame/components/xxx?plugin=pluginname&pluginkey=key +# acess if exist pluginkey +location /plugins/ { +add_header X-debug "plugins local $arg_plugin/keys/$arg_pluginkey sent"; +root {{{nginx.fswww}}}/plugins/; +if (-f {{{nginx.fswww}}}/plugins/$arg_plugin/keys/$arg_pluginkey) { +rewrite /plugins/([^/]+)/components/([^\?]+) /$1/components/$2 break; +} +return 403 "No valid token access for plugin:$arg_plugin with token:$arg_pluginkey please ask your admin"; +} + +location /cdn/ { +rewrite /cdn/(.*$) /$1 break; +root {{{nginx.fswww}}}/cdn/; +} + +location /spacedev/ { +rewrite /spacedev/(.*$) /$1 break; +root {{{nginx.fswww}}}spacedev/{{{nginx.website}}}/dist/; +} + +location /api/ { +rewrite /api/(.*$) /$1 break; +proxy_pass http://localhost:{{{api.port}}}; +proxy_redirect off; +include proxy_params; +} + +location / { +root {{{nginx.fswww}}}/{{{nginx.website}}}; +index index.html {{{nginx.pageindex}}}; +} +error_page 404 /404.html; +# redirect server error pages to the static page /50x.html +# +error_page 500 502 503 504 /50x.html; +location = /50x.html { +root /usr/local/nginx/html; +} +} \ No newline at end of file diff --git a/adminapi/www/adminapx/conf/setup_xx.json b/adminapi/www/adminapx/conf/setup_xx.json new file mode 100644 index 0000000..7464dc3 --- /dev/null +++ b/adminapi/www/adminapx/conf/setup_xx.json @@ -0,0 +1 @@ +{"nationId":"ants","townId":"devfarm","dns":["devfarm-ants"],"comment":"Auto generate setup from apxtrib after node apxtrib nationId:value townId:value dns:domaine_to_access"} diff --git a/adminapi/www/adminapx/index_en.html b/adminapi/www/adminapx/index_en.html index 9967182..be6ee10 100644 --- a/adminapi/www/adminapx/index_en.html +++ b/adminapi/www/adminapx/index_en.html @@ -31,7 +31,7 @@ - + @@ -47,7 +47,7 @@
+ add2data tpldata="conf/setup_xx.json">

apXtrib

Manage and understand apXtrib back-end

@@ -88,8 +88,8 @@