Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

c/image/docker depends on compression implementations #1146

Closed
mtrmac opened this issue Feb 11, 2021 · 2 comments
Closed

c/image/docker depends on compression implementations #1146

mtrmac opened this issue Feb 11, 2021 · 2 comments

Comments

@mtrmac
Copy link
Collaborator

mtrmac commented Feb 11, 2021

… via pkg/compression, primarily because it refers to algorithm names, see e.g. openshift/oc#737 .

This should be possible to resolve by making the algorithm names string constants in pkg/compression/types, and using these constants both in pkg/compression and in manifest (e.g. compressiontypes.GzipAlgorithmName instead of compression.Gzip.Name()), as well as using pkg/compression/types.Algorithm instead of pkg/compression.Algorithm.

@mtrmac
Copy link
Collaborator Author

mtrmac commented Jul 23, 2021

This has become much worse since:

@mtrmac mtrmac changed the title c/image/manifest depends on compression implementations c/image/docker depends on compression implementations Jul 27, 2021
@mtrmac
Copy link
Collaborator Author

mtrmac commented Dec 9, 2022

  • the blob reuse logic, via the need to set types.BlobInfo.CompressionAlgorithm, causes c/image/docker to depend on pkg/compression.

This now seems impossible to fix. We could modify the internal-only TryReusingBlob… API to return only a name, making the transports independent, but then the public TryReusingBlob, which is documented to set CompressionAlgorithm, would have to, I guess, just give up and not do any substitutions… which would be an API break as well.

@mtrmac mtrmac closed this as not planned Won't fix, can't repro, duplicate, stale Dec 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant