annotate bin/homepageConfig @ 2028:feb9a47980bb

chmod a+x bin/*
author drewp@bigasterisk.com
date Tue, 05 Apr 2022 23:15:01 -0700
parents ec6ec713c276
children 04ed5d134973
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1215
0d295af23c4b new nginx router
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
1 #!bin/python
0d295af23c4b new nginx router
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
2 from run_local import log
1866
3c523c71da29 pyflakes cleanups and some refactors
Drew Perttula <drewp@bigasterisk.com>
parents: 1859
diff changeset
3 from light9 import showconfig
1215
0d295af23c4b new nginx router
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
4 from light9.namespaces import L9
1859
f066d6e874db 2to3 with these fixers: all idioms set_literal
drewp@bigasterisk.com
parents: 1858
diff changeset
5 from urllib.parse import urlparse
f066d6e874db 2to3 with these fixers: all idioms set_literal
drewp@bigasterisk.com
parents: 1858
diff changeset
6 from urllib.parse import splitport
1215
0d295af23c4b new nginx router
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
7
1866
3c523c71da29 pyflakes cleanups and some refactors
Drew Perttula <drewp@bigasterisk.com>
parents: 1859
diff changeset
8 log.info('generating config')
1225
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
9 graph = showconfig.getGraph()
1215
0d295af23c4b new nginx router
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
10
1225
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
11 netHome = graph.value(showconfig.showUri(), L9['networking'])
1521
15f296550447 start paintServer
Drew Perttula <drewp@bigasterisk.com>
parents: 1329
diff changeset
12 webServer = graph.value(netHome, L9['webServer'])
15f296550447 start paintServer
Drew Perttula <drewp@bigasterisk.com>
parents: 1329
diff changeset
13 if not webServer:
15f296550447 start paintServer
Drew Perttula <drewp@bigasterisk.com>
parents: 1329
diff changeset
14 raise ValueError('no %r :webServer' % netHome)
1859
f066d6e874db 2to3 with these fixers: all idioms set_literal
drewp@bigasterisk.com
parents: 1858
diff changeset
15 print("listen %s;" % splitport(urlparse(webServer).netloc)[1])
1217
e703b3434dbd websocket and web cleanup
Drew Perttula <drewp@bigasterisk.com>
parents: 1215
diff changeset
16
1858
7772cc48e016 reformat all python
drewp@bigasterisk.com
parents: 1692
diff changeset
17
1312
cec677a84142 homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents: 1290
diff changeset
18 def location(path, server):
1907
ec6ec713c276 output escaping bug in homepage made spectrograms fail
Drew Perttula <drewp@bigasterisk.com>
parents: 1866
diff changeset
19 print(f"""
ec6ec713c276 output escaping bug in homepage made spectrograms fail
Drew Perttula <drewp@bigasterisk.com>
parents: 1866
diff changeset
20 location /{path}/ {{
1217
e703b3434dbd websocket and web cleanup
Drew Perttula <drewp@bigasterisk.com>
parents: 1215
diff changeset
21
1225
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
22 # for websocket
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
23 proxy_http_version 1.1;
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
24 proxy_set_header Upgrade $http_upgrade;
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
25 proxy_set_header Connection "upgrade";
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
26 proxy_set_header Host $host;
1215
0d295af23c4b new nginx router
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
27
1907
ec6ec713c276 output escaping bug in homepage made spectrograms fail
Drew Perttula <drewp@bigasterisk.com>
parents: 1866
diff changeset
28 proxy_pass {server};
1543
c8cffe82b537 collector gui updates
Drew Perttula <drewp@bigasterisk.com>
parents: 1521
diff changeset
29 proxy_buffering off;
1225
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
30 rewrite /[^/]+/(.*) /$1 break;
1907
ec6ec713c276 output escaping bug in homepage made spectrograms fail
Drew Perttula <drewp@bigasterisk.com>
parents: 1866
diff changeset
31 }}""")
1312
cec677a84142 homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents: 1290
diff changeset
32
1858
7772cc48e016 reformat all python
drewp@bigasterisk.com
parents: 1692
diff changeset
33
1312
cec677a84142 homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents: 1290
diff changeset
34 for role, server in sorted(graph.predicate_objects(netHome)):
cec677a84142 homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents: 1290
diff changeset
35 if not server.startswith('http') or role == L9['webServer']:
cec677a84142 homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents: 1290
diff changeset
36 continue
cec677a84142 homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents: 1290
diff changeset
37 path = graph.value(role, L9['urlPath'])
cec677a84142 homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents: 1290
diff changeset
38 if not path:
cec677a84142 homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents: 1290
diff changeset
39 continue
cec677a84142 homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents: 1290
diff changeset
40 server = server.rstrip('/')
cec677a84142 homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents: 1290
diff changeset
41 location(path, server)
cec677a84142 homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents: 1290
diff changeset
42
cec677a84142 homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents: 1290
diff changeset
43 showPath = showconfig.showUri().split('/', 3)[-1]
1907
ec6ec713c276 output escaping bug in homepage made spectrograms fail
Drew Perttula <drewp@bigasterisk.com>
parents: 1866
diff changeset
44 root = showconfig.root()[:-len(showPath)].decode('ascii')
ec6ec713c276 output escaping bug in homepage made spectrograms fail
Drew Perttula <drewp@bigasterisk.com>
parents: 1866
diff changeset
45 print(f"""
ec6ec713c276 output escaping bug in homepage made spectrograms fail
Drew Perttula <drewp@bigasterisk.com>
parents: 1866
diff changeset
46 location /{showPath} {{
ec6ec713c276 output escaping bug in homepage made spectrograms fail
Drew Perttula <drewp@bigasterisk.com>
parents: 1866
diff changeset
47 root {root};
ec6ec713c276 output escaping bug in homepage made spectrograms fail
Drew Perttula <drewp@bigasterisk.com>
parents: 1866
diff changeset
48 }}""")