Feature 57 (config and provisioning): modules declare config and provisions, their files rendered from templates; synced with main (issues of feature 57, 874)
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
# Written by the mesh (modules/matrix). Conduit reads this file (CONDUIT_CONFIG); nothing comes
|
||||
# from the environment. server_name is the homeserver's permanent identity: every user id, room id
|
||||
# and signature in the database carries it, so it is the name this module is served under
|
||||
# (${bound:route:name-homeserver}) and never changes once a database exists.
|
||||
[global]
|
||||
server_name = "${bound:route:name-homeserver}"
|
||||
database_backend = "rocksdb"
|
||||
database_path = "/var/lib/matrix-conduit/"
|
||||
address = "0.0.0.0"
|
||||
port = 6167
|
||||
max_request_size = 20000000
|
||||
allow_registration = false
|
||||
allow_federation = true
|
||||
allow_check_for_updates = true
|
||||
trusted_servers = ["matrix.org"]
|
||||
@@ -0,0 +1,53 @@
|
||||
{
|
||||
"default_server_name": "${bound:route:name-homeserver}",
|
||||
"default_server_config": {
|
||||
"m.homeserver": {
|
||||
"base_url": "https://${bound:route:name-homeserver}"
|
||||
},
|
||||
"m.identity_server": {
|
||||
"base_url": "https://vector.im"
|
||||
}
|
||||
},
|
||||
"brand": "Element",
|
||||
"integrations_ui_url": "https://scalar.vector.im/",
|
||||
"integrations_rest_url": "https://scalar.vector.im/api",
|
||||
"integrations_widgets_urls": [
|
||||
"https://scalar.vector.im/_matrix/integrations/v1",
|
||||
"https://scalar.vector.im/api",
|
||||
"https://scalar-staging.vector.im/_matrix/integrations/v1",
|
||||
"https://scalar-staging.vector.im/api",
|
||||
"https://scalar-staging.riot.im/scalar/api"
|
||||
],
|
||||
"bug_report_endpoint_url": "https://element.io/bugreports/submit",
|
||||
"uisi_autorageshake_app": "element-auto-uisi",
|
||||
"show_labs_settings": true,
|
||||
"room_directory": {
|
||||
"servers": [
|
||||
"${bound:route:name-homeserver}",
|
||||
"matrix.org",
|
||||
"gitter.im",
|
||||
"libera.chat"
|
||||
]
|
||||
},
|
||||
"enable_presence_by_hs_url": {
|
||||
"https://matrix.org": false,
|
||||
"https://matrix-client.matrix.org": false
|
||||
},
|
||||
"terms_and_conditions_links": [
|
||||
{
|
||||
"url": "https://element.io/privacy",
|
||||
"text": "Privacy Policy"
|
||||
},
|
||||
{
|
||||
"url": "https://element.io/cookie-policy",
|
||||
"text": "Cookie Policy"
|
||||
}
|
||||
],
|
||||
"features": {
|
||||
"feature_video_rooms": true,
|
||||
"feature_rust_crypto": true
|
||||
},
|
||||
"element_call": {
|
||||
"url": "https://call.element.dev"
|
||||
}
|
||||
}
|
||||
+120
-3
@@ -48,6 +48,113 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"config": {
|
||||
"default_server_name": {
|
||||
"type": "string",
|
||||
"description": "Element's default_server_name setting of config.json: the homeserver Element signs in to by default, by name; the file's default is the module's own route.",
|
||||
"trusted": true,
|
||||
"default": "${bound:route:name-homeserver}"
|
||||
},
|
||||
"default_server_config": {
|
||||
"type": "object",
|
||||
"description": "Element's default_server_config setting of config.json: the homeserver and identity server Element uses by default, by URL.",
|
||||
"trusted": true,
|
||||
"default": {
|
||||
"m.homeserver": {
|
||||
"base_url": "https://${bound:route:name-homeserver}"
|
||||
},
|
||||
"m.identity_server": {
|
||||
"base_url": "https://vector.im"
|
||||
}
|
||||
}
|
||||
},
|
||||
"brand": {
|
||||
"type": "string",
|
||||
"description": "Element's brand setting of config.json: the name Element shows itself as.",
|
||||
"trusted": true,
|
||||
"default": "Element"
|
||||
},
|
||||
"integrations_ui_url": {
|
||||
"type": "string",
|
||||
"description": "Element's integrations_ui_url setting of config.json: the integration manager's page, a URL.",
|
||||
"trusted": true,
|
||||
"default": "https://scalar.vector.im/"
|
||||
},
|
||||
"integrations_rest_url": {
|
||||
"type": "string",
|
||||
"description": "Element's integrations_rest_url setting of config.json: the integration manager's API, a URL.",
|
||||
"trusted": true,
|
||||
"default": "https://scalar.vector.im/api"
|
||||
},
|
||||
"integrations_widgets_urls": {
|
||||
"type": "list",
|
||||
"description": "Element's integrations_widgets_urls setting of config.json: the URLs whose widgets Element trusts as the integration manager's.",
|
||||
"trusted": true,
|
||||
"default": [
|
||||
"https://scalar.vector.im/_matrix/integrations/v1",
|
||||
"https://scalar.vector.im/api",
|
||||
"https://scalar-staging.vector.im/_matrix/integrations/v1",
|
||||
"https://scalar-staging.vector.im/api",
|
||||
"https://scalar-staging.riot.im/scalar/api"
|
||||
]
|
||||
},
|
||||
"bug_report_endpoint_url": {
|
||||
"type": "string",
|
||||
"description": "Element's bug_report_endpoint_url setting of config.json: where Element sends a bug report, a URL; its default here is empty, and the file's own value (Element's, naming outside servers) stays in the file and is never replaced unless this is set.",
|
||||
"trusted": true,
|
||||
"default": ""
|
||||
},
|
||||
"uisi_autorageshake_app": {
|
||||
"type": "string",
|
||||
"description": "Element's uisi_autorageshake_app setting of config.json: the app name Element files an automatic report of an undecryptable message under.",
|
||||
"trusted": true,
|
||||
"default": "element-auto-uisi"
|
||||
},
|
||||
"show_labs_settings": {
|
||||
"type": "boolean",
|
||||
"description": "Element's show_labs_settings setting of config.json: whether Element shows its Labs settings.",
|
||||
"trusted": true,
|
||||
"default": true
|
||||
},
|
||||
"room_directory": {
|
||||
"type": "object",
|
||||
"description": "Element's room_directory setting of config.json: the servers whose room directories Element offers; its default here is empty, and the file's own value (Element's, naming outside servers) stays in the file and is never replaced unless this is set.",
|
||||
"trusted": true,
|
||||
"default": {}
|
||||
},
|
||||
"enable_presence_by_hs_url": {
|
||||
"type": "object",
|
||||
"description": "Element's enable_presence_by_hs_url setting of config.json: whether Element shows presence, per homeserver URL.",
|
||||
"trusted": true,
|
||||
"default": {
|
||||
"https://matrix.org": false,
|
||||
"https://matrix-client.matrix.org": false
|
||||
}
|
||||
},
|
||||
"terms_and_conditions_links": {
|
||||
"type": "list",
|
||||
"description": "Element's terms_and_conditions_links setting of config.json: the links Element shows as its terms, each a URL and its text; its default here is empty, and the file's own value (Element's, naming outside servers) stays in the file and is never replaced unless this is set.",
|
||||
"trusted": true,
|
||||
"default": []
|
||||
},
|
||||
"features": {
|
||||
"type": "object",
|
||||
"description": "Element's features setting of config.json: Element's feature switches, each on or off.",
|
||||
"trusted": true,
|
||||
"default": {
|
||||
"feature_video_rooms": true,
|
||||
"feature_rust_crypto": true
|
||||
}
|
||||
},
|
||||
"element_call": {
|
||||
"type": "object",
|
||||
"description": "Element's element_call setting of config.json: where Element starts a call with Element Call, a URL.",
|
||||
"trusted": true,
|
||||
"default": {
|
||||
"url": "https://call.element.dev"
|
||||
}
|
||||
}
|
||||
},
|
||||
"resources": [
|
||||
{
|
||||
"id": "state",
|
||||
@@ -65,7 +172,7 @@
|
||||
"type": "file",
|
||||
"path": "${dir:state}/conduit.toml",
|
||||
"mode": "0644",
|
||||
"content": "# Written by the mesh (modules/matrix). Conduit reads this file (CONDUIT_CONFIG); nothing comes\n# from the environment. server_name is the homeserver's permanent identity: every user id, room id\n# and signature in the database carries it, so it is the name this module is served under\n# (${bound:route:name-homeserver}) and never changes once a database exists.\n[global]\nserver_name = \"${bound:route:name-homeserver}\"\ndatabase_backend = \"rocksdb\"\ndatabase_path = \"/var/lib/matrix-conduit/\"\naddress = \"0.0.0.0\"\nport = 6167\nmax_request_size = 20000000\nallow_registration = false\nallow_federation = true\nallow_check_for_updates = true\ntrusted_servers = [\"matrix.org\"]\n",
|
||||
"template": "files/conduit.toml",
|
||||
"names-on-purpose": {
|
||||
"matrix.org": "the federation's public key server, trusted by default; the world's, not this mesh's"
|
||||
}
|
||||
@@ -76,7 +183,8 @@
|
||||
"path": "${dir:state}/element.json",
|
||||
"mode": "0644",
|
||||
"merge": "json",
|
||||
"content": "{\n \"default_server_name\": \"${bound:route:name-homeserver}\",\n \"default_server_config\": {\n \"m.homeserver\": {\n \"base_url\": \"https://${bound:route:name-homeserver}\"\n },\n \"m.identity_server\": {\n \"base_url\": \"https://vector.im\"\n }\n },\n \"brand\": \"Element\",\n \"integrations_ui_url\": \"https://scalar.vector.im/\",\n \"integrations_rest_url\": \"https://scalar.vector.im/api\",\n \"integrations_widgets_urls\": [\n \"https://scalar.vector.im/_matrix/integrations/v1\",\n \"https://scalar.vector.im/api\",\n \"https://scalar-staging.vector.im/_matrix/integrations/v1\",\n \"https://scalar-staging.vector.im/api\",\n \"https://scalar-staging.riot.im/scalar/api\"\n ],\n \"bug_report_endpoint_url\": \"https://element.io/bugreports/submit\",\n \"uisi_autorageshake_app\": \"element-auto-uisi\",\n \"show_labs_settings\": true,\n \"room_directory\": {\n \"servers\": [\n \"${bound:route:name-homeserver}\",\n \"matrix.org\",\n \"gitter.im\",\n \"libera.chat\"\n ]\n },\n \"enable_presence_by_hs_url\": {\n \"https://matrix.org\": false,\n \"https://matrix-client.matrix.org\": false\n },\n \"terms_and_conditions_links\": [\n {\n \"url\": \"https://element.io/privacy\",\n \"text\": \"Privacy Policy\"\n },\n {\n \"url\": \"https://element.io/cookie-policy\",\n \"text\": \"Cookie Policy\"\n }\n ],\n \"features\": {\n \"feature_video_rooms\": true,\n \"feature_rust_crypto\": true\n },\n \"element_call\": {\n \"url\": \"https://call.element.dev\"\n }\n}\n",
|
||||
"takes-config": ["default_server_name", "default_server_config", "brand", "integrations_ui_url", "integrations_rest_url", "integrations_widgets_urls", "bug_report_endpoint_url", "uisi_autorageshake_app", "show_labs_settings", "room_directory", "enable_presence_by_hs_url", "terms_and_conditions_links", "features", "element_call"],
|
||||
"template": "files/element.json",
|
||||
"names-on-purpose": {
|
||||
"matrix.org": "the public room directory and the federation's largest homeserver; the world's",
|
||||
"matrix-client.matrix.org": "the same homeserver's client endpoint; the world's",
|
||||
@@ -134,5 +242,14 @@
|
||||
"element-conf"
|
||||
]
|
||||
}
|
||||
]
|
||||
],
|
||||
"build": {
|
||||
"artifacts": [
|
||||
{
|
||||
"name": "files",
|
||||
"kind": "archive",
|
||||
"from": "files"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user