mirror of https://github.com/containers/podman.git
				
				
				
			Merge pull request #16869 from nalind/always-allow-push-from-storage
Always allow pushing from containers-storage
This commit is contained in:
		
						commit
						a78d0ca6b7
					
				| 
						 | 
				
			
			@ -304,6 +304,8 @@ func (ir *ImageEngine) Push(ctx context.Context, source string, destination stri
 | 
			
		|||
	pushOptions.Password = options.Password
 | 
			
		||||
	pushOptions.ManifestMIMEType = manifestType
 | 
			
		||||
	pushOptions.RemoveSignatures = options.RemoveSignatures
 | 
			
		||||
	pushOptions.PolicyAllowStorage = true
 | 
			
		||||
	pushOptions.SignaturePolicyPath = options.SignaturePolicy
 | 
			
		||||
	pushOptions.SignBy = options.SignBy
 | 
			
		||||
	pushOptions.SignPassphrase = options.SignPassphrase
 | 
			
		||||
	pushOptions.SignBySigstorePrivateKeyFile = options.SignBySigstorePrivateKeyFile
 | 
			
		||||
| 
						 | 
				
			
			@ -357,6 +359,7 @@ func (ir *ImageEngine) Push(ctx context.Context, source string, destination stri
 | 
			
		|||
	}
 | 
			
		||||
	return pushError
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (ir *ImageEngine) Tag(ctx context.Context, nameOrID string, tags []string, options entities.ImageTagOptions) error {
 | 
			
		||||
	// Allow tagging manifest list instead of resolving instances from manifest
 | 
			
		||||
	lookupOptions := &libimage.LookupImageOptions{ManifestList: true}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
{
 | 
			
		||||
  "default": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "reject"
 | 
			
		||||
    }
 | 
			
		||||
  ]
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -188,6 +188,21 @@ var _ = Describe("Podman push", func() {
 | 
			
		|||
		}
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	It("podman push from local storage with nothing-allowed signature policy", func() {
 | 
			
		||||
		SkipIfRemote("Remote push does not support dir transport")
 | 
			
		||||
		denyAllPolicy := filepath.Join(INTEGRATION_ROOT, "test/deny.json")
 | 
			
		||||
 | 
			
		||||
		inspect := podmanTest.Podman([]string{"inspect", "--format={{.ID}}", ALPINE})
 | 
			
		||||
		inspect.WaitWithDefaultTimeout()
 | 
			
		||||
		Expect(inspect).Should(Exit(0))
 | 
			
		||||
		imageID := inspect.OutputToString()
 | 
			
		||||
 | 
			
		||||
		push := podmanTest.Podman([]string{"push", "--signature-policy", denyAllPolicy, "-q", imageID, "dir:" + filepath.Join(podmanTest.TempDir, imageID)})
 | 
			
		||||
		push.WaitWithDefaultTimeout()
 | 
			
		||||
		Expect(push).Should(Exit(0))
 | 
			
		||||
		Expect(push.ErrorToString()).To(BeEmpty())
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	It("podman push to local registry with authorization", func() {
 | 
			
		||||
		SkipIfRootless("volume-mounting a certs.d file N/A over remote")
 | 
			
		||||
		if podmanTest.Host.Arch == "ppc64le" {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue