fix(server): hot update the db from custom repository (#2406)

This commit is contained in:
afdesk
2022-06-27 16:45:48 +06:00
committed by GitHub
parent 57ed577459
commit e2c3bc4124
2 changed files with 15 additions and 13 deletions

View File

@@ -60,6 +60,6 @@ func run(c Option) (err error) {
}
m.Register()
server := rpcServer.NewServer(c.AppVersion, c.Listen, c.CacheDir, c.Token, c.TokenHeader)
server := rpcServer.NewServer(c.AppVersion, c.Listen, c.CacheDir, c.Token, c.TokenHeader, c.DBRepository)
return server.ListenAndServe(cache, c.Insecure)
}

View File

@@ -26,21 +26,23 @@ const updateInterval = 1 * time.Hour
// Server represents Trivy server
type Server struct {
appVersion string
addr string
cacheDir string
token string
tokenHeader string
appVersion string
addr string
cacheDir string
token string
tokenHeader string
dbRepository string
}
// NewServer returns an instance of Server
func NewServer(appVersion, addr, cacheDir, token, tokenHeader string) Server {
func NewServer(appVersion, addr, cacheDir, token, tokenHeader, dbRepository string) Server {
return Server{
appVersion: appVersion,
addr: addr,
cacheDir: cacheDir,
token: token,
tokenHeader: tokenHeader,
appVersion: appVersion,
addr: addr,
cacheDir: cacheDir,
token: token,
tokenHeader: tokenHeader,
dbRepository: dbRepository,
}
}
@@ -50,7 +52,7 @@ func (s Server) ListenAndServe(serverCache cache.Cache, insecure bool) error {
dbUpdateWg := &sync.WaitGroup{}
go func() {
worker := newDBWorker(dbc.NewClient(s.cacheDir, true, insecure))
worker := newDBWorker(dbc.NewClient(s.cacheDir, true, insecure, dbc.WithDBRepository(s.dbRepository)))
ctx := context.Background()
for {
time.Sleep(updateInterval)