Commit 0c767bd4 authored by Mohamed, Fawzi Roberto (fawzi)'s avatar Mohamed, Fawzi Roberto (fawzi)
Browse files

frontend moved to spearate git submodule

parent 48cf4d9e
......@@ -241,3 +241,6 @@
[submodule "parsers/openkim"]
path = parsers/openkim
url = ../parser-openkim.git
[submodule "frontend-nginx"]
path = frontend-nginx
url = ../frontend-nginx.git
from labdev-nomad.container
cd /nomad/nomadlab/servers/nomad-vis-test/analytics/remotevis
Update info on services of labdev that we use as we share the session db (we should probably clean up this ugly command)
kubectl exec -ti $(kubectl get po | grep nomad-container-manager-beaker | cut -f1 -d ' ') node app.js serviceDumper -- --out-file labdev-nomad.services.yaml
update config with current info on the redis dbs of labdev (default-remotevis.hjson.in -> default-remotevis.hjson)
docker run -ti -v $PWD:/usr/src/app -v /nomad/nomadlab/servers/labdev-nomad/analytics/beaker:/mnt -w /usr/src/app --rm node:carbon node app.js templateEvaluer --replacements /mnt/labdev-nomad.services.yaml --template config/nomad-vis-test.hjson.in --out-file config/nomad-vis-test.hjson
deploy
./deploy.sh --tls --env nomad-vis-test --target-hostname nomad-vis-test --secret-web-certs web-certs
and execute the deploy for remote vis
kubectl create -f container-manager-service-remotevis.yaml
if ! kubectl get deployment nomad-container-manager-remotevis >& /dev/null ; then
kubectl create --save-config -f container-manager-deploy-remotevis.yaml
else
kubectl apply -f container-manager-deploy-remotevis.yaml
fi
if only that changed, otherwise on has also to create the secrets and analytics namespace.
A serviceDump has to be run to reexport the ports to the frontend, then the frontend setup needs to be updated.
---
frontend:
- server_name: labdev-nomad.esc.rzg.mpg.de
ssl_certificate: /web-certs/cert.pem
ssl_certificate_key: /web-certs/key.pem
shortcuts: true
repoapi:
- nodes:
- staging-nomad.esc.rzg.mpg.de
ports:
- nodePort: 8111
industry-project-imeall:
- nodes:
- labdev-nomad.esc.rzg.mpg.de
ports:
- nodePort: 34695
---
frontend:
server_name: analytics-toolkit.nomad-coe.eu
other_servers: |
server {
listen 80;
server_name labtest-nomad.esc.rzg.mpg.de;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name labtest-nomad.esc.rzg.mpg.de;
ssl_certificate /certs/cert-8701391933287641330712620431.pem;
ssl_certificate_key /certs/labtest-nomad.esc.rzg.mpg.de.key;
return 301 https://analytics-toolkit.nomad-coe.eu/$request_uri;
}
shortcuts: true
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
#gzip on;
tcp_nopush on;
# i tried setting to 0 and removing the keepalive timer from the ipython client.
# but it did not fix the problem.
#keepalive_timeout 0;
keepalive_timeout 1000;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 1000000;
proxy_buffers 32 4k;
client_max_body_size 100M;
client_body_buffer_size 128k;
client_body_temp_path "client_temp";
proxy_temp_path "client_temp";
fastcgi_temp_path "client_temp";
uwsgi_temp_path "client_temp";
scgi_temp_path "client_temp";
server {
autoindex off;
# enable requests for specific instances in multi-user environments
# where a request could be routed to one of many server instances
# /beaker/<uuid>/foo -> /foo
listen 0.0.0.0:443 ssl;
server_name labdev-nomad.esc.rzg.mpg.de;
#server_name 7741588557007104
ssl_certificate /certs/cert-7741588557007104.pem;
ssl_certificate_key /certs/pkey.pem;
#ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#ssl_ciphers HIGH:!aNULL:!MD5;
# redirect server error pages to the static page /50x.html and serve them directly from static html directory
error_page 500 502 503 504 /static/50x.html;
location /nexus/ {
proxy_pass http://labdev3-nomad.esc.rzg.mpg.de:30788;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto "https";
}
# login and loginrest are used for the public server option
location /loginrest/ {
proxy_pass https://labdev-nomad.esc.rzg.mpg.de:9124;
}
# start remote vis
location /websockify {
proxy_http_version 1.1;
proxy_pass https://nomad-vis-test.esc.rzg.mpg.de:30890/;
#proxy_pass http://nomad-vis-test.esc.rzg.mpg.de:8809/;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# VNC connection timeout
proxy_read_timeout 61s;
# Disable cache
proxy_buffering off;
}
location = /vnc.html {
return 301 $scheme://$server_name/remotevis/vnc.html;
}
location /remotevis/ {
proxy_pass https://nomad-vis-test.esc.rzg.mpg.de:30890/;
#proxy_pass http://nomad-vis-test.esc.rzg.mpg.de:8809/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
# end remote vis
location /personal/ {
#proxy_pass http://130.183.207.77:8888;
alias "/usr/share/nginx/html/personal/";
try_files $uri $uri/ /personal/index.html;
}
location = /personalember-cli-live-reload.js {
proxy_pass http://130.183.207.77:8888;
#alias "/usr/share/nginx/html/personal/";
#try_files $uri $uri/ /personal/index.html;
}
location = /livereload.js {
proxy_pass http://130.183.207.77:8888;
#alias "/usr/share/nginx/html/personal/";
#try_files $uri $uri/ /personal/index.html;
}
location = /login {
proxy_set_header Host labdev-nomad.esc.rzg.mpg.de;
proxy_set_header Origin "https://labdev3-nomad.esc.rzg.mpg.de:31328";
proxy_pass https://labdev3-nomad.esc.rzg.mpg.de:31328;
}
location /userapi/ {
proxy_pass https://130.183.207.77:8802;
}
location /api/ {
### proxy_pass http://nomad-flink-01.esc.rzg.mpg.de:8081;
proxy_pass http://labdev3-nomad.esc.rzg.mpg.de:32728;
}
location /analytics/ {
proxy_pass http://labdev3-nomad.esc.rzg.mpg.de:32187;
}
location /archive/ {
proxy_pass http://labdev3-nomad.esc.rzg.mpg.de:32413;
# proxy_pass http://labdev3-nomad.esc.rzg.mpg.de:31263;
}
location /dev/ {
proxy_pass http://labdev3-nomad.esc.rzg.mpg.de:32413;
}
location /repo/docs/ {
proxy_pass http://staging-nomad.esc.rzg.mpg.de:8111;
}
location /repo/api-docs/ {
proxy_pass http://staging-nomad.esc.rzg.mpg.de:8111;
}
location /apitest/ {
proxy_pass http://130.183.207.112:31393;
}
location = /stats/archiveGlobalStats/static {
return 301 $scheme://$server_name/static/archiveGlobalStats.html;
}
location /stats/ {
proxy_pass http://labdev3-nomad.esc.rzg.mpg.de:30403;
}
location /ui/ {
proxy_pass http://labdev3-nomad.esc.rzg.mpg.de:32728;
}
location /nmi/ {
proxy_pass http://labdev3-nomad.esc.rzg.mpg.de:32728;
}
location /jupyter/ {
proxy_pass https://labdev3-nomad.esc.rzg.mpg.de:31864;
#proxy_pass http://labdev-nomad.esc.rzg.mpg.de:12345;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto "https";
#proxy_set_header Host labdev-nomad.esc.rzg.mpg.de;
#proxy_pass https://labdev-nomad.esc.rzg.mpg.de:8807;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_read_timeout 86400;
proxy_http_version 1.1;
}
location = /jupyter {
proxy_pass https://labdev3-nomad.esc.rzg.mpg.de:31864;
#proxy_pass http://labdev-nomad.esc.rzg.mpg.de:12345;
proxy_set_header Host $host;
proxy_set_header Origin https://labdev3-nomad.esc.rzg.mpg.de:31864;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto "https";
#proxy_set_header Host labdev-nomad.esc.rzg.mpg.de;
#proxy_pass https://labdev-nomad.esc.rzg.mpg.de:8807;
}
location ~ "^/jupyter/api/kernels/" {
proxy_pass https://labdev3-nomad.esc.rzg.mpg.de:31864;
proxy_set_header Host $host;
# websocket support
proxy_http_version 1.1;
proxy_set_header Upgrade "WebSocket";
proxy_set_header Connection "Upgrade";
proxy_read_timeout 86400;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto "https";
}
location ~ "^/jupyter/terminals/" {
proxy_pass https://labdev3-nomad.esc.rzg.mpg.de:31864;
proxy_set_header Host $host;
# websocket support
proxy_http_version 1.1;
proxy_set_header Upgrade "WebSocket";
proxy_set_header Connection "Upgrade";
proxy_read_timeout 86400;
#proxy_set_header X-Real-IP $remote_addr;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_set_header X-Forwarded-Proto "https";
}
location /industry-project-imeall/ {
proxy_pass http://labdev-nomad.esc.rzg.mpg.de:34695;
}
location = /industry-project-imeall {
proxy_pass http://labdev-nomad.esc.rzg.mpg.de:34695;
}
location = /Shibboleth.sso {
proxy_pass https://labdev3-nomad.esc.rzg.mpg.de:31328;
}
location /Shibboleth.sso/ {
proxy_pass https://labdev3-nomad.esc.rzg.mpg.de:31328;
}
location = /shibboleth {
proxy_pass https://labdev3-nomad.esc.rzg.mpg.de:31328;
}
location /shibboleth/ {
proxy_pass https://labdev3-nomad.esc.rzg.mpg.de:31328;
}
# location /face_of_crystals/ {
# rewrite ^/face_of_crystals(/.*)$ $1 break;
# proxy_pass http://172.17.0.21:9124;
# }
location /login/ {
proxy_set_header Host labdev-nomad.esc.rzg.mpg.de;
proxy_set_header Origin "https://labdev3-nomad.esc.rzg.mpg.de:31328";
proxy_pass https://labdev3-nomad.esc.rzg.mpg.de:31328;
}
# redirect to the starting page
location = / {
return 301 $scheme://$http_host/home/;
}
#location = /beaker/#/control {
# return 301 $scheme://$http_host/home/;
#}
location = /Creedo {
# return 301 $scheme://$http_host/Creedo/;
return 301 $scheme://analytics-toolkit.nomad-coe.eu$request_uri;
}
location /Creedo/ {
return 301 $scheme://analytics-toolkit.nomad-coe.eu$request_uri;
#proxy_pass http://130.183.207.77:8805;
}
location = /zeppelin {
return 301 $scheme://$http_host/zeppelin/;
}
location /zeppelin/ {
proxy_pass http://130.183.207.77:8811;
}
location /zeppelin/ws {
proxy_pass http://130.183.207.77:8811;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
add_header Access-Control-Allow-Origin *;
}
location = /beaker {
return 301 $scheme://$http_host/beaker/;
}
location = /robots.txt {
alias "/usr/share/nginx/html/static/robots.txt";
}
location /static/ {
alias "/usr/share/nginx/html/static/";
}
location /archive-browser/ {
alias "/usr/share/nginx/html/archive-browser/";
}
location /home/ {
alias "/usr/share/nginx/html/home/";
}
location /beaker/ {
#auth_basic "closed site";
#auth_basic_user_file /etc/nginx/htpasswd;
proxy_pass https://labdev3-nomad.esc.rzg.mpg.de:31328;
}
# version get request
location = /version {
proxy_pass https://labdev3-nomad.esc.rzg.mpg.de:31328;
}
# version get request
location /notebook-edit/ {
proxy_pass https://labdev3-nomad.esc.rzg.mpg.de:31328;
}
location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/beaker/rest/util/version" {
proxy_pass https://labdev3-nomad.esc.rzg.mpg.de:31328;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
add_header Access-Control-Allow-Origin *;
}
# forward websockets, auth using path instead of token
location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/beaker/cometd-[a-z0-9]+/" {
proxy_pass https://labdev3-nomad.esc.rzg.mpg.de:31328;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/r.[0-9]+/" {
proxy_pass https://labdev3-nomad.esc.rzg.mpg.de:31328;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/ipython.[0-9]+/api/kernels/[0-9a-z-]+/" {
proxy_pass https://labdev3-nomad.esc.rzg.mpg.de:31328;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host 127.0.0.1:8804;
proxy_set_header Origin "http://127.0.0.1:8804";
}
location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/ipython.[0-9]+/" {
proxy_pass https://labdev3-nomad.esc.rzg.mpg.de:31328;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host 127.0.0.1:8804;
proxy_set_header Origin "http://127.0.0.1:8804";
}
location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/python3.[0-9]+/api/kernels/[0-9a-z-]+/" {
proxy_pass https://labdev3-nomad.esc.rzg.mpg.de:31328;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host 127.0.0.1:8805;
proxy_set_header Origin "http://127.0.0.1:8805";
}
location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/python3.[0-9]+/" {
proxy_pass https://labdev3-nomad.esc.rzg.mpg.de:31328;
proxy_set_header Origin "http://127.0.0.1:8805";
}
location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/beaker/" {
proxy_pass https://labdev3-nomad.esc.rzg.mpg.de:31328;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/" {
proxy_pass https://labdev3-nomad.esc.rzg.mpg.de:31328;
}
# user directory
location /user/ {
proxy_pass https://labdev3-nomad.esc.rzg.mpg.de:31328;
}
location = /tutorial-LASSO-L0 {
return 302 https://$server_name/notebook-edit/data/shared/tutorials/LASSO_L0.bkr;
}
location = /tutorial-LASSO_L0 {
return 302 https://$server_name/notebook-edit/data/shared/tutorials/LASSO_L0.bkr;
}
location = /tutorial-embedding {
return 302 https://$server_name/notebook-edit/data/shared/tutorials/Embedding.bkr;
}
location = /tutorial-SGD {
return 302 https://$server_name/Creedo;
}
location = /tutorial-glosim {
return 302 https://$server_name/notebook-edit/data/shared/tutorials/SOAP_similarity.bkr;
}
location = /tutorial-krr {
return 302 https://$server_name/notebook-edit/data/shared/tutorials/brprototype3.bkr;
}
location = /tutorial-query {
return 302 https://$server_name/notebook-edit/data/shared/notebooks/query_example_v1_1.bkr;
}
location = /tutorial-SIS-L0 {
return 302 https://$server_name/notebook-edit/data/shared/tutorials/sis_cscl.bkr;
}
location = /tutorial-SIS_L0 {
return 302 https://$server_name/notebook-edit/data/shared/tutorials/sis_cscl.bkr;
}
location = /tutorial-FF-fit {
return 302 https://$server_name/notebook-edit/data/shared/tutorials/FF-fit.bkr;
}
location = /tutorial-FF_fit {
return 302 https://$server_name/notebook-edit/data/shared/tutorials/FF-fit.bkr;
}
location = /tutorial-ClusterX {
return 302 https://$server_name/notebook-edit/data/shared/tutorials/clusterX.bkr;
}
location = /tutorial-errorbars {
return 302 https://$server_name/notebook-edit/data/shared/tutorials/errorbars_html.bkr;
}
location = /tutorial-periodictable {
return 302 https://$server_name/notebook-edit/data/shared/tutorials/periodic-table.bkr;
}
}
server {
# nexus docker registry
autoindex off;
listen 5509 ssl;
server_name labdev-nomad.esc.rzg.mpg.de;
ssl_certificate /certs/cert-7741588557007104.pem;
ssl_certificate_key /certs/pkey.pem;
#ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#ssl_ciphers HIGH:!aNULL:!MD5;
# allow large uploads of files
client_max_body_size 1G;
# optimize downloading files larger than 1G
#proxy_max_temp_file_size 2G;
location / {
proxy_pass http://labdev3-nomad.esc.rzg.mpg.de:31547;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto "https";
}
}
}
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 64;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
#gzip on;
tcp_nopush on;
# i tried setting to 0 and removing the keepalive timer from the ipython client.
# but it did not fix the problem.
#keepalive_timeout 0;
keepalive_timeout 1000;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 1000000;
proxy_buffers 32 4k;
client_max_body_size 100M;
client_body_buffer_size 128k;
client_body_temp_path "client_temp";
proxy_temp_path "client_temp";
fastcgi_temp_path "client_temp";
uwsgi_temp_path "client_temp";
scgi_temp_path "client_temp";
server {
listen 80;
server_name labtest-nomad.esc.rzg.mpg.de;
return 301 https://$server_name$request_uri;
}