mirror of
https://github.com/aquasecurity/trivy.git
synced 2025-12-22 23:26:39 -08:00
fix(server): hot update the db from custom repository (#2406)
This commit is contained in:
@@ -60,6 +60,6 @@ func run(c Option) (err error) {
|
|||||||
}
|
}
|
||||||
m.Register()
|
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)
|
return server.ListenAndServe(cache, c.Insecure)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,21 +26,23 @@ const updateInterval = 1 * time.Hour
|
|||||||
|
|
||||||
// Server represents Trivy server
|
// Server represents Trivy server
|
||||||
type Server struct {
|
type Server struct {
|
||||||
appVersion string
|
appVersion string
|
||||||
addr string
|
addr string
|
||||||
cacheDir string
|
cacheDir string
|
||||||
token string
|
token string
|
||||||
tokenHeader string
|
tokenHeader string
|
||||||
|
dbRepository string
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewServer returns an instance of Server
|
// 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{
|
return Server{
|
||||||
appVersion: appVersion,
|
appVersion: appVersion,
|
||||||
addr: addr,
|
addr: addr,
|
||||||
cacheDir: cacheDir,
|
cacheDir: cacheDir,
|
||||||
token: token,
|
token: token,
|
||||||
tokenHeader: tokenHeader,
|
tokenHeader: tokenHeader,
|
||||||
|
dbRepository: dbRepository,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -50,7 +52,7 @@ func (s Server) ListenAndServe(serverCache cache.Cache, insecure bool) error {
|
|||||||
dbUpdateWg := &sync.WaitGroup{}
|
dbUpdateWg := &sync.WaitGroup{}
|
||||||
|
|
||||||
go func() {
|
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()
|
ctx := context.Background()
|
||||||
for {
|
for {
|
||||||
time.Sleep(updateInterval)
|
time.Sleep(updateInterval)
|
||||||
|
|||||||
Reference in New Issue
Block a user