no cache archive reader
This commit is contained in:
parent
bcda69daad
commit
5591f145a9
16 changed files with 579 additions and 272 deletions
cmd/tstor
|
@ -3,6 +3,7 @@ package main
|
|||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"log/slog"
|
||||
|
||||
"net"
|
||||
nethttp "net/http"
|
||||
|
@ -79,12 +80,13 @@ func run(configPath string) error {
|
|||
defer client.Shutdown(ctx)
|
||||
}
|
||||
|
||||
log := rlog.ComponentLog("run")
|
||||
log := rlog.Component("run")
|
||||
ctx := context.Background()
|
||||
|
||||
// TODO make optional
|
||||
err = syscall.Setpriority(syscall.PRIO_PGRP, 0, 19)
|
||||
if err != nil {
|
||||
log.Error("set priority failed", "error", err)
|
||||
log.Error(ctx, "set priority failed", rlog.Error(err))
|
||||
}
|
||||
|
||||
if err := os.MkdirAll(conf.TorrentClient.MetadataFolder, 0744); err != nil {
|
||||
|
@ -186,18 +188,19 @@ func run(configPath string) error {
|
|||
if conf.Mounts.WebDAV.Enabled {
|
||||
go func() {
|
||||
if err := webdav.NewWebDAVServer(sfs, conf.Mounts.WebDAV.Port, conf.Mounts.WebDAV.User, conf.Mounts.WebDAV.Pass); err != nil {
|
||||
log.Error("error starting webDAV", "error", err)
|
||||
log.Error(ctx, "error starting webDAV", rlog.Error(err))
|
||||
}
|
||||
|
||||
log.Warn("webDAV configuration not found!")
|
||||
log.Warn(ctx, "webDAV configuration not found!")
|
||||
}()
|
||||
}
|
||||
if conf.Mounts.HttpFs.Enabled {
|
||||
go func() {
|
||||
httpfs := httpfs.NewHTTPFS(sfs)
|
||||
err = nethttp.ListenAndServe(fmt.Sprintf("0.0.0.0:%d", conf.Mounts.HttpFs.Port), nethttp.FileServer(httpfs))
|
||||
addr := fmt.Sprintf("0.0.0.0:%d", conf.Mounts.HttpFs.Port)
|
||||
err = nethttp.ListenAndServe(addr, nethttp.FileServer(httpfs))
|
||||
if err != nil {
|
||||
log.Error("error starting HTTPFS", "error", err)
|
||||
log.Error(ctx, "error starting HTTPFS", rlog.Error(err))
|
||||
}
|
||||
// r := gin.New()
|
||||
|
||||
|
@ -206,7 +209,7 @@ func run(configPath string) error {
|
|||
// c.FileFromFS(path, httpfs)
|
||||
// })
|
||||
|
||||
log.Info("starting HTTPFS", "host", fmt.Sprintf("0.0.0.0:%d", conf.Mounts.HttpFs.Port))
|
||||
log.Info(ctx, "starting HTTPFS", slog.String("address", addr))
|
||||
// if err := r.Run(fmt.Sprintf("0.0.0.0:%d", conf.Mounts.HttpFs.Port)); err != nil {
|
||||
// log.Error().Err(err).Msg("error starting HTTPFS")
|
||||
// }
|
||||
|
@ -215,22 +218,22 @@ func run(configPath string) error {
|
|||
|
||||
if conf.Mounts.NFS.Enabled {
|
||||
go func() {
|
||||
log := log.With("component", "NFS")
|
||||
log := log.WithComponent("NFS")
|
||||
listener, err := net.Listen("tcp", fmt.Sprintf("0.0.0.0:%d", conf.Mounts.NFS.Port))
|
||||
if err != nil {
|
||||
log.Error("failed to start TCP listener", err)
|
||||
log.Error(ctx, "failed to start TCP listener", rlog.Error(err))
|
||||
return
|
||||
}
|
||||
log.Info("starting NFS server", "host", listener.Addr().String())
|
||||
log.Info(ctx, "starting NFS server", slog.String("address", listener.Addr().String()))
|
||||
handler, err := nfs.NewNFSv3Handler(sfs)
|
||||
if err != nil {
|
||||
log.Error("failed to create NFS handler", "error", err)
|
||||
log.Error(ctx, "failed to create NFS handler", rlog.Error(err))
|
||||
return
|
||||
}
|
||||
|
||||
err = wnfs.Serve(listener, handler)
|
||||
if err != nil {
|
||||
log.Error("error serving nfs", "error", err)
|
||||
log.Error(ctx, "error serving nfs", rlog.Error(err))
|
||||
return
|
||||
}
|
||||
}()
|
||||
|
@ -239,7 +242,7 @@ func run(configPath string) error {
|
|||
go func() {
|
||||
err := webdav.NewDirServer(conf.SourceDir, 36912, conf.Mounts.WebDAV.User, conf.Mounts.WebDAV.Pass)
|
||||
if err != nil {
|
||||
log.Error("error starting webDAV", "error", err)
|
||||
log.Error(ctx, "error starting webDAV", rlog.Error(err))
|
||||
}
|
||||
}()
|
||||
|
||||
|
@ -248,7 +251,7 @@ func run(configPath string) error {
|
|||
|
||||
err := delivery.New(nil, service.NewStats(), ts, sfs, logFilename, conf)
|
||||
if err != nil {
|
||||
log.Error("error initializing HTTP server", "error", err)
|
||||
log.Error(ctx, "error initializing HTTP server", rlog.Error(err))
|
||||
}
|
||||
}()
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue