crazy-max/diun

Option "diun.notify_on=new" with new digest function from 4.26

GeoCookie opened this issue · 1 comments

Support guidelines

I've found a bug and checked that ...

  • ... the documentation does not mention anything about my problem
  • ... there are no open or closed issues that are related to my problem

Description

I use "diun.notify_on=new" option on all my swarm service. When possible, I use mutable tag for my images.
This way, I handle

  • patch updates automatically with a script (no notification is received)
  • minor/major updates manually when I receive Diun notifications

Since last Diun update, I am receiving notification when I should not.

For example, I am using Portainer image with tag 5.30. Suppose a patch update is released (4.30.1)

Expected behaviour

Before 4.26 Diun update, I didn't receive notification because of the option "diun.notify_on=new".

Actual behaviour

Since 4.26 update, I receive a notification : portainer:4.26@sha256:.... is available

Maybe this is because of the new digest compare function. The image tag is the same but the digest is different, so Diun considers it as a new version (while it's an update).

I tried using the option "compareDigest: true", with no success. Am I missing something ?

Steps to reproduce

  1. Enable Diun on my Portainer service
  2. Add option "diun.notify_on=new"
  3. Wait for an Portainer image update
  4. Receive a notification when I should not

Diun version

4.26.0

Docker info

Client: Docker Engine - Community
 Version:    24.0.6
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.11.2
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.21.0
    Path:     /usr/libexec/docker/cli-plugins/docker-compose

Server:
 Containers: 34
  Running: 32
  Paused: 0
  Stopped: 2
 Images: 32
 Server Version: 24.0.6
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: systemd
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: active
  NodeID: rv5qrerz0jxzty99xaothk7g4
  Is Manager: true
  ClusterID: rgevyfks8e6plshpqb6gvpspq
  Managers: 1
  Nodes: 1
  Default Address Pool: 172.19.0.0/16
  SubnetSize: 24
  Data Path Port: 4789
  Orchestration:
   Task History Retention Limit: 5
  Raft:
   Snapshot Interval: 10000
   Number of Old Snapshots to Retain: 0
   Heartbeat Tick: 1
   Election Tick: 10
  Dispatcher:
   Heartbeat Period: 5 seconds
  CA Configuration:
   Expiry Duration: 3 months
   Force Rotate: 0
  Autolock Managers: false
  Root Rotation In Progress: false
  Node Address: 192.168.10.203
  Manager Addresses:
   192.168.10.203:2377
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 61f9fd88f79f081d64d6fa3bb1a0dc71ec870523
 runc version: v1.1.9-0-gccaecfc
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: builtin
  cgroupns
 Kernel Version: 5.10.0-26-amd64
 Operating System: Debian GNU/Linux 11 (bullseye)
 OSType: linux
 Architecture: x86_64
 CPUs: 4
 Total Memory: 5.789GiB
 Name: wakka.geocookie.lan
 ID: W7QE:Z3NZ:M7WF:AZ3O:7KTX:OQB3:UMEA:MX4F:FI5H:XTWW:SJUG:UVQB
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

Docker Compose config

Short example of my portainer stack

portainer:
    image: portainer/portainer-ce:5.30
    deploy:
      labels:
        - diun.enable=true
        - diun.watch_repo=true
        - diun.notify_on=new
        - diun.max_tags=10
        - diun.sort_tags=semver
        - diun.include_tags=^\d+\.\d+\.\d+$$

Logs

I haven't capture the logs with debug level. I will if needed.

Additional info

If possible, I would to disable the digest function, as it was before 4.26

Thank you for your help and for Diun ! :

Hum right I need to look at this, might be a regression that we could mitigate.