GitLab Dependency Proxy für Docker Hub

Hallo zusammen,

konnte jemand den Container Cache für Images aus DockerHub erfolgreich verwenden?

Wir bekommen leider dabei einen 404.
Beispiel:
INFO[0001] Retrieving image gitlab.opencode.de:443/diplanung/dependency_proxy/containers/owasp/dependency-check-action from registry gitlab.opencode.de:443 error building image: unable to complete operation after 0 attempts, last error: GET https://gitlab.opencode.de:443/v2/diplanung/dependency_proxy/containers/owasp/dependency-check-action/manifests/latest: unexpected status code 404 Not Found

Viele Grüße
Marc

Hallo Marc,

ja, wir nutzen den Dependency Proxy um Probleme mit dem Rate Limiting des Docker Hub in unseren CI-Pipelines für das Container Scanning zu vermeiden, vgl. z.B. die scan_*-Jobs in https://gitlab.opencode.de/umwelt-info/infrastruktur/testbetrieb/-/blob/main/datacube/ci.yml.

Unter Umständen müsste Du vorher auf Gruppe-Ebene/im Top-Level-Projekt den Dependency Proxy unter „Settings“ und „Packages and registries“ aktivieren.

Grüße,
Adam

Hallo Marc,

hat sich dein Problem mit dem Anpassen der Berechtigungen des Top-Level-Projekts lösen können?

Und danke @oc000008353898 für deine Antwort, für mich klingt es einleuchtend, dass das die Ursache des Fehlers sein könnte.

Liebe Grüße
Niklas Köhler (Community & Support openCode)

Hallo @oc000008353898 & @oc00004673237

vielen Dank für die Erklärung. Eigentlich ist die Konfiguration beim Top Level Projekt richtig (ich habe selber keinen Zugriff darauf). Wegen dringenden Problemen bin ich noch nicht dazu gekommen, das Problem weiter zu untersuchen, bzw zu probieren mit einem minimalen Beispiel, das Problem zu reproduzieren.

Viele Grüße
Marc

Hallo @oc000008353898 & @oc00004673237,

ich bin jetzt endlich dazu gekommen, das wieder zu testen.

Nach meinem Verständnis sollte z.B. folgendes funktionieren:

stages:
- build

test-build:
  stage: build
  image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/maven:3.9.11-eclipse-temurin-17
  script:
  - echo "hello"
  - mvn -version

Das ist leider nicht der Fall:

WARNING: Event retrieved from the cluster: Failed to pull image "gitlab.opencode.de:443/diplanung/dependency_proxy/containers/maven:3.9.11-eclipse-temurin-17": Error response from daemon: error parsing HTTP 404 response body: unexpected end of JSON input: ""
WARNING: Event retrieved from the cluster: Error: ErrImagePull
WARNING: Event retrieved from the cluster: Error: ImagePullBackOff
WARNING: Failed to pull image "gitlab.opencode.de:443/diplanung/dependency_proxy/containers/maven:3.9.11-eclipse-temurin-17" for container "build" with policy "IfNotPresent": image pull failed: Back-off pulling image "gitlab.opencode.de:443/diplanung/dependency_proxy/containers/maven:3.9.11-eclipse-temurin-17"
ERROR: Job failed: prepare environment: waiting for pod running: pulling image "gitlab.opencode.de:443/diplanung/dependency_proxy/containers/maven:3.9.11-eclipse-temurin-17" for container build: image pull failed: Back-off pulling image "gitlab.opencode.de:443/diplanung/dependency_proxy/containers/maven:3.9.11-eclipse-temurin-17". Check https://docs.gitlab.com/runner/shells/index.html#shell-profile-loading for more information

Eine Idee?

Viele Grüße
Marc

Leider nicht so richtig, ohne in die GitLab-Konfiguration rein zu schauen. Tut mir leid.

@oc000008353898 die Dependency Proxy Konfiguration sieht so aus:

Oder meintest Du eine andere Konfiguration?

Viele Grüße
Marc

Nein, die meine ich und die sieht bei uns auch nicht anders aus.

Was ich jetzt noch probieren würde, wäre genau dieses Image mit einer lokalen Docker-Instanz aus dem Cache zu ziehen. (Das bedingt natürlich, dass diese Docker-Instanz mit eine Personal Access Token bei registry.opencode.de angemeldet ist, aber selbst wenn nicht bekommt man dann einen nachvollziehbaren 403-Forbidden-Fehler.)

Das löst zwar Dein Problem nicht, aber würde zumindest klarer ob es am Dependency Proxy oder eher am Setup der openCode-CI-Runner liegt.

Das sieht beim Dependency Proxy nicht gut aus:

docker pull gitlab.opencode.de/diplanung/dependency_proxy/containers/maven:3.9.11-eclipse-temurin-17
Error response from daemon: unknown: <!DOCTYPE html>
<html>
<head>
  <meta content="width=device-width, initial-scale=1" name="viewport">
  <title>The page you're looking for could not be found (404)</title>
...

(ohne Anmeldung bekomme ich einen 403, was logisch ist)

Hhhmmm, ich kann im Moment überhaupt nicht von extern auf den Depedency Proxy zugreifen egal welche Berechtigungen ich dem Personal Access Token gebe… Bekomme ich immer auch nach Login eine 403er… Seltsam…

Ach so, nee, Unsinn, hatte mich aus Gewohnheit bei registry.opencode.de anstatt gitlab.opencode.de angemeldet. Jetzt funktioniert es (über unsere GitLab-Gruppe umwelt-info natürlich):