Update the example configs with the new unified config (#146)

* Update the example configs with the new unified config

* Review comments

* Use an int for the config version
This commit is contained in:
Mark Haines 2017-07-05 13:10:28 +01:00 committed by GitHub
parent 8f1dca4e74
commit b2f9b8c641
5 changed files with 79 additions and 49 deletions

76
dendrite-config.yaml Normal file
View file

@ -0,0 +1,76 @@
# The config file format version
# This is used by dendrite to tell if it understands the config format.
# This will change if the structure of the config file changes or if the meaning
# of an existing config key changes.
version: 0
# The matrix specific config
matrix:
# The name of the server. This is usually the domain name, e.g 'matrix.org', 'localhost'.
server_name: "example.com"
# The path to the PEM formatted matrix private key.
private_key: "/etc/dendrite/matrix_key.pem"
# The x509 certificates used by the federation listeners for this server
federation_certificates: ["/etc/dendrite/federation_tls.pem"]
# The media repository config
media:
# The base path to where the media files will be stored. May be relative or absolute.
base_path: /var/dendrite/media
# The maximum file size in bytes that is allowed to be stored on this server.
# Note: if max_file_size_bytes is set to 0, the size is unlimited.
# Note: if max_file_size_bytes is not set, it will default to 10485760 (10MB)
max_file_size_bytes: 10485760
# Whether to dynamically generate thumbnails on-the-fly if the requested resolution is not already generated
# NOTE: This is a possible denial-of-service attack vector - use at your own risk
dynamic_thumbnails: false
# A list of thumbnail sizes to be pre-generated for downloaded remote / uploaded content
# method is one of crop or scale. If omitted, it will default to scale.
# crop scales to fill the requested dimensions and crops the excess.
# scale scales to fit the requested dimensions and one dimension may be smaller than requested.
thumbnail_sizes:
- width: 32
height: 32
method: crop
- width: 96
height: 96
method: crop
- width: 320
height: 240
method: scale
- width: 640
height: 480
method: scale
- width: 800
height: 600
method: scale
# The config for communicating with kafka
kafka:
# Where the kafka servers are running.
addresses: ["localhost:9092"]
# The names of the kafka topics to use.
topics:
input_room_event: roomserverInput
output_room_event: roomserverOutput
# The postgres connection configs for connecting to the databases e.g a postgres:// URI
database:
account: "postgres://dendrite:itsasecret@localhost/dendrite_account?sslmode=disable"
device: "postgres://dendrite:itsasecret@localhost/dendrite_device?sslmode=disable"
media_api: "postgres://dendrite:itsasecret@localhost/dendrite_mediaapi?sslmode=disable"
sync_api: "postgres://dendrite:itsasecret@localhost/dendrite_syncapi?sslmode=disable"
room_server: "postgres://dendrite:itsasecret@localhost/dendrite_roomserver?sslmode=disable"
server_key: "postgres://dendrite:itsasecret@localhost/dendrite_serverkey?sslmode=disable"
# The TCP host:port pairs to bind the internal HTTP APIs to.
# These shouldn't be exposed to the public internet.
listen:
room_server: "localhost:7770"
client_api: "localhost:7771"
federation_api: "localhost:7772"
sync_api: "localhost:7773"
media_api: "localhost:7774"

View file

@ -1,38 +0,0 @@
# The name of the server. This is usually the domain name, e.g 'matrix.org', 'localhost'.
server_name: "example.com"
# The base path to where the media files will be stored. May be relative or absolute.
base_path: /var/dendrite/media
# The maximum file size in bytes that is allowed to be stored on this server.
# Note: if max_file_size_bytes is set to 0, the size is unlimited.
# Note: if max_file_size_bytes is not set, it will default to 10485760 (10MB)
max_file_size_bytes: 10485760
# The postgres connection config for connecting to the database e.g a postgres:// URI
database: "postgres://dendrite:itsasecret@localhost/mediaapi?sslmode=disable"
# Whether to dynamically generate thumbnails on-the-fly if the requested resolution is not already generated
# NOTE: This is a possible denial-of-service attack vector - use at your own risk
dynamic_thumbnails: false
# A list of thumbnail sizes to be pre-generated for downloaded remote / uploaded content
# method is one of crop or scale. If omitted, it will default to scale.
# crop scales to fill the requested dimensions and crops the excess.
# scale scales to fit the requested dimensions and one dimension may be smaller than requested.
thumbnail_sizes:
- width: 32
height: 32
method: crop
- width: 96
height: 96
method: crop
- width: 320
height: 240
method: scale
- width: 640
height: 480
method: scale
- width: 800
height: 600
method: scale

View file

@ -30,7 +30,7 @@ import (
// Version is the current version of the config format. // Version is the current version of the config format.
// This will change whenever we make breaking changes to the config format. // This will change whenever we make breaking changes to the config format.
const Version = "v0" const Version = 0
// Dendrite contains all the config used by a dendrite process. // Dendrite contains all the config used by a dendrite process.
// Relative paths are resolved relative to the current working directory // Relative paths are resolved relative to the current working directory
@ -41,7 +41,7 @@ type Dendrite struct {
// to update their config file to the current version. // to update their config file to the current version.
// The version of the file should only be different if there has // The version of the file should only be different if there has
// been a breaking change to the config file format. // been a breaking change to the config file format.
Version string `yaml:"version"` Version int `yaml:"version"`
// The configuration required for a matrix server. // The configuration required for a matrix server.
Matrix struct { Matrix struct {

View file

@ -32,7 +32,7 @@ func TestLoadConfigRelative(t *testing.T) {
} }
const testConfig = ` const testConfig = `
version: v0 version: 0
matrix: matrix:
server_name: localhost server_name: localhost
private_key: matrix_key.pem private_key: matrix_key.pem

View file

@ -1,8 +0,0 @@
# A list of URIs which host Kafka logs.
consumer_uris: ["localhost:9092"]
# The name of the topic which the sync server will consume events from.
roomserver_topic: "roomserverOutput"
# The database URI to store sync server information.
database: "postgres://dendrite:itsasecret@localhost/syncserver?sslmode=disable"