bundles/matrix-synapse: add option to automatically provision other nginx vhosts with wellknown data
All checks were successful
kunsi/bundlewrap/pipeline/head This commit looks good
All checks were successful
kunsi/bundlewrap/pipeline/head This commit looks good
This commit is contained in:
parent
2f79f55da5
commit
407d84a8c6
2 changed files with 33 additions and 47 deletions
|
@ -67,19 +67,13 @@ defaults = {
|
||||||
|
|
||||||
|
|
||||||
@metadata_reactor.provides(
|
@metadata_reactor.provides(
|
||||||
'nginx/vhosts/matrix-synapse',
|
'nginx/vhosts',
|
||||||
)
|
)
|
||||||
def nginx(metadata):
|
def nginx(metadata):
|
||||||
if not node.has_bundle('nginx'):
|
if not node.has_bundle('nginx'):
|
||||||
raise DoNotRunAgain
|
raise DoNotRunAgain
|
||||||
|
|
||||||
locations = {
|
wellknown = {
|
||||||
'/_matrix': {
|
|
||||||
'target': 'http://[::1]:20080',
|
|
||||||
},
|
|
||||||
'/_synapse': {
|
|
||||||
'target': 'http://[::1]:20080',
|
|
||||||
},
|
|
||||||
'/.well-known/matrix/client': {
|
'/.well-known/matrix/client': {
|
||||||
'return': dumps({
|
'return': dumps({
|
||||||
'm.homeserver': {
|
'm.homeserver': {
|
||||||
|
@ -106,6 +100,16 @@ def nginx(metadata):
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
locations = {
|
||||||
|
'/_matrix': {
|
||||||
|
'target': 'http://[::1]:20080',
|
||||||
|
},
|
||||||
|
'/_synapse': {
|
||||||
|
'target': 'http://[::1]:20080',
|
||||||
|
},
|
||||||
|
**wellknown,
|
||||||
|
}
|
||||||
|
|
||||||
if node.has_bundle('matrix-media-repo'):
|
if node.has_bundle('matrix-media-repo'):
|
||||||
locations['/_matrix/media'] = {
|
locations['/_matrix/media'] = {
|
||||||
'target': 'http://localhost:20090',
|
'target': 'http://localhost:20090',
|
||||||
|
@ -115,15 +119,22 @@ def nginx(metadata):
|
||||||
'x_forwarded_host': metadata.get('matrix-synapse/server_name'),
|
'x_forwarded_host': metadata.get('matrix-synapse/server_name'),
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
vhosts = {
|
||||||
'nginx': {
|
|
||||||
'vhosts': {
|
|
||||||
'matrix-synapse': {
|
'matrix-synapse': {
|
||||||
'domain': metadata.get('matrix-synapse/baseurl'),
|
'domain': metadata.get('matrix-synapse/baseurl'),
|
||||||
'locations': locations,
|
'locations': locations,
|
||||||
'website_check_path': '/_matrix/static/',
|
'website_check_path': '/_matrix/static/',
|
||||||
'website_check_string': 'Synapse is running',
|
'website_check_string': 'Synapse is running',
|
||||||
},
|
},
|
||||||
},
|
}
|
||||||
|
|
||||||
|
for vname in metadata.get('matrix-synapse/wellknown_also_on_vhosts', set()):
|
||||||
|
vhosts[vname] = {
|
||||||
|
'locations': wellknown,
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
'nginx': {
|
||||||
|
'vhosts': vhosts
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -224,6 +224,9 @@ nodes['rx300'] = {
|
||||||
'preferredDomain': 'meet.ffmuc.net',
|
'preferredDomain': 'meet.ffmuc.net',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
'wellknown_also_on_vhosts': {
|
||||||
|
'franzi.business',
|
||||||
|
},
|
||||||
},
|
},
|
||||||
'mautrix-telegram': {
|
'mautrix-telegram': {
|
||||||
'version': 'v0.10.0',
|
'version': 'v0.10.0',
|
||||||
|
@ -306,34 +309,6 @@ nodes['rx300'] = {
|
||||||
'franzi.business': {
|
'franzi.business': {
|
||||||
'webroot': '/var/www/franzi.business/_site/',
|
'webroot': '/var/www/franzi.business/_site/',
|
||||||
'ssl': '_.franzi.business',
|
'ssl': '_.franzi.business',
|
||||||
'locations': {
|
|
||||||
'/.well-known/matrix/client': {
|
|
||||||
'return': json_dumps({
|
|
||||||
'm.homeserver': {
|
|
||||||
'base_url': 'https://matrix.franzi.business',
|
|
||||||
},
|
|
||||||
'm.identity_server': {
|
|
||||||
'base_url': 'https://matrix.org',
|
|
||||||
},
|
|
||||||
'im.vector.riot.jitsi': {
|
|
||||||
'preferredDomain': 'meet.ffmuc.net',
|
|
||||||
},
|
|
||||||
}, sort_keys=True),
|
|
||||||
'additional_config': {
|
|
||||||
'default_type application/json',
|
|
||||||
'add_header Access-Control-Allow-Origin *',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
'/.well-known/matrix/server': {
|
|
||||||
'return': json_dumps({
|
|
||||||
'm.server': 'matrix.franzi.business:443',
|
|
||||||
}, sort_keys=True),
|
|
||||||
'additional_config': {
|
|
||||||
'default_type application/json',
|
|
||||||
'add_header Access-Control-Allow-Origin *',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
'kunbox.net': {},
|
'kunbox.net': {},
|
||||||
'kunsmann.eu': {
|
'kunsmann.eu': {
|
||||||
|
|
Loading…
Reference in a new issue