Skip to content

e2e/image: add private registry pull/push regression test#6940

Open
AryanSharma9917 wants to merge 4 commits into
docker:masterfrom
AryanSharma9917:ec2-os
Open

e2e/image: add private registry pull/push regression test#6940
AryanSharma9917 wants to merge 4 commits into
docker:masterfrom
AryanSharma9917:ec2-os

Conversation

@AryanSharma9917
Copy link
Copy Markdown

@AryanSharma9917 AryanSharma9917 commented Apr 18, 2026

Summary

  • add authenticated private-registry service to the e2e compose stack
  • add fixture auth config for private-registry:5001
  • add TestPullPushPrivateRepository to verify unauthenticated pull/push fails and authenticated pull/push succeeds
  • add htpasswd test credentials for the private registry

Context

Notes

  • change is limited to e2e test infrastructure and tests; no production CLI behavior changes

Add private registry test infrastructure and a pull/push auth regression e2e test.

Signed-off-by: aryansharma9917 <sharmaaryan9837@gmail.com>
@AryanSharma9917 AryanSharma9917 marked this pull request as ready for review April 18, 2026 18:32
@AryanSharma9917
Copy link
Copy Markdown
Author

Hi @vvoland , could someone please help approve the workflow runs for this PR and take a quick review pass when possible? Thanks in advance!

@codecov-commenter
Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@vvoland
Copy link
Copy Markdown
Collaborator

vvoland commented Apr 20, 2026

Thanks @AryanSharma9917!

I approved the workflows

@thaJeztah
Copy link
Copy Markdown
Member

=== Failed
=== FAIL: e2e/image TestPullPushPrivateRepository (1.57s)
    private_test.go:37: assertion failed: expression is false: strings.Contains(output, "requested access to the resource is denied") || strings.Contains(output, "no basic auth credentials") || strings.Contains(output, "unauthorized") || strings.Contains(output, "authentication required"): The push refers to repository [private-registry:5001/private/alpine]
        Get "http://private-registry:5001/v2/": dial tcp: lookup private-registry on 127.0.0.11:53: server misbehaving
        
    private_test.go:43: assertion failed: 
        Command:  docker push private-registry:5001/private/alpine:test-private-pull-push
        ExitCode: 1
        Error:    exit status 1
        Stdout:   The push refers to repository [private-registry:5001/private/alpine]
        
        Stderr:   Get "http://private-registry:5001/v2/": dial tcp: lookup private-registry on 127.0.0.11:53: server misbehaving
        
        
        Failures:
        ExitCode was 1 expected 0
        Expected no error

Signed-off-by: aryansharma9917 <sharmaaryan9837@gmail.com>
@AryanSharma9917
Copy link
Copy Markdown
Author

Hi @vvoland, @thaJeztah ,

There were some failing checks earlier, and I’ve addressed those issues in the latest update. I’ve pushed the fixes would appreciate it if you could take another look.

Since I’ve pushed updates, could the workflows be approved/triggered again so the checks can run?

Thanks!

Signed-off-by: aryansharma9917 <sharmaaryan9837@gmail.com>
Signed-off-by: aryansharma9917 <sharmaaryan9837@gmail.com>
@lohitkolluri
Copy link
Copy Markdown

Per @vvoland's note on #5965, carrying this forward in #7007 with a compose volume path fix for the CI DNS failures. Happy to close #7007 and push here instead if you prefer to keep this PR.

lohitkolluri added a commit to lohitkolluri/cli that referenced this pull request May 26, 2026
Add authenticated private-registry service to the e2e compose stack,
fixture auth config, and TestPullPushPrivateRepository to verify
unauthenticated pull/push fails and authenticated pull/push succeeds.

Fix compose volume path: paths are resolved relative to e2e/, so use
./testdata/registry/auth instead of ./e2e/testdata/...

Regression coverage for docker#5963 and docker#5965. Carries forward docker#6940.

Signed-off-by: aryansharma9917 <sharmaaryan9837@gmail.com>
Signed-off-by: Lohit Kolluri <lohitkolluri@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add e2e test for authorized pull/push

6 participants