Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
3 tasks done
GeoCookie opened this issue Oct 8, 2023 · 1 comment
Open
3 tasks done

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

GeoCookie opened this issue Oct 8, 2023 · 1 comment

Comments

@GeoCookie
Copy link

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 ! :

@crazy-max
Copy link
Owner

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants