sergi0g/cup

Image is skipped when running check

Closed this issue · 10 comments

Hey,
i have a weird problem.
First here is the list of images that are on the system:

alpine                          latest            324bc02ae123   4 weeks ago     7.8MB
ghcr.io/almarklein/timetagger   v24.4.1-nonroot   d05595d4a4a2   4 months ago    158MB
ghcr.io/sergi0g/cup             latest            c3cba7715db4   5 weeks ago     5.32MB
ghost                           4-alpine          252c7f9b9d3d   17 months ago   486MB
gitea/gitea                     1.22              b3de72970178   6 weeks ago     167MB
portainer/portainer-ce          sts               3255108e46a0   3 months ago    288MB
traefik                         latest            9ff754a4bfc1   2 weeks ago     176MB
nextcloud                       29                0ef5d328122e   2 weeks ago     1.28GB
zer0tonin/mikochi               latest            5bbeff1ab3a9   6 weeks ago     91.5MB
vaultwarden/server              alpine            a88fdc5c1039   9 days ago      105MB

Here is the output of docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/sergi0g/cup check

alpine:latest                                                         Up to date
ghcr.io/almarklein/timetagger:v24.4.1-nonroot                         Up to date
ghcr.io/sergi0g/cup:latest                                            Up to date
ghost:4-alpine                                                        Up to date
gitea/gitea:1.22                                                      Up to date
portainer/portainer-ce:sts                                            Up to date
traefik:latest                                                        Up to date
vaultwarden/server:alpine                                             Up to date
zer0tonin/mikochi:latest                                              Up to date

for some reason it is not checking the nextcloud:29 image.

If i check it "manually" with docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/sergi0g/cup check nextcloud:29
I get this:

nextcloud:29 has an update available

Any ideas?

P.S.
the link to the documentation is broken (https://sergi0g.github.io/cup/docs/introduction)

Well nevermind, I fixed it by deleting the nextcloud image and downloading it again. Now it's showing up in the check command.

That's unusual. I'm glad you solved it!

Fixed the broken link! 😉

Hey, so it has happened again, cup is currently not checking/reporting on my nextcloud:29 image.
it is totally absent from the result like in the "screenshots" above.

I'm using the latest available cup image with version 2.1.0

$ docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/sergi0g/cup --version
cup 2.1.0

I will leave it in this state for now and not delete and redownload the nextcloud image - maybe you want me to "run some tests" while it's in this broken state.

@brtwrst I'm sorry you're having this issue again. Can you please provide the output of docker inspect nextcloud:29?

[
    {
        "Id": "sha256:f940b54bd54f5f634aab39e82ce14987399af67b415bb6b988693999fc99b388",
        "RepoTags": [
            "nextcloud:29"
        ],
        "RepoDigests": [
            "nextcloud@sha256:3a62c849b9ed64f8085d76c12f26376b0e9fc4fbcef8a20059e1e26b027469e5",
            "nextcloud@sha256:b9713db76e71a74734c8061a953bdcb7085082b487160296a97ae9cb8c58507b"
        ],
        "Parent": "",
        "Comment": "",
        "Created": "2024-08-30T23:41:57.067317402Z",
        "DockerVersion": "23.0.11",
        "Author": "",
        "Config": {
            "Hostname": "",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "80/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "PHPIZE_DEPS=autoconf \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config \t\tre2c",
                "PHP_INI_DIR=/usr/local/etc/php",
                "APACHE_CONFDIR=/etc/apache2",
                "APACHE_ENVVARS=/etc/apache2/envvars",
                "PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64",
                "PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64",
                "PHP_LDFLAGS=-Wl,-O1 -pie",
                "GPG_KEYS=39B641343D8C104B2B146DC3F9C39DC0B9698544 E60913E4DF209907D8E30D96659A97C9CF2A795A 1198C0117593497A5EC5C199286AF1F9897469DC",
                "PHP_VERSION=8.2.23",
                "PHP_URL=https://www.php.net/distributions/php-8.2.23.tar.xz",
                "PHP_ASC_URL=https://www.php.net/distributions/php-8.2.23.tar.xz.asc",
                "PHP_SHA256=81c5ae6ba44e262a076349ee54a2e468638a4571085d80bff37f6fd308e1d8d5",
                "PHP_MEMORY_LIMIT=512M",
                "PHP_UPLOAD_LIMIT=512M",
                "APACHE_BODY_LIMIT=1073741824",
                "NEXTCLOUD_VERSION=29.0.5"
            ],
            "Cmd": [
                "apache2-foreground"
            ],
            "Image": "sha256:8d57536aff276a31d263a2c1d3c84855a60cc0fdc983eeefe1e98b9da48f6f11",
            "Volumes": {
                "/var/www/html": {}
            },
            "WorkingDir": "/var/www/html",
            "Entrypoint": [
                "/entrypoint.sh"
            ],
            "OnBuild": null,
            "Labels": null,
            "StopSignal": "SIGWINCH"
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 1281769960,
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/4ebb35f63c37d331f7d0a258a7c014260429b6d2e59502b580873dc2813859e5/diff:/var/lib/docker/overlay2/ebce56f21d0d070c4622053663b436e66688ad1ce735daf43c55d6fce6b96611/diff:/var/lib/docker/overlay2/49bfc260d6ffe914ab7929154571d06124426debc56184688546aa99dc080120/diff:/var/lib/docker/overlay2/4c1c133f83dfbd14e04060568c06fdceeb222df2b90472091a40db054ade2715/diff:/var/lib/docker/overlay2/55eae1e0faa41ebf31ce7e172aa45cb0ec05bc2698b0661f1b26d6c7d23f63e5/diff:/var/lib/docker/overlay2/164e4d055a0a89853464f8b8f606391d8e173bac1c077e426f0a9386b46f3561/diff:/var/lib/docker/overlay2/adc737c5b1537881563c4652ebcbc444ceaa322941d69a18e72be3a7e997eb32/diff:/var/lib/docker/overlay2/334f1f2e299530dcbf05f25f0ed6fdfedd70560485915be6334ce4517b6b98dd/diff:/var/lib/docker/overlay2/19a36df8f861a3d0c1d144b3bbb76b0a1a6fd482e9b66422761506ba7d64ca56/diff:/var/lib/docker/overlay2/b70db535cfa2efacc7cf3097987571f00125a8d608ccd5857749bcbbfff86bbf/diff:/var/lib/docker/overlay2/abababe3ca2c36e4319231941f44edf4a55ea901b3464433b7c5a39e34e11482/diff:/var/lib/docker/overlay2/913cfa44642d54644886d3f4bec599dce7883229a96673ffb031cfa9ad81b2df/diff:/var/lib/docker/overlay2/736545a132ff9600ecb6d6d35c3aa090b830f33ef4f62e735e091f2a1808399b/diff:/var/lib/docker/overlay2/728dd2a6c8d082587e9d954b7f29c6182b2c1f1a6ae5650d1f6d3076c77e46a1/diff:/var/lib/docker/overlay2/1d76e88e815fbcf9f12485fed2220a95c5e4536e0bf2cfd58fba77b886a8bea6/diff:/var/lib/docker/overlay2/5218b8c13dfbca76e278e4d1d762c5a0959a60653693abafb46818cb977a0b8d/diff:/var/lib/docker/overlay2/81c861fc8569c42eee86a1b70cc5940ee69f7bade4aac7c1e27d7ac09ffec3b6/diff:/var/lib/docker/overlay2/19d9be76b6b102216c644ecd851cb618155da1cd8e52c4e4bdd970c8c7edaf2f/diff:/var/lib/docker/overlay2/75e926e66cf22e6fda9fbd0b84b4ad662d155f6e3b017dcf2f5fc07e140f5bc4/diff:/var/lib/docker/overlay2/b55c4f43b3ad1ca98723c1083ad08b5bb2038c0ff59805f95f3a485a3d098d37/diff",
                "MergedDir": "/var/lib/docker/overlay2/219c96af9c8aef45b86dbe33bb9194dcbe2ffce5a550d43fce95a588e74868ed/merged",
                "UpperDir": "/var/lib/docker/overlay2/219c96af9c8aef45b86dbe33bb9194dcbe2ffce5a550d43fce95a588e74868ed/diff",
                "WorkDir": "/var/lib/docker/overlay2/219c96af9c8aef45b86dbe33bb9194dcbe2ffce5a550d43fce95a588e74868ed/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:9853575bc4f955c5892dd64187538a6cd02dba6968eba9201854876a7a257034",
                "sha256:4cae4ea97049ffe77607650a058d069bcfd37d79c2d0b8907ec937bc31f53af6",
                "sha256:7f0d23b78477cf960f0e870890d4e7f57107b2c21120832cb8a3ff59a84eb7cc",
                "sha256:8f42af1dd50e140a19f623041d48ce4937c89d5661ba6ee5adfae38d300c883a",
                "sha256:7285b46fc0b10e4f912f980a0a0da7efb04a0331b4febf8e214fed728f61b5e9",
                "sha256:886076bbd0e556596b94255d21e651ce4eb43eb25e7abf50242580b80eb31af4",
                "sha256:fe49c1c8ccdcd6e44784259f68f42de00dcaf2b64fa6ac06217aceeacf4f0d84",
                "sha256:3aa7752ccfdc2acba849980430cb7d5ff1e2d181fe7bbf2593b7c279ecad2b4d",
                "sha256:7fadd8f3d6f23809c749a4b209b79fbe34411c5bd4a57484d31a49487b123701",
                "sha256:d0a6044e970cb83a596fd0c48672fdef41bee996607164159ec72e069aa165f5",
                "sha256:b41732ffaa88cbf7844f41362dc8b2f26c153dbf01f0bab21d9281cb07eb289a",
                "sha256:744598f7d948a2d5e6300a6dcd721ee2f49564316ad34f81a2997d1ca7ea02a0",
                "sha256:374880a2671203b20491044d26ff4990c4d2ecf5e8875e5a50575c4934a366b3",
                "sha256:25057cd337b3af076c5a21dbbe806d6bf454daa545736d4648fde9941120a304",
                "sha256:d9955478dfb7504c01dd21525139bcfc29f52977c270330500eff9b8d4afa3e1",
                "sha256:3a19b4ba0ada6c1a059c304d3a063461a2ad9738e5c502d62b4f78b6bc14bf34",
                "sha256:95466d9cc8c22a950b6f0f2c1f4185b89aa967e1b1313e1e25d17e35b4ffa15d",
                "sha256:b9f0f909e49c44f6300bb0ea62c7effc1612bfa8446a1ad1f309478d5ed5bb2c",
                "sha256:dedac2c09498db47b913f87ef5993d65d64b12677a0495aba365b2fa892b2fbb",
                "sha256:bec469d4e3f24196b8382f0f1436d62c8e2b96f11455d63e4e2cb5e8edb85eed",
                "sha256:79a940b8a5abba5d6d7a2b15ced454c62b32d2f8f65aac45ea0201701140acf2"
            ]
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        }
    }
]

Ah, I see the problem. The image is skipped due to this line: https://github.com/sergi0g/cup/blob/main/src%2Fdocker.rs#L37

Your Nextcloud image has 2 digests for some reason. I'll update the code when I can to handle this situation. Thanks for opening this issue!

Thanks for your time

Hi again!
It looks like the fix I'll push won't break anything, however the only image that has 2 different digests on my system is alpine. No idea why.

I have a bunch of multiplatform images. Maybe I've pulled alpine for both amd64 and arm64?