mirror of
https://github.com/crazy-max/diun.git
synced 2026-01-04 03:55:00 +01:00
Check digest from HEAD request (#217)
* Check digest from HEAD request * Add FAQ note about Docker Hub rate limits * Compare digest as watch setting Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
@@ -80,14 +80,15 @@ func (di *Diun) createJob(job model.Job) {
|
||||
}
|
||||
|
||||
job.Registry, err = registry.New(registry.Options{
|
||||
Username: regUser,
|
||||
Password: regPassword,
|
||||
Timeout: *reg.Timeout,
|
||||
InsecureTLS: *reg.InsecureTLS,
|
||||
UserAgent: di.meta.UserAgent,
|
||||
ImageOs: job.Image.Platform.Os,
|
||||
ImageArch: job.Image.Platform.Arch,
|
||||
ImageVariant: job.Image.Platform.Variant,
|
||||
Username: regUser,
|
||||
Password: regPassword,
|
||||
Timeout: *reg.Timeout,
|
||||
InsecureTLS: *reg.InsecureTLS,
|
||||
UserAgent: di.meta.UserAgent,
|
||||
CompareDigest: *di.cfg.Watch.CompareDigest,
|
||||
ImageOs: job.Image.Platform.Os,
|
||||
ImageArch: job.Image.Platform.Arch,
|
||||
ImageVariant: job.Image.Platform.Variant,
|
||||
})
|
||||
if err != nil {
|
||||
sublog.Error().Err(err).Msg("Cannot create registry client")
|
||||
@@ -162,18 +163,18 @@ func (di *Diun) runJob(job model.Job) (entry model.NotifEntry) {
|
||||
return
|
||||
}
|
||||
|
||||
entry.Manifest, err = job.Registry.Manifest(job.RegImage)
|
||||
if err != nil {
|
||||
sublog.Warn().Err(err).Msg("Cannot get remote manifest")
|
||||
return
|
||||
}
|
||||
|
||||
dbManifest, err := di.db.GetManifest(job.RegImage)
|
||||
if err != nil {
|
||||
sublog.Error().Err(err).Msg("Cannot get manifest from db")
|
||||
return
|
||||
}
|
||||
|
||||
entry.Manifest, err = job.Registry.Manifest(job.RegImage, dbManifest)
|
||||
if err != nil {
|
||||
sublog.Warn().Err(err).Msg("Cannot get remote manifest")
|
||||
return
|
||||
}
|
||||
|
||||
if len(dbManifest.Name) == 0 {
|
||||
entry.Status = model.ImageStatusNew
|
||||
sublog.Info().Msg("New image found")
|
||||
|
||||
Reference in New Issue
Block a user