aboutsummaryrefslogtreecommitdiff
path: root/forged/internal/server/server.go
diff options
context:
space:
mode:
Diffstat (limited to 'forged/internal/server/server.go')
-rw-r--r--forged/internal/server/server.go15
1 files changed, 10 insertions, 5 deletions
diff --git a/forged/internal/server/server.go b/forged/internal/server/server.go
index 62a9442..39a6823 100644
--- a/forged/internal/server/server.go
+++ b/forged/internal/server/server.go
@@ -39,11 +39,13 @@ func New(configPath string) (server *Server, err error) {
server.global.ForgeVersion = "unknown" // TODO
server.global.ForgeTitle = server.config.General.Title
+ server.global.Config = &server.config
+ server.global.Queries = queries
- server.hookServer = hooks.New(server.config.Hooks, &server.global)
- server.lmtpServer = lmtp.New(server.config.LMTP, &server.global)
- server.webServer = web.New(server.config.Web, &server.global, queries)
- server.sshServer, err = ssh.New(server.config.SSH, &server.global)
+ server.hookServer = hooks.New(&server.global)
+ server.lmtpServer = lmtp.New(&server.global)
+ server.webServer = web.New(&server.global)
+ server.sshServer, err = ssh.New(&server.global)
if err != nil {
return server, fmt.Errorf("create SSH server: %w", err)
}
@@ -57,12 +59,15 @@ func (server *Server) Run(ctx context.Context) (err error) {
g, gctx := errgroup.WithContext(ctx)
- server.database, err = database.Open(gctx, server.config.DB)
+ server.database, err = database.Open(gctx, server.config.DB.Conn)
if err != nil {
return fmt.Errorf("open database: %w", err)
}
defer server.database.Close()
+ // TODO: neater way to do this for transactions in querypool?
+ server.global.DB = &server.database
+
g.Go(func() error { return server.hookServer.Run(gctx) })
g.Go(func() error { return server.lmtpServer.Run(gctx) })
g.Go(func() error { return server.webServer.Run(gctx) })