Mercurial > code > home > repos > light9
annotate bin/homepageConfig @ 2112:0b80bcc82cb1
reformat
author | drewp@bigasterisk.com |
---|---|
date | Thu, 02 Jun 2022 18:52:24 +0000 |
parents | 17b268d2b7f3 |
children | ac16ec1e6bab |
rev | line source |
---|---|
1215 | 1 #!bin/python |
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 | 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 | 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 | 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 | 12 webServer = graph.value(netHome, L9['webServer']) |
13 if not webServer: | |
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 | 17 |
2051
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
18 def location(path, server, viteServer): |
1907
ec6ec713c276
output escaping bug in homepage made spectrograms fail
Drew Perttula <drewp@bigasterisk.com>
parents:
1866
diff
changeset
|
19 print(f""" |
2051
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
20 |
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
21 location = /{path}/metrics {{ |
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
22 rewrite ^/{path}(/.*) $1 break; |
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
23 proxy_pass {server}; |
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
24 }} |
1217
e703b3434dbd
websocket and web cleanup
Drew Perttula <drewp@bigasterisk.com>
parents:
1215
diff
changeset
|
25 |
2051
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
26 location /{path}/api/ {{ |
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
27 # just the tail part for services |
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
28 rewrite ^/{path}/api(/.*) $1 break; |
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
29 proxy_pass {server}; |
2073 | 30 |
31 # for websocket | |
32 proxy_http_version 1.1; | |
33 proxy_set_header Upgrade $http_upgrade; | |
34 proxy_set_header Connection "upgrade"; | |
35 proxy_set_header Host $host; | |
36 | |
37 proxy_buffering off; | |
38 | |
2051
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
39 }} |
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
40 location /{path}/ {{ |
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
41 # 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
|
42 proxy_pass {viteServer}; |
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
43 }} |
1215 | 44 |
2051
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
45 """) |
1312
cec677a84142
homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents:
1290
diff
changeset
|
46 |
1858 | 47 |
1312
cec677a84142
homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents:
1290
diff
changeset
|
48 for role, server in sorted(graph.predicate_objects(netHome)): |
cec677a84142
homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents:
1290
diff
changeset
|
49 if not server.startswith('http') or role == L9['webServer']: |
cec677a84142
homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents:
1290
diff
changeset
|
50 continue |
cec677a84142
homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents:
1290
diff
changeset
|
51 path = graph.value(role, L9['urlPath']) |
cec677a84142
homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents:
1290
diff
changeset
|
52 if not path: |
cec677a84142
homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents:
1290
diff
changeset
|
53 continue |
cec677a84142
homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents:
1290
diff
changeset
|
54 server = server.rstrip('/') |
2061
a415be4cfac4
timeline gets a launcher for vitejs server
drewp@bigasterisk.com
parents:
2051
diff
changeset
|
55 viteServer = server.replace('82', '83') # rewrite this please |
2051
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
56 location(path, server, viteServer) |
2034 | 57 |
1312
cec677a84142
homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents:
1290
diff
changeset
|
58 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
|
59 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
|
60 print(f""" |
ec6ec713c276
output escaping bug in homepage made spectrograms fail
Drew Perttula <drewp@bigasterisk.com>
parents:
1866
diff
changeset
|
61 location /{showPath} {{ |
ec6ec713c276
output escaping bug in homepage made spectrograms fail
Drew Perttula <drewp@bigasterisk.com>
parents:
1866
diff
changeset
|
62 root {root}; |
ec6ec713c276
output escaping bug in homepage made spectrograms fail
Drew Perttula <drewp@bigasterisk.com>
parents:
1866
diff
changeset
|
63 }}""") |