Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
FinClip
ligase
提交
2d2c7e71
ligase
项目概览
FinClip
/
ligase
通知
37
Star
8
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
ligase
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
2d2c7e71
编写于
3月 29, 2017
作者:
K
Kegsay
提交者:
GitHub
3月 29, 2017
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
sync-server config: Read from a YAML file rather than hard-coded variables (#53)
上级
a4230089
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
47 addition
and
16 deletion
+47
-16
src/github.com/matrix-org/dendrite/clientapi/config/config.go
...github.com/matrix-org/dendrite/clientapi/config/config.go
+3
-3
src/github.com/matrix-org/dendrite/cmd/dendrite-sync-server/main.go
....com/matrix-org/dendrite/cmd/dendrite-sync-server/main.go
+36
-13
sync-server-config.yaml
sync-server-config.yaml
+8
-0
未找到文件。
src/github.com/matrix-org/dendrite/clientapi/config/config.go
浏览文件 @
2d2c7e71
...
...
@@ -22,9 +22,9 @@ type ClientAPI struct {
// Sync contains the config information necessary to spin up a sync-server process.
type
Sync
struct
{
// The topic for events which are written by the room server output log.
RoomserverOutputTopic
string
RoomserverOutputTopic
string
`yaml:"roomserver_topic"`
// A list of URIs to consume events from. These kafka logs should be produced by a Room Server.
KafkaConsumerURIs
[]
string
KafkaConsumerURIs
[]
string
`yaml:"consumer_uris"`
// The postgres connection config for connecting to the database e.g a postgres:// URI
DataSource
string
DataSource
string
`yaml:"database"`
}
src/github.com/matrix-org/dendrite/cmd/dendrite-sync-server/main.go
浏览文件 @
2d2c7e71
package
main
import
(
"flag"
"io/ioutil"
"net/http"
"os"
"path/filepath"
...
...
@@ -12,8 +14,12 @@ import (
log
"github.com/Sirupsen/logrus"
"github.com/matrix-org/dugong"
yaml
"gopkg.in/yaml.v2"
)
var
configPath
=
flag
.
String
(
"config"
,
"sync-server-config.yaml"
,
"The path to the config file. For more information, see the config file in this repository."
)
var
bindAddr
=
flag
.
String
(
"listen"
,
":4200"
,
"The port to listen on."
)
func
setupLogging
(
logDir
string
)
{
_
=
os
.
Mkdir
(
logDir
,
os
.
ModePerm
)
log
.
AddHook
(
dugong
.
NewFSHook
(
...
...
@@ -29,30 +35,46 @@ func setupLogging(logDir string) {
))
}
func
loadConfig
(
configPath
string
)
(
*
config
.
Sync
,
error
)
{
contents
,
err
:=
ioutil
.
ReadFile
(
configPath
)
if
err
!=
nil
{
return
nil
,
err
}
var
cfg
config
.
Sync
if
err
=
yaml
.
Unmarshal
(
contents
,
&
cfg
);
err
!=
nil
{
return
nil
,
err
}
// check required fields
return
&
cfg
,
nil
}
func
main
()
{
bindAddr
:=
os
.
Getenv
(
"BIND_ADDRESS"
)
if
bindAddr
==
""
{
log
.
Panic
(
"No BIND_ADDRESS environment variable found."
)
flag
.
Parse
()
if
*
configPath
==
""
{
log
.
Fatal
(
"--config must be supplied"
)
}
cfg
,
err
:=
loadConfig
(
*
configPath
)
if
err
!=
nil
{
log
.
Fatalf
(
"Invalid config file: %s"
,
err
)
}
if
*
bindAddr
==
""
{
log
.
Fatal
(
"--listen must be supplied"
)
}
logDir
:=
os
.
Getenv
(
"LOG_DIR"
)
if
logDir
!=
""
{
setupLogging
(
logDir
)
}
cfg
:=
config
.
Sync
{
KafkaConsumerURIs
:
[]
string
{
"localhost:9092"
},
RoomserverOutputTopic
:
"roomserverOutput"
,
DataSource
:
"postgres://dendrite:itsasecret@localhost/syncserver?sslmode=disable"
,
}
log
.
Info
(
"Starting sync server"
)
log
.
Info
(
"sync server config: "
,
cfg
)
db
,
err
:=
storage
.
NewSyncServerDatabase
(
cfg
.
DataSource
)
if
err
!=
nil
{
log
.
Panicf
(
"startup: failed to create sync server database with data source %s : %s"
,
cfg
.
DataSource
,
err
)
}
server
,
err
:=
sync
.
NewServer
(
&
cfg
,
db
)
server
,
err
:=
sync
.
NewServer
(
cfg
,
db
)
if
err
!=
nil
{
log
.
Panicf
(
"startup: failed to create sync server: %s"
,
err
)
}
...
...
@@ -60,6 +82,7 @@ func main() {
log
.
Panicf
(
"startup: failed to start sync server"
)
}
routing
.
SetupSyncServerListeners
(
http
.
DefaultServeMux
,
http
.
DefaultClient
,
cfg
)
log
.
Fatal
(
http
.
ListenAndServe
(
bindAddr
,
nil
))
log
.
Info
(
"Starting sync server on "
,
*
bindAddr
)
routing
.
SetupSyncServerListeners
(
http
.
DefaultServeMux
,
http
.
DefaultClient
,
*
cfg
)
log
.
Fatal
(
http
.
ListenAndServe
(
*
bindAddr
,
nil
))
}
sync-server-config.yaml
0 → 100644
浏览文件 @
2d2c7e71
# 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"
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录