-
Notifications
You must be signed in to change notification settings - Fork 3
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
Only the legacy docker format tar is supported #20
Comments
@vaskozl Thank you for submitting this issue. We will respond after an internal review. |
I note that the lack of schema2-like config+blob formats prevents us from updating our build infrastructure and may lead to us not renewing our blackduck subscription. |
After discovering that New versions of docker builder
The matcher which checks whether the image is the old repositories style docker format runs first, and check for a Line 24 in 3c48b8a
(Note also the wrong logger.debug line that was copy pasted from the OCI matcher) Also note that The fix should be rather easy and can be done multiple ways:
If you'd like to reproduce the tar's I'm talking about you can simply do: Dockerfile:
|
@vaskozl Thank you for providing the detailed information. May I know the customer organization that is affected? I can pass on the information to the corresponding Customer Relationship manager. Alternatively, please file a Salesforce ticket and/or contact your customer relationship manager for further assistance. |
Inspect fails on many valid container tarballs I would expect it to work on.
So far, I've tried inspect and failed to get inspect with skopeo tarballs and those generated with buildx. E.g.
skopeo copy docker://alpine:latest docker-archive://image.tar
the image inspector fails with an exception on this line:https://github.com/blackducksoftware/hub-imageinspector-lib/blob/master/src/main/java/com/synopsys/integration/blackduck/imageinspector/image/docker/manifest/DockerManifest.java#L85
This is because a slash in the manifest layers is expected - something that is only present in the legacy spec, see this skopeo issue explaining it.
I also get a null pointer exception when the tar is exported with buildkit via docker buildx's tar outpout, which is official way to get a tarball when using buildkit/buildx.
The reason this is problematic is that
docker save
requires the docker daemon to be running. Running the docker daemon is not possible in environments where only normal unprivileged containers are allowed. We can't allow privileged containers and currently blackduck only seems to support legacydocker save
tarballs which we can't easily use it in Gitlab CI.The different manifests.json for comparison:
manifest.json with
docker save
, which the inspector succeeds on:skopeo with the docker-archive, setting which fails with "out of bounds" due to the lib looking for slash:
docker buildx based produced tar (fails with NullPointerException):
The text was updated successfully, but these errors were encountered: