-
Notifications
You must be signed in to change notification settings - Fork 475
Using JIB to push images works, but images don't show up in the UI #2243
Comments
hi @markusheiden I encountered same problem, and I'm pretty sure where your problem is : Indeed, as you will find in the
Why required? I'll tell you why: because if it isn't there, well you will miss something. I encountered the same problem : the Web UI would never show any images in the namespace listing page, though I did sucesfully pushed several images to the
What happened for em is that I messed up with the background container configuration, so it just stopped its execution at runtime, and therefore...byebye UI.
# REGISTRY_HTTP_TLS_KEY: /secrets/portus.key
REGISTRY_HTTP_TLS_CERTIFICATE: /secrets/portus-oci-registry.crt
REGISTRY_HTTP_TLS_KEY: /secrets/portus-oci-registry.key
# Portus endpoint
# So here https://${PORTUS_BACKGROUND_SERVICE_FQDN}/v2/webhooks/events should point to portus background service
REGISTRY_NOTIFICATIONS_ENDPOINTS: >
- name: portus
url: https://${PORTUS_BACKGROUND_SERVICE_FQDN}:3000/v2/webhooks/events
timeout: 2000ms
threshold: 5
backoff: 1s
# REGISTRY_HTTP_TLS_KEY: /secrets/portus.key
REGISTRY_HTTP_TLS_CERTIFICATE: /secrets/portus-oci-registry.crt
REGISTRY_HTTP_TLS_KEY: /secrets/portus-oci-registry.key
# Portus endpoint
# So here https://${PORTUS_SERVICE_FQDN}/v2/webhooks/events should point to portus
REGISTRY_NOTIFICATIONS_ENDPOINTS: >
- name: portus
url: https://${PORTUS_SERVICE_FQDN}:3000/v2/webhooks/events
timeout: 2000ms
threshold: 5
backoff: 1s I'll do those tests tomorrow, n give u the answer if you ask. All in all, I would be glad to find out if this helped, while I'm pretty sure here you just got rid of the background container, or mis-configured it. JB |
We have the same problem here using Docker Registry 2.7.1 and Portus 2.4.3. Everything works as expected with the Docker 19.03 client but when Jib 2.0.0 client sends the manifest PUT request, the Portus backgound container log contains a "Cannot find user" message, which is probably caused by the empty "actor" field in the JSON message received by the background Portus container. Using Docker client, the push event sent by Docker Registry to Portus, with non-empty "actor" field
Using Jib client, the push event sent by Docker Registry to Portus, with empty "actor" field
|
hi @markusheiden @dleborgne , I today add a comment to update you with my last test results, which are :
# Portus endpoint
# So here https://${PORTUS_SERVICE_FQDN}/v2/webhooks/events should point to portus
REGISTRY_NOTIFICATIONS_ENDPOINTS: >
- name: portus
url: https://${PORTUS_SERVICE_FQDN}:3000/v2/webhooks/events
timeout: 2000ms
threshold: 5
backoff: 1s Does it help ? Did you already solved the problem ? The only thing to help, that cross my mind, is that I think very likely the problem is unrelated with the For more details on the mechanism there's also #2275 (comment) I recently wrote. |
As I wrote before, the issue only happens when using Jib. Images pushed with the docker client are updated in the Portus web UI. I assume everything is well configured regarding the REGISTRY_NOTIFICATIONS_ENDPOINTS registry environment variable. Today, after some digging in the Portus documentation and Github issues, I changed the background sync strategy to |
Hi @dleborgne answering quite a few weeks later :
Never the less, I wan to tell you that I am almost sure I have seen people having a very similar problem, related to GUNs and notary : the guys were complaining the webhooks received from notary, were rejected because portus does not support GUNs in its webhooks endpoint. Never the less, reading that issue about notary, I wanted to test the webhook, and see for myself : does portus receives from the registry, the info of the pusher id ? Answer is yes, see #2293 (comment) So Okay, I'm knackered, but could not resist, I know how frustating your team feels, being in a team myself, n after succeeding , now you get new problem... . So I worked a little , and wrote a test, you can run against your private portus infra :
<configuration>
...
<from>
<image>aws_account_id.dkr.ecr.region.amazonaws.com/my-base-image</image>
<auth>
<username>my_username</username>
<password>my_password</password>
</auth>
</from>
<to>
<image>gcr.io/my-gcp-project/my-app</image>
<auth>
<username>${env.REGISTRY_USERNAME}</username>
<password>${env.REGISTRY_PASSWORD}</password>
</auth>
</to>
...
</configuration> ?
|
:) but you speak french ?! :) ok, we'll keep on in english for the use of community |
also, @dleborgne about your SYNC stategy, won't write the whole explanation, but you need to configure also SYNC and DELETE are closely related , along with the garbage collector . And don't forget to set same config with env. vars. to both portus and I'll follow up the issue, cause I'll get a working jib after that, which is a tool I never used before, and I wanna springboot a little soon. So thank you for your questions and feedback. |
Oh, oh : @dleborgne I just noticed : you are using portus
|
just pops out my mind : |
@dleborgne thank you for making me read about Is it drone CI ? |
Thanks for all your contributions! |
#2243 (comment) |
Description
When I push via JIB (e.g.
mvn jib:build
) to our docker-ce registry, the image shows as successfully pushed to the registry. But Portus does not show it. If I try pulling it, I do get the correct image, which means the registry got the image.Pulling it via docker and pushing it via docker make it appear in Portus.
An analysis of a colleague showed that the events of the registry are in a slightly different order (sorry, but I don't know the details) when pushing with JIB instead of the docker client.
Steps to reproduce
Sorry, but the other requested information is not available for me.
The text was updated successfully, but these errors were encountered: