Mercurial > code > home > repos > light9
annotate bin/homepageConfig @ 2051:bfee787d7b5c
straighten out proxying and nginx+vite mixing
author | drewp@bigasterisk.com |
---|---|
date | Fri, 13 May 2022 01:07:15 -0700 |
parents | 04ed5d134973 |
children | a415be4cfac4 |
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}; |
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
30 }} |
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
31 location /{path}/ {{ |
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
32 # 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
|
33 proxy_pass {viteServer}; |
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
34 }} |
1215 | 35 |
2051
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
36 # vite seems to work without this old section-- hopefully other services will too! |
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
37 # # for websocket |
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
38 # proxy_http_version 1.1; |
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
39 # proxy_set_header Upgrade $http_upgrade; |
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
40 # proxy_set_header Connection "upgrade"; |
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
41 # proxy_set_header Host $host; |
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
42 |
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
43 # proxy_buffering off; |
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 | 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('/') |
2051
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
54 viteServer = server.replace('820', '830') # rewrite this please |
bfee787d7b5c
straighten out proxying and nginx+vite mixing
drewp@bigasterisk.com
parents:
2034
diff
changeset
|
55 location(path, server, viteServer) |
2034 | 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 }}""") |