annotate bin/homepageConfig @ 2140:47cf5a26adf0

stray hardcoded show uri
author drewp@bigasterisk.com
date Wed, 17 May 2023 17:29:05 -0700
parents ac16ec1e6bab
children
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
1215
0d295af23c4b new nginx router
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
6
1866
3c523c71da29 pyflakes cleanups and some refactors
Drew Perttula <drewp@bigasterisk.com>
parents: 1859
diff changeset
7 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
8 graph = showconfig.getGraph()
1215
0d295af23c4b new nginx router
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
9
1225
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
10 netHome = graph.value(showconfig.showUri(), L9['networking'])
1521
15f296550447 start paintServer
Drew Perttula <drewp@bigasterisk.com>
parents: 1329
diff changeset
11 webServer = graph.value(netHome, L9['webServer'])
15f296550447 start paintServer
Drew Perttula <drewp@bigasterisk.com>
parents: 1329
diff changeset
12 if not webServer:
15f296550447 start paintServer
Drew Perttula <drewp@bigasterisk.com>
parents: 1329
diff changeset
13 raise ValueError('no %r :webServer' % netHome)
2139
ac16ec1e6bab py3 api
drewp@bigasterisk.com
parents: 2073
diff changeset
14 print("listen %s;" % urlparse(webServer).port)
1217
e703b3434dbd websocket and web cleanup
Drew Perttula <drewp@bigasterisk.com>
parents: 1215
diff changeset
15
1858
7772cc48e016 reformat all python
drewp@bigasterisk.com
parents: 1692
diff changeset
16
2051
bfee787d7b5c straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents: 2034
diff changeset
17 def location(path, server, viteServer):
1907
ec6ec713c276 output escaping bug in homepage made spectrograms fail
Drew Perttula <drewp@bigasterisk.com>
parents: 1866
diff changeset
18 print(f"""
2051
bfee787d7b5c straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents: 2034
diff changeset
19
bfee787d7b5c straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents: 2034
diff changeset
20 location = /{path}/metrics {{
bfee787d7b5c straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents: 2034
diff changeset
21 rewrite ^/{path}(/.*) $1 break;
bfee787d7b5c straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents: 2034
diff changeset
22 proxy_pass {server};
bfee787d7b5c straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents: 2034
diff changeset
23 }}
1217
e703b3434dbd websocket and web cleanup
Drew Perttula <drewp@bigasterisk.com>
parents: 1215
diff changeset
24
2051
bfee787d7b5c straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents: 2034
diff changeset
25 location /{path}/api/ {{
bfee787d7b5c straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents: 2034
diff changeset
26 # just the tail part for services
bfee787d7b5c straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents: 2034
diff changeset
27 rewrite ^/{path}/api(/.*) $1 break;
bfee787d7b5c straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents: 2034
diff changeset
28 proxy_pass {server};
2073
drewp@bigasterisk.com
parents: 2061
diff changeset
29
drewp@bigasterisk.com
parents: 2061
diff changeset
30 # for websocket
drewp@bigasterisk.com
parents: 2061
diff changeset
31 proxy_http_version 1.1;
drewp@bigasterisk.com
parents: 2061
diff changeset
32 proxy_set_header Upgrade $http_upgrade;
drewp@bigasterisk.com
parents: 2061
diff changeset
33 proxy_set_header Connection "upgrade";
drewp@bigasterisk.com
parents: 2061
diff changeset
34 proxy_set_header Host $host;
drewp@bigasterisk.com
parents: 2061
diff changeset
35
drewp@bigasterisk.com
parents: 2061
diff changeset
36 proxy_buffering off;
drewp@bigasterisk.com
parents: 2061
diff changeset
37
2051
bfee787d7b5c straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents: 2034
diff changeset
38 }}
bfee787d7b5c straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents: 2034
diff changeset
39 location /{path}/ {{
bfee787d7b5c straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents: 2034
diff changeset
40 # vite has 'base' to deal with the /{path}/ part of the request
bfee787d7b5c straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents: 2034
diff changeset
41 proxy_pass {viteServer};
bfee787d7b5c straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents: 2034
diff changeset
42 }}
1215
0d295af23c4b new nginx router
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
43
2051
bfee787d7b5c straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents: 2034
diff changeset
44 """)
1312
cec677a84142 homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents: 1290
diff changeset
45
1858
7772cc48e016 reformat all python
drewp@bigasterisk.com
parents: 1692
diff changeset
46
1312
cec677a84142 homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents: 1290
diff changeset
47 for role, server in sorted(graph.predicate_objects(netHome)):
cec677a84142 homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents: 1290
diff changeset
48 if not server.startswith('http') or role == L9['webServer']:
cec677a84142 homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents: 1290
diff changeset
49 continue
cec677a84142 homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents: 1290
diff changeset
50 path = graph.value(role, L9['urlPath'])
cec677a84142 homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents: 1290
diff changeset
51 if not path:
cec677a84142 homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents: 1290
diff changeset
52 continue
cec677a84142 homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents: 1290
diff changeset
53 server = server.rstrip('/')
2061
a415be4cfac4 timeline gets a launcher for vitejs server
drewp@bigasterisk.com
parents: 2051
diff changeset
54 viteServer = server.replace('82', '83') # rewrite this please
2051
bfee787d7b5c straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents: 2034
diff changeset
55 location(path, server, viteServer)
2034
04ed5d134973 WIP draw prom metrics on homepage
drewp@bigasterisk.com
parents: 1907
diff changeset
56
1312
cec677a84142 homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents: 1290
diff changeset
57 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
58 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
59 print(f"""
ec6ec713c276 output escaping bug in homepage made spectrograms fail
Drew Perttula <drewp@bigasterisk.com>
parents: 1866
diff changeset
60 location /{showPath} {{
ec6ec713c276 output escaping bug in homepage made spectrograms fail
Drew Perttula <drewp@bigasterisk.com>
parents: 1866
diff changeset
61 root {root};
ec6ec713c276 output escaping bug in homepage made spectrograms fail
Drew Perttula <drewp@bigasterisk.com>
parents: 1866
diff changeset
62 }}""")