diff options
author | Runxi Yu <me@runxiyu.org> | 2025-08-17 03:09:52 +0800 |
---|---|---|
committer | Runxi Yu <me@runxiyu.org> | 2025-08-17 03:09:52 +0800 |
commit | 009a6e397651a9540b6c6bb74ef2230eeda9b577 (patch) | |
tree | 0a808670d95aba5804a73a558cc335a49d230aa6 | |
parent | Remove HTML templates from main server (diff) | |
download | forge-009a6e397651a9540b6c6bb74ef2230eeda9b577.tar.gz forge-009a6e397651a9540b6c6bb74ef2230eeda9b577.tar.zst forge-009a6e397651a9540b6c6bb74ef2230eeda9b577.zip |
Some mass renaming
-rw-r--r-- | forge.scfg | 2 | ||||
-rw-r--r-- | forged/.golangci.yaml | 76 | ||||
-rw-r--r-- | forged/internal/common/ansiec/colors.go (renamed from forged/internal/ansiec/colors.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/ansiec/doc.go (renamed from forged/internal/ansiec/doc.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/ansiec/reset.go (renamed from forged/internal/ansiec/reset.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/ansiec/style.go (renamed from forged/internal/ansiec/style.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/argon2id/argon2id.go (renamed from forged/internal/argon2id/argon2id.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/bare/doc.go (renamed from forged/internal/bare/doc.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/bare/errors.go (renamed from forged/internal/bare/errors.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/bare/limit.go (renamed from forged/internal/bare/limit.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/bare/marshal.go (renamed from forged/internal/bare/marshal.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/bare/reader.go (renamed from forged/internal/bare/reader.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/bare/unions.go (renamed from forged/internal/bare/unions.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/bare/unmarshal.go (renamed from forged/internal/bare/unmarshal.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/bare/varint.go (renamed from forged/internal/bare/varint.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/bare/writer.go (renamed from forged/internal/bare/writer.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/cmap/comparable_map.go (renamed from forged/internal/cmap/comparable_map.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/cmap/map.go (renamed from forged/internal/cmap/map.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/humanize/bytes.go (renamed from forged/internal/humanize/bytes.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/misc/back.go (renamed from forged/internal/misc/back.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/misc/deploy.go (renamed from forged/internal/misc/deploy.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/misc/iter.go (renamed from forged/internal/misc/iter.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/misc/misc.go (renamed from forged/internal/misc/misc.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/misc/panic.go (renamed from forged/internal/misc/panic.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/misc/slices.go (renamed from forged/internal/misc/slices.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/misc/trivial.go (renamed from forged/internal/misc/trivial.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/misc/unsafe.go (renamed from forged/internal/misc/unsafe.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/misc/url.go (renamed from forged/internal/misc/url.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/misc/usock.go (renamed from forged/internal/misc/usock.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/scfg/.golangci.yaml (renamed from forged/internal/scfg/.golangci.yaml) | 0 | ||||
-rw-r--r-- | forged/internal/common/scfg/reader.go (renamed from forged/internal/scfg/reader.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/scfg/scfg.go (renamed from forged/internal/scfg/scfg.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/scfg/struct.go (renamed from forged/internal/scfg/struct.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/scfg/unmarshal.go (renamed from forged/internal/scfg/unmarshal.go) | 0 | ||||
-rw-r--r-- | forged/internal/common/scfg/writer.go (renamed from forged/internal/scfg/writer.go) | 0 | ||||
-rw-r--r-- | forged/internal/config/config.go | 43 | ||||
-rw-r--r-- | forged/internal/incoming/hooks/hooks.go (renamed from forged/internal/hooki/hooki.go) | 21 | ||||
-rw-r--r-- | forged/internal/incoming/lmtp/config.go (renamed from forged/internal/lmtp/config.go) | 23 | ||||
-rw-r--r-- | forged/internal/incoming/ssh/ssh.go | 10 | ||||
-rw-r--r-- | forged/internal/incoming/web/web.go | 18 | ||||
-rw-r--r-- | forged/internal/ipc/git2c/client.go (renamed from forged/internal/git2c/client.go) | 0 | ||||
-rw-r--r-- | forged/internal/ipc/git2c/cmd_index.go (renamed from forged/internal/git2c/cmd_index.go) | 0 | ||||
-rw-r--r-- | forged/internal/ipc/git2c/cmd_treeraw.go (renamed from forged/internal/git2c/cmd_treeraw.go) | 0 | ||||
-rw-r--r-- | forged/internal/ipc/git2c/doc.go (renamed from forged/internal/git2c/doc.go) | 0 | ||||
-rw-r--r-- | forged/internal/ipc/git2c/git_types.go (renamed from forged/internal/git2c/git_types.go) | 0 | ||||
-rw-r--r-- | forged/internal/ipc/git2c/perror.go (renamed from forged/internal/git2c/perror.go) | 0 | ||||
-rw-r--r-- | forged/internal/ipc/irc/bot.go (renamed from forged/internal/irc/bot.go) | 2 | ||||
-rw-r--r-- | forged/internal/ipc/irc/conn.go (renamed from forged/internal/irc/conn.go) | 2 | ||||
-rw-r--r-- | forged/internal/ipc/irc/doc.go (renamed from forged/internal/irc/doc.go) | 0 | ||||
-rw-r--r-- | forged/internal/ipc/irc/errors.go (renamed from forged/internal/irc/errors.go) | 0 | ||||
-rw-r--r-- | forged/internal/ipc/irc/message.go (renamed from forged/internal/irc/message.go) | 2 | ||||
-rw-r--r-- | forged/internal/ipc/irc/source.go (renamed from forged/internal/irc/source.go) | 2 | ||||
-rw-r--r-- | forged/internal/server/server.go | 32 |
53 files changed, 130 insertions, 103 deletions
@@ -1,4 +1,4 @@ -http { +web { # What network transport should we listen on? # Examples: tcp tcp4 tcp6 unix net tcp diff --git a/forged/.golangci.yaml b/forged/.golangci.yaml index e475c41..7bd6ec1 100644 --- a/forged/.golangci.yaml +++ b/forged/.golangci.yaml @@ -2,41 +2,41 @@ version: "2" linters: default: all - disable: - - depguard - - err113 # dynamically defined errors are fine for our purposes - - forcetypeassert # type assertion failures are usually programming errors - - gochecknoinits # we use inits sparingly for good reasons - - godox # they're just used as markers for where needs improvements - - ireturn # doesn't work well with how we use generics - - lll # long lines are acceptable - - mnd # it's a bit ridiculous to replace all of them - - nakedret # patterns should be consistent - - nonamedreturns # i like named returns - - wrapcheck # wrapping all errors is just not necessary - - varnamelen # "from" and "to" are very valid - - containedctx - - godot - - dogsled - - maintidx # e - - nestif # e - - gocognit # e - - gocyclo # e - - dupl # e - - cyclop # e - - goconst # e - - funlen # e - - wsl # e - - nlreturn # e - - unused # e - - exhaustruct # e - -linters-settings: - revive: - rules: - - name: error-strings - disabled: true - -issues: - max-issues-per-linter: 0 - max-same-issues: 0 +# disable: +# - depguard +# - err113 # dynamically defined errors are fine for our purposes +# - forcetypeassert # type assertion failures are usually programming errors +# - gochecknoinits # we use inits sparingly for good reasons +# - godox # they're just used as markers for where needs improvements +# - ireturn # doesn't work well with how we use generics +# - lll # long lines are acceptable +# - mnd # it's a bit ridiculous to replace all of them +# - nakedret # patterns should be consistent +# - nonamedreturns # i like named returns +# - wrapcheck # wrapping all errors is just not necessary +# - varnamelen # "from" and "to" are very valid +# - containedctx +# - godot +# - dogsled +# - maintidx # e +# - nestif # e +# - gocognit # e +# - gocyclo # e +# - dupl # e +# - cyclop # e +# - goconst # e +# - funlen # e +# - wsl # e +# - nlreturn # e +# - unused # e +# - exhaustruct # e +# +# linters-settings: +# revive: +# rules: +# - name: error-strings +# disabled: true +# +# issues: +# max-issues-per-linter: 0 +# max-same-issues: 0 diff --git a/forged/internal/ansiec/colors.go b/forged/internal/common/ansiec/colors.go index 8e5f54b..8e5f54b 100644 --- a/forged/internal/ansiec/colors.go +++ b/forged/internal/common/ansiec/colors.go diff --git a/forged/internal/ansiec/doc.go b/forged/internal/common/ansiec/doc.go index 542c564..542c564 100644 --- a/forged/internal/ansiec/doc.go +++ b/forged/internal/common/ansiec/doc.go diff --git a/forged/internal/ansiec/reset.go b/forged/internal/common/ansiec/reset.go index c5b6ba6..c5b6ba6 100644 --- a/forged/internal/ansiec/reset.go +++ b/forged/internal/common/ansiec/reset.go diff --git a/forged/internal/ansiec/style.go b/forged/internal/common/ansiec/style.go index dd37344..dd37344 100644 --- a/forged/internal/ansiec/style.go +++ b/forged/internal/common/ansiec/style.go diff --git a/forged/internal/argon2id/argon2id.go b/forged/internal/common/argon2id/argon2id.go index 88df8f6..88df8f6 100644 --- a/forged/internal/argon2id/argon2id.go +++ b/forged/internal/common/argon2id/argon2id.go diff --git a/forged/internal/bare/doc.go b/forged/internal/common/bare/doc.go index 2f12f55..2f12f55 100644 --- a/forged/internal/bare/doc.go +++ b/forged/internal/common/bare/doc.go diff --git a/forged/internal/bare/errors.go b/forged/internal/common/bare/errors.go index 39c951a..39c951a 100644 --- a/forged/internal/bare/errors.go +++ b/forged/internal/common/bare/errors.go diff --git a/forged/internal/bare/limit.go b/forged/internal/common/bare/limit.go index 212bc05..212bc05 100644 --- a/forged/internal/bare/limit.go +++ b/forged/internal/common/bare/limit.go diff --git a/forged/internal/bare/marshal.go b/forged/internal/common/bare/marshal.go index 1ce942d..1ce942d 100644 --- a/forged/internal/bare/marshal.go +++ b/forged/internal/common/bare/marshal.go diff --git a/forged/internal/bare/reader.go b/forged/internal/common/bare/reader.go index 58325e3..58325e3 100644 --- a/forged/internal/bare/reader.go +++ b/forged/internal/common/bare/reader.go diff --git a/forged/internal/bare/unions.go b/forged/internal/common/bare/unions.go index 0270a5f..0270a5f 100644 --- a/forged/internal/bare/unions.go +++ b/forged/internal/common/bare/unions.go diff --git a/forged/internal/bare/unmarshal.go b/forged/internal/common/bare/unmarshal.go index d55f32c..d55f32c 100644 --- a/forged/internal/bare/unmarshal.go +++ b/forged/internal/common/bare/unmarshal.go diff --git a/forged/internal/bare/varint.go b/forged/internal/common/bare/varint.go index a185ac8..a185ac8 100644 --- a/forged/internal/bare/varint.go +++ b/forged/internal/common/bare/varint.go diff --git a/forged/internal/bare/writer.go b/forged/internal/common/bare/writer.go index bada045..bada045 100644 --- a/forged/internal/bare/writer.go +++ b/forged/internal/common/bare/writer.go diff --git a/forged/internal/cmap/comparable_map.go b/forged/internal/common/cmap/comparable_map.go index cd9d4ce..cd9d4ce 100644 --- a/forged/internal/cmap/comparable_map.go +++ b/forged/internal/common/cmap/comparable_map.go diff --git a/forged/internal/cmap/map.go b/forged/internal/common/cmap/map.go index 4f43627..4f43627 100644 --- a/forged/internal/cmap/map.go +++ b/forged/internal/common/cmap/map.go diff --git a/forged/internal/humanize/bytes.go b/forged/internal/common/humanize/bytes.go index bea504c..bea504c 100644 --- a/forged/internal/humanize/bytes.go +++ b/forged/internal/common/humanize/bytes.go diff --git a/forged/internal/misc/back.go b/forged/internal/common/misc/back.go index 5351359..5351359 100644 --- a/forged/internal/misc/back.go +++ b/forged/internal/common/misc/back.go diff --git a/forged/internal/misc/deploy.go b/forged/internal/common/misc/deploy.go index 3ee5f92..3ee5f92 100644 --- a/forged/internal/misc/deploy.go +++ b/forged/internal/common/misc/deploy.go diff --git a/forged/internal/misc/iter.go b/forged/internal/common/misc/iter.go index 61a96f4..61a96f4 100644 --- a/forged/internal/misc/iter.go +++ b/forged/internal/common/misc/iter.go diff --git a/forged/internal/misc/misc.go b/forged/internal/common/misc/misc.go index e9e10ab..e9e10ab 100644 --- a/forged/internal/misc/misc.go +++ b/forged/internal/common/misc/misc.go diff --git a/forged/internal/misc/panic.go b/forged/internal/common/misc/panic.go index 34c49c5..34c49c5 100644 --- a/forged/internal/misc/panic.go +++ b/forged/internal/common/misc/panic.go diff --git a/forged/internal/misc/slices.go b/forged/internal/common/misc/slices.go index 3ad0211..3ad0211 100644 --- a/forged/internal/misc/slices.go +++ b/forged/internal/common/misc/slices.go diff --git a/forged/internal/misc/trivial.go b/forged/internal/common/misc/trivial.go index e59c17e..e59c17e 100644 --- a/forged/internal/misc/trivial.go +++ b/forged/internal/common/misc/trivial.go diff --git a/forged/internal/misc/unsafe.go b/forged/internal/common/misc/unsafe.go index 6c2192f..6c2192f 100644 --- a/forged/internal/misc/unsafe.go +++ b/forged/internal/common/misc/unsafe.go diff --git a/forged/internal/misc/url.go b/forged/internal/common/misc/url.go index 346ff76..346ff76 100644 --- a/forged/internal/misc/url.go +++ b/forged/internal/common/misc/url.go diff --git a/forged/internal/misc/usock.go b/forged/internal/common/misc/usock.go index 357fa43..357fa43 100644 --- a/forged/internal/misc/usock.go +++ b/forged/internal/common/misc/usock.go diff --git a/forged/internal/scfg/.golangci.yaml b/forged/internal/common/scfg/.golangci.yaml index 59f1970..59f1970 100644 --- a/forged/internal/scfg/.golangci.yaml +++ b/forged/internal/common/scfg/.golangci.yaml diff --git a/forged/internal/scfg/reader.go b/forged/internal/common/scfg/reader.go index 6a2bedc..6a2bedc 100644 --- a/forged/internal/scfg/reader.go +++ b/forged/internal/common/scfg/reader.go diff --git a/forged/internal/scfg/scfg.go b/forged/internal/common/scfg/scfg.go index 4533e63..4533e63 100644 --- a/forged/internal/scfg/scfg.go +++ b/forged/internal/common/scfg/scfg.go diff --git a/forged/internal/scfg/struct.go b/forged/internal/common/scfg/struct.go index 98ec943..98ec943 100644 --- a/forged/internal/scfg/struct.go +++ b/forged/internal/common/scfg/struct.go diff --git a/forged/internal/scfg/unmarshal.go b/forged/internal/common/scfg/unmarshal.go index 8befc10..8befc10 100644 --- a/forged/internal/scfg/unmarshal.go +++ b/forged/internal/common/scfg/unmarshal.go diff --git a/forged/internal/scfg/writer.go b/forged/internal/common/scfg/writer.go index 02a07fe..02a07fe 100644 --- a/forged/internal/scfg/writer.go +++ b/forged/internal/common/scfg/writer.go diff --git a/forged/internal/config/config.go b/forged/internal/config/config.go index 0166390..dd0a983 100644 --- a/forged/internal/config/config.go +++ b/forged/internal/config/config.go @@ -5,47 +5,30 @@ import ( "log/slog" "os" + "go.lindenii.runxiyu.org/forge/forged/internal/common/scfg" "go.lindenii.runxiyu.org/forge/forged/internal/database" - "go.lindenii.runxiyu.org/forge/forged/internal/hooki" - "go.lindenii.runxiyu.org/forge/forged/internal/irc" - "go.lindenii.runxiyu.org/forge/forged/internal/scfg" + "go.lindenii.runxiyu.org/forge/forged/internal/incoming/hooks" + "go.lindenii.runxiyu.org/forge/forged/internal/incoming/lmtp" + "go.lindenii.runxiyu.org/forge/forged/internal/incoming/ssh" + "go.lindenii.runxiyu.org/forge/forged/internal/incoming/web" + "go.lindenii.runxiyu.org/forge/forged/internal/ipc/irc" ) type Config struct { - HTTP struct { - Net string `scfg:"net"` - Addr string `scfg:"addr"` - CookieExpiry int `scfg:"cookie_expiry"` - Root string `scfg:"root"` - ReadTimeout uint32 `scfg:"read_timeout"` - WriteTimeout uint32 `scfg:"write_timeout"` - IdleTimeout uint32 `scfg:"idle_timeout"` - ReverseProxy bool `scfg:"reverse_proxy"` - } `scfg:"http"` - Hooks hooki.Config `scfg:"hooks"` - LMTP struct { - Socket string `scfg:"socket"` - Domain string `scfg:"domain"` - MaxSize int64 `scfg:"max_size"` - WriteTimeout uint32 `scfg:"write_timeout"` - ReadTimeout uint32 `scfg:"read_timeout"` - } `scfg:"lmtp"` - Git struct { + DB database.Config `scfg:"db"` + Web web.Config `scfg:"web"` + Hooks hooks.Config `scfg:"hooks"` + LMTP lmtp.Config `scfg:"lmtp"` + SSH ssh.Config `scfg:"ssh"` + IRC irc.Config `scfg:"irc"` + Git struct { RepoDir string `scfg:"repo_dir"` Socket string `scfg:"socket"` DaemonPath string `scfg:"daemon_path"` } `scfg:"git"` - SSH struct { - Net string `scfg:"net"` - Addr string `scfg:"addr"` - Key string `scfg:"key"` - Root string `scfg:"root"` - } `scfg:"ssh"` - IRC irc.Config `scfg:"irc"` General struct { Title string `scfg:"title"` } `scfg:"general"` - DB database.Config `scfg:"db"` Pprof struct { Net string `scfg:"net"` Addr string `scfg:"addr"` diff --git a/forged/internal/hooki/hooki.go b/forged/internal/incoming/hooks/hooks.go index 8e75bae..64e1cbe 100644 --- a/forged/internal/hooki/hooki.go +++ b/forged/internal/incoming/hooks/hooks.go @@ -1,15 +1,15 @@ -package hooki +package hooks import ( "fmt" "net" "github.com/gliderlabs/ssh" - "go.lindenii.runxiyu.org/forge/forged/internal/cmap" - "go.lindenii.runxiyu.org/forge/forged/internal/misc" + "go.lindenii.runxiyu.org/forge/forged/internal/common/cmap" + "go.lindenii.runxiyu.org/forge/forged/internal/common/misc" ) -type Pool struct { +type Server struct { hookMap cmap.Map[string, hookInfo] socketPath string executablesPath string @@ -33,13 +33,14 @@ type hookInfo struct { contribReq string } -func New(config Config) (pool Pool) { - pool.socketPath = config.Socket - pool.executablesPath = config.Execs - return +func New(config Config) (pool *Server) { + return &Server{ + socketPath: config.Socket, + executablesPath: config.Execs, + } } -func (pool *Pool) Run() error { +func (pool *Server) Run() error { listener, _, err := misc.ListenUnixSocket(pool.socketPath) if err != nil { return fmt.Errorf("listen unix socket for hooks: %w", err) @@ -55,6 +56,6 @@ func (pool *Pool) Run() error { } } -func (pool *Pool) handleConn(conn net.Conn) { +func (pool *Server) handleConn(conn net.Conn) { panic("TODO: handle hook connection") } diff --git a/forged/internal/lmtp/config.go b/forged/internal/incoming/lmtp/config.go index ce22740..767f0e4 100644 --- a/forged/internal/lmtp/config.go +++ b/forged/internal/incoming/lmtp/config.go @@ -4,10 +4,10 @@ import ( "fmt" "net" - "go.lindenii.runxiyu.org/forge/forged/internal/misc" + "go.lindenii.runxiyu.org/forge/forged/internal/common/misc" ) -type Pool struct { +type Server struct { socket string domain string maxSize int64 @@ -23,16 +23,17 @@ type Config struct { ReadTimeout uint32 `scfg:"read_timeout"` } -func New(config Config) (pool Pool) { - pool.socket = config.Socket - pool.domain = config.Domain - pool.maxSize = config.MaxSize - pool.writeTimeout = config.WriteTimeout - pool.readTimeout = config.ReadTimeout - return pool +func New(config Config) (pool *Server) { + return &Server{ + socket: config.Socket, + domain: config.Domain, + maxSize: config.MaxSize, + writeTimeout: config.WriteTimeout, + readTimeout: config.ReadTimeout, + } } -func (pool *Pool) Run() error { +func (pool *Server) Run() error { listener, _, err := misc.ListenUnixSocket(pool.socket) if err != nil { return fmt.Errorf("listen unix socket for LMTP: %w", err) @@ -48,6 +49,6 @@ func (pool *Pool) Run() error { } } -func (pool *Pool) handleConn(conn net.Conn) { +func (pool *Server) handleConn(conn net.Conn) { panic("TODO: handle LMTP connection") } diff --git a/forged/internal/incoming/ssh/ssh.go b/forged/internal/incoming/ssh/ssh.go new file mode 100644 index 0000000..74bd99b --- /dev/null +++ b/forged/internal/incoming/ssh/ssh.go @@ -0,0 +1,10 @@ +package ssh + +type Server struct{} + +type Config struct { + Net string `scfg:"net"` + Addr string `scfg:"addr"` + Key string `scfg:"key"` + Root string `scfg:"root"` +} diff --git a/forged/internal/incoming/web/web.go b/forged/internal/incoming/web/web.go new file mode 100644 index 0000000..e338ef2 --- /dev/null +++ b/forged/internal/incoming/web/web.go @@ -0,0 +1,18 @@ +package web + +import "net/http" + +type Server struct { + httpServer *http.Server +} + +type Config struct { + Net string `scfg:"net"` + Addr string `scfg:"addr"` + CookieExpiry int `scfg:"cookie_expiry"` + Root string `scfg:"root"` + ReadTimeout uint32 `scfg:"read_timeout"` + WriteTimeout uint32 `scfg:"write_timeout"` + IdleTimeout uint32 `scfg:"idle_timeout"` + ReverseProxy bool `scfg:"reverse_proxy"` +} diff --git a/forged/internal/git2c/client.go b/forged/internal/ipc/git2c/client.go index d8dc2ea..d8dc2ea 100644 --- a/forged/internal/git2c/client.go +++ b/forged/internal/ipc/git2c/client.go diff --git a/forged/internal/git2c/cmd_index.go b/forged/internal/ipc/git2c/cmd_index.go index 8862b2c..8862b2c 100644 --- a/forged/internal/git2c/cmd_index.go +++ b/forged/internal/ipc/git2c/cmd_index.go diff --git a/forged/internal/git2c/cmd_treeraw.go b/forged/internal/ipc/git2c/cmd_treeraw.go index 492cb84..492cb84 100644 --- a/forged/internal/git2c/cmd_treeraw.go +++ b/forged/internal/ipc/git2c/cmd_treeraw.go diff --git a/forged/internal/git2c/doc.go b/forged/internal/ipc/git2c/doc.go index e14dae0..e14dae0 100644 --- a/forged/internal/git2c/doc.go +++ b/forged/internal/ipc/git2c/doc.go diff --git a/forged/internal/git2c/git_types.go b/forged/internal/ipc/git2c/git_types.go index bf13f05..bf13f05 100644 --- a/forged/internal/git2c/git_types.go +++ b/forged/internal/ipc/git2c/git_types.go diff --git a/forged/internal/git2c/perror.go b/forged/internal/ipc/git2c/perror.go index 96bffd5..96bffd5 100644 --- a/forged/internal/git2c/perror.go +++ b/forged/internal/ipc/git2c/perror.go diff --git a/forged/internal/irc/bot.go b/forged/internal/ipc/irc/bot.go index 3ebac89..6113913 100644 --- a/forged/internal/irc/bot.go +++ b/forged/internal/ipc/irc/bot.go @@ -8,7 +8,7 @@ import ( "log/slog" "net" - "go.lindenii.runxiyu.org/forge/forged/internal/misc" + "go.lindenii.runxiyu.org/forge/forged/internal/common/misc" ) // Config contains IRC connection and identity settings for the bot. diff --git a/forged/internal/irc/conn.go b/forged/internal/ipc/irc/conn.go index b975b72..15294ee 100644 --- a/forged/internal/irc/conn.go +++ b/forged/internal/ipc/irc/conn.go @@ -5,7 +5,7 @@ import ( "net" "slices" - "go.lindenii.runxiyu.org/forge/forged/internal/misc" + "go.lindenii.runxiyu.org/forge/forged/internal/common/misc" ) type Conn struct { diff --git a/forged/internal/irc/doc.go b/forged/internal/ipc/irc/doc.go index dcfca82..dcfca82 100644 --- a/forged/internal/irc/doc.go +++ b/forged/internal/ipc/irc/doc.go diff --git a/forged/internal/irc/errors.go b/forged/internal/ipc/irc/errors.go index 3506c70..3506c70 100644 --- a/forged/internal/irc/errors.go +++ b/forged/internal/ipc/irc/errors.go diff --git a/forged/internal/irc/message.go b/forged/internal/ipc/irc/message.go index 84b6867..5843226 100644 --- a/forged/internal/irc/message.go +++ b/forged/internal/ipc/irc/message.go @@ -7,7 +7,7 @@ package irc import ( "bytes" - "go.lindenii.runxiyu.org/forge/forged/internal/misc" + "go.lindenii.runxiyu.org/forge/forged/internal/common/misc" ) type Message struct { diff --git a/forged/internal/irc/source.go b/forged/internal/ipc/irc/source.go index d955f45..c6baf75 100644 --- a/forged/internal/irc/source.go +++ b/forged/internal/ipc/irc/source.go @@ -6,7 +6,7 @@ package irc import ( "bytes" - "go.lindenii.runxiyu.org/forge/forged/internal/misc" + "go.lindenii.runxiyu.org/forge/forged/internal/common/misc" ) type Source interface { diff --git a/forged/internal/server/server.go b/forged/internal/server/server.go index 4ed9b44..1f2cce6 100644 --- a/forged/internal/server/server.go +++ b/forged/internal/server/server.go @@ -7,16 +7,26 @@ import ( "go.lindenii.runxiyu.org/forge/forged/internal/config" "go.lindenii.runxiyu.org/forge/forged/internal/database" - "go.lindenii.runxiyu.org/forge/forged/internal/hooki" - "go.lindenii.runxiyu.org/forge/forged/internal/lmtp" + "go.lindenii.runxiyu.org/forge/forged/internal/incoming/hooks" + "go.lindenii.runxiyu.org/forge/forged/internal/incoming/lmtp" + "go.lindenii.runxiyu.org/forge/forged/internal/incoming/ssh" + "go.lindenii.runxiyu.org/forge/forged/internal/incoming/web" ) type Server struct { config config.Config - database database.Database - hookPool hooki.Pool - lmtpPool lmtp.Pool + database database.Database + hookServer *hooks.Server + lmtpServer *lmtp.Server + webServer *web.Server + sshServer *ssh.Server + + globalData struct { + SSHPubkey string + SSHFingerprint string + Version string + } } func New(ctx context.Context, configPath string) (server *Server, err error) { @@ -33,6 +43,12 @@ func New(ctx context.Context, configPath string) (server *Server, err error) { return server, fmt.Errorf("open database: %w", err) } + server.hookServer = hooks.New(server.config.Hooks) + + server.lmtpServer = lmtp.New(server.config.LMTP) + + // TODO: Add HTTP and SSH servers + return server, nil } @@ -41,15 +57,13 @@ func (s *Server) Run() error { // This needs to be documented somewhere, hence a TODO here for now. go func() { - s.hookPool = hooki.New(s.config.Hooks) - if err := s.hookPool.Run(); err != nil { + if err := s.hookServer.Run(); err != nil { log.Fatalf("run hook pool: %v", err) } }() go func() { - s.lmtpPool = lmtp.New(s.config.LMTP) - if err := s.lmtpPool.Run(); err != nil { + if err := s.lmtpServer.Run(); err != nil { log.Fatalf("run LMTP pool: %v", err) } }() |