62 lines
1.6 KiB
Go
62 lines
1.6 KiB
Go
package etc
|
|
|
|
import (
|
|
lib "git.sr.ht/~cco/go-scopes"
|
|
"git.sr.ht/~cco/go-scopes/app"
|
|
"git.sr.ht/~cco/go-scopes/config"
|
|
"git.sr.ht/~cco/go-scopes/core/action"
|
|
"git.sr.ht/~cco/go-scopes/logging"
|
|
"git.sr.ht/~cco/go-scopes/server"
|
|
sql "git.sr.ht/~cco/go-scopes/storage"
|
|
msgstore "git.sr.ht/~cco/go-scopes/storage/message"
|
|
)
|
|
|
|
func Config() lib.Config {
|
|
ovr := Overrides().Use
|
|
b := config.Base
|
|
|
|
app_c := &app.Cfg{
|
|
BaseCfg: b("dummy", app.Start),
|
|
Home: ovr(".", HOME),
|
|
Logging: &logging.Cfg{
|
|
Logfile: ovr("log/scopes.log", LOGFILE),
|
|
Level: ovr("info", LOGLEVEL),
|
|
},
|
|
}
|
|
|
|
server_c := b("server", server.Start(
|
|
(&server.Cfg{Port: ovr("8123", SERVER_PORT)}).
|
|
AddRoute("/docs", server.FileServer(ovr("html", DOCROOT))).
|
|
AddRoute("/api", server.MsgHandler().
|
|
AddActionProc("scopes|data", server.Async, "msgstore"))))
|
|
|
|
msgstore_c := b("msgstore", sql.Start(
|
|
&sql.Cfg{
|
|
Driver: "postgres",
|
|
Connstr: ovr("user=cco password=dummy dbname=scps", PGSQL_CONNSTR),
|
|
}))
|
|
msgstore_c.AddAction("scopes|data", action.Base(msgstore.Store))
|
|
|
|
app_c.Add(server_c, msgstore_c)
|
|
|
|
return app_c
|
|
}
|
|
|
|
// collect here the names of fields that may be overridden via
|
|
// explicit Override() or SCOPES_* environment settings.
|
|
const (
|
|
HOME = "home"
|
|
LOGFILE = "logfile"
|
|
LOGLEVEL = "loglevel"
|
|
SERVER_PORT = "server_port"
|
|
DOCROOT = "docroot"
|
|
PGSQL_CONNSTR = "pgsql_connstr"
|
|
)
|
|
|
|
// put something like this (without comment markup)
|
|
// in separate (non-versioned) settings.go file:
|
|
/*func Overrides() config.Settings {
|
|
return config.Settings{
|
|
SERVER_PORT: "8126",
|
|
}
|
|
}*/
|