Skip to content

opencontainers annotations not added correctly #2497

@MartinSchmidt

Description

@MartinSchmidt

Summary

The rfcs references opencontainers predefined keys which references which references how the be should be set in the image index, image manifest, and descriptor as actual annotations on the image.

But the link to how Snyk and Renovate references how the set it as labels, which is not according to the opencontainers specifications, but this is incorrect, and how it is implemented.

From docker doc

  • Annotations describe OCI image components, such as manifests, indexes, and descriptors.
  • Labels describe Docker resources, such as images, containers, networks, and volumes.

The result is that tools don't see the annotations as it should, an example could be Kargo

Reproduction

Steps
git clone https://github.com/buildpacks/samples
cd samples
pack build docker.io/martinschmidt/sample-app-pack:main \
  --path ./apps/java-maven \
  --builder paketobuildpacks/builder-jammy-base \
  --env BP_OCI_SOURCE=https://github.com/buildpacks/samples/tree/main/apps/java-maven \
  --env BP_OCI_REVISION=$(git rev-parse HEAD) \
  --publish
docker buildx imagetools inspect docker.io/martinschmidt/sample-app-pack:main --raw
Current behavior

The annotations are not added correctly:

docker buildx imagetools inspect docker.io/martinschmidt/sample-app-pack:main --raw

{
    "schemaVersion": 2,
    "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
    "config": {
        "mediaType": "application/vnd.docker.container.image.v1+json",
        "size": 15820,
        "digest": "sha256:c662462978f98805fbf87c02efc1641f88bb79695f5c40565e92e40644414cc5"
    },
    "layers": [
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 33987054,
            "digest": "sha256:ac9ef76bb7c824668f3cf73964e96e9d474b04a20b608ff804402476f2a4145a"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 12511443,
            "digest": "sha256:67d7bd07ccd5224721ef9f58e74ceb1e01df5d677b3f539e07851d56d8de4750"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 807,
            "digest": "sha256:6fa82fa6083081d8cbe225f1ecd25d7308ee31c71bd68fdbc4303e57f977cbee"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 428,
            "digest": "sha256:5cc8ee8cdeb657c72b17ab5dc18a0eeca9d859b2bb0239128e259378196d4d15"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 2147215,
            "digest": "sha256:91b5fef4aeb694c8e4c59af3dae93f803102715faa6a262f15755945c88f3f0c"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 2430109,
            "digest": "sha256:3df7b837364e333ededdefa305dbd3fd836050b06f9b5e4643458e52d7d2c5d2"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 393,
            "digest": "sha256:5f4c1d5773eb3a00ebec6070263004ec60faf7311ea4db1ac5ff045aecd165f8"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 76004082,
            "digest": "sha256:524c64f86948cfe60283729d137a1750cdf4625057ee4891341cb74acdec1453"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 285,
            "digest": "sha256:b8578b8a2ac51f7abdfdd4eea28bc34a73920771ba01df61f9f6d30f2bbc0dfe"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 1734859,
            "digest": "sha256:06a046bcd588488110383986b9653a43d30700ee2887ca2db61ed154eae85600"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 72710,
            "digest": "sha256:ec660789f01ac29d11bf029218ed99c0d8474e837b20c3ad40a8b007c5b250d4"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 271,
            "digest": "sha256:bc7f82c871ffa12af89cd62c3047e5289ce24fbbe07f7adeeb840ccd43140f20"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 60057,
            "digest": "sha256:424f9029b5f6571584944ecce35bde81ffc5be3470cbece7f59cb5dafa248796"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 17370731,
            "digest": "sha256:cf95bc096d3ad6e1fb7416a77909188f1288eaf8c5c196ec92051cd299b9128c"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 1366636,
            "digest": "sha256:59c41dd5001fd357e682bcce742ced6b509f72f1afdff98915ead7d32a20fc3c"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 782,
            "digest": "sha256:fd4b7b00c087927585e63096c171f23a48445425b2bed19a914ca4cbb59968f3"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 209,
            "digest": "sha256:b39b18afe74ec7ee652aed10c5c3e637af7e7daad3da9380043a93fe7d212d44"
        }
    ]
}

instead they are added as labels:

docker pull docker.io/martinschmidt/sample-app-pack:main
docker image inspect docker.io/martinschmidt/sample-app-pack:main
[
    {
        "Id": "sha256:03f487890f33c939507af0540cebf01b91cb4d07e2036ba02e010529ffbd7e12",
        "RepoTags": [
            "martinschmidt/sample-app-pack:main"
        ],
        "RepoDigests": [
            "martinschmidt/sample-app-pack@sha256:03f487890f33c939507af0540cebf01b91cb4d07e2036ba02e010529ffbd7e12"
        ],
        "Created": "1980-01-01T00:00:01Z",
        "Config": {
            "User": "1002:1000",
            "Env": [
                "PATH=/cnb/process:/cnb/lifecycle:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "CNB_LAYERS_DIR=/layers",
                "CNB_APP_DIR=/workspace",
                "CNB_PLATFORM_API=0.13",
                "CNB_DEPRECATION_MODE=quiet"
            ],
            "Entrypoint": [
                "/cnb/process/web"
            ],
            "WorkingDir": "/workspace",
            "Labels": {
                "io.buildpacks.build.metadata": "{\"buildpacks\":[{\"id\":\"paketo-buildpacks/ca-certificates\",\"version\":\"3.10.5\",\"homepage\":\"https://github.com/paketo-buildpacks/ca-certificates\"},{\"id\":\"paketo-buildpacks/bellsoft-liberica\",\"version\":\"11.4.3\",\"homepage\":\"https://github.com/paketo-buildpacks/bellsoft-liberica\"},{\"id\":\"paketo-buildpacks/syft\",\"version\":\"2.25.0\",\"homepage\":\"https://github.com/paketo-buildpacks/syft\"},{\"id\":\"paketo-buildpacks/maven\",\"version\":\"6.20.8\",\"homepage\":\"https://github.com/paketo-buildpacks/maven\"},{\"id\":\"paketo-buildpacks/executable-jar\",\"version\":\"6.13.4\",\"homepage\":\"https://github.com/paketo-buildpacks/executable-jar\"},{\"id\":\"paketo-buildpacks/apache-tomcat\",\"version\":\"8.7.6\",\"homepage\":\"https://github.com/paketo-buildpacks/apache-tomcat\"},{\"id\":\"paketo-buildpacks/apache-tomee\",\"version\":\"1.15.1\",\"homepage\":\"https://github.com/paketo-buildpacks/apache-tomee\"},{\"id\":\"paketo-buildpacks/liberty\",\"version\":\"5.1.9\",\"homepage\":\"https://github.com/paketo-buildpacks/liberty\"},{\"id\":\"paketo-buildpacks/dist-zip\",\"version\":\"5.10.4\",\"homepage\":\"https://github.com/paketo-buildpacks/dist-zip\"},{\"id\":\"paketo-buildpacks/spring-boot\",\"version\":\"5.33.5\",\"homepage\":\"https://github.com/paketo-buildpacks/spring-boot\"},{\"id\":\"paketo-buildpacks/image-labels\",\"version\":\"4.10.3\",\"homepage\":\"https://github.com/paketo-buildpacks/image-labels\"}],\"launcher\":{\"version\":\"0.20.19\",\"source\":{\"git\":{\"repository\":\"github.com/buildpacks/lifecycle\",\"commit\":\"73739826\"}}},\"processes\":[{\"type\":\"executable-jar\",\"command\":[\"java\"],\"args\":[\"org.springframework.boot.loader.JarLauncher\"],\"direct\":true,\"buildpackID\":\"paketo-buildpacks/executable-jar\"},{\"type\":\"task\",\"command\":[\"java\"],\"args\":[\"org.springframework.boot.loader.JarLauncher\"],\"direct\":true,\"buildpackID\":\"paketo-buildpacks/executable-jar\"},{\"type\":\"web\",\"command\":[\"java\"],\"args\":[\"org.springframework.boot.loader.JarLauncher\"],\"direct\":true,\"buildpackID\":\"paketo-buildpacks/executable-jar\"}],\"buildpack-default-process-type\":\"web\"}",
                "io.buildpacks.lifecycle.metadata": "{\"app\":[{\"sha\":\"sha256:ac57c69a8bb3c58abf4e3c15edbb3eb0c6794820be5236af4df29ee3f3fad70d\"}],\"sbom\":{\"sha\":\"sha256:67c8b643997428e08f364ea731e5ef4961ccd8913dd10b7504b9ec5f5016cea2\"},\"buildpacks\":[{\"key\":\"paketo-buildpacks/ca-certificates\",\"version\":\"3.10.5\",\"layers\":{\"helper\":{\"sha\":\"sha256:af2064c0cc24d97c6286e91b901495cb6338aaa31c1b5843cd99f2262ffae091\",\"data\":{\"buildpackInfo\":{\"clear-env\":false,\"description\":\"A Cloud Native Buildpack that adds custom CA certificates to a build and a created image\",\"homepage\":\"https://github.com/paketo-buildpacks/ca-certificates\",\"id\":\"paketo-buildpacks/ca-certificates\",\"keywords\":[\"ca-certificates\",\"trust\",\"certificates\"],\"licenses\":[{\"type\":\"Apache-2.0\",\"uri\":\"https://github.com/paketo-buildpacks/ca-certificates/blob/main/LICENSE\"}],\"name\":\"Paketo Buildpack for CA Certificates\",\"sbom-formats\":[\"application/vnd.cyclonedx+json\",\"application/vnd.syft+json\"],\"version\":\"3.10.5\"},\"helperNames\":[\"ca-certificates-helper\"]},\"build\":false,\"launch\":true,\"cache\":false}}},{\"key\":\"paketo-buildpacks/bellsoft-liberica\",\"version\":\"11.4.3\",\"layers\":{\"helper\":{\"sha\":\"sha256:ed89a93371ac78ebe179ec893acda701f182b39a16b7d2be5a9d3f3cbc78259a\",\"data\":{\"buildpackInfo\":{\"clear-env\":false,\"description\":\"A Cloud Native Buildpack that provides the Bellsoft Liberica implementations of JREs and JDKs\",\"homepage\":\"https://github.com/paketo-buildpacks/bellsoft-liberica\",\"id\":\"paketo-buildpacks/bellsoft-liberica\",\"keywords\":[\"java\",\"jvm\",\"jre\",\"jdk\"],\"licenses\":[{\"type\":\"Apache-2.0\",\"uri\":\"https://github.com/paketo-buildpacks/bellsoft-liberica/blob/main/LICENSE\"}],\"name\":\"Paketo Buildpack for BellSoft Liberica\",\"sbom-formats\":[\"application/vnd.syft+json\",\"application/vnd.cyclonedx+json\"],\"version\":\"11.4.3\"},\"helperNames\":[\"java-opts\",\"jvm-heap\",\"link-local-dns\",\"memory-calculator\",\"security-providers-configurer\",\"jmx\",\"jfr\",\"openssl-certificate-loader\",\"security-providers-classpath-9\",\"debug-9\",\"nmt\"]},\"build\":false,\"launch\":true,\"cache\":false},\"java-security-properties\":{\"sha\":\"sha256:bea0a3dc2651cac7c9c567a5cb4e7536107b357cb9113e8806f690f050500012\",\"data\":{\"clear-env\":false,\"description\":\"A Cloud Native Buildpack that provides the Bellsoft Liberica implementations of JREs and JDKs\",\"homepage\":\"https://github.com/paketo-buildpacks/bellsoft-liberica\",\"id\":\"paketo-buildpacks/bellsoft-liberica\",\"keywords\":[\"java\",\"jvm\",\"jre\",\"jdk\"],\"licenses\":[{\"type\":\"Apache-2.0\",\"uri\":\"https://github.com/paketo-buildpacks/bellsoft-liberica/blob/main/LICENSE\"}],\"name\":\"Paketo Buildpack for BellSoft Liberica\",\"sbom-formats\":[\"application/vnd.syft+json\",\"application/vnd.cyclonedx+json\"],\"version\":\"11.4.3\"},\"build\":false,\"launch\":true,\"cache\":false},\"jre\":{\"sha\":\"sha256:6b02acc0c8308132bfd06407f99bf9379eb5f7bd2da2f183162b975ec4baaaa3\",\"data\":{\"cert-file\":\"6d84ab71cb726c0641b0af84303c316e3fa50db941dc8507d09045eb2fa5d238\",\"dependency\":{\"cpes\":[\"cpe:2.3:a:oracle:jre:21.0.9:*:*:*:*:*:*:*\"],\"deprecation_date\":\"0001-01-01T00:00:00Z\",\"id\":\"jre\",\"licenses\":[{\"type\":\"GPL-2.0 WITH Classpath-exception-2.0\",\"uri\":\"https://openjdk.java.net/legal/gplv2+ce.html\"}],\"name\":\"BellSoft Liberica JRE\",\"purl\":\"pkg:generic/bellsoft-jre@21.0.9?arch=amd64\",\"sha256\":\"0c9cb6693a9eab34e5990d581f9865824b159d365733960ccfa0e7eac9387b99\",\"stacks\":[\"*\"],\"uri\":\"https://github.com/bell-sw/Liberica/releases/download/21.0.9+15/bellsoft-jre21.0.9+15-linux-amd64.tar.gz\",\"version\":\"21.0.9\"}},\"build\":false,\"launch\":true,\"cache\":false}}},{\"key\":\"paketo-buildpacks/syft\",\"version\":\"2.25.0\",\"layers\":{}},{\"key\":\"paketo-buildpacks/maven\",\"version\":\"6.20.8\",\"layers\":{}},{\"key\":\"paketo-buildpacks/executable-jar\",\"version\":\"6.13.4\",\"layers\":{\"classpath\":{\"sha\":\"sha256:417e5bfc3c82b9373cf6804206e071d2fc74560df867d0f39cb21ac3d15231b6\",\"data\":{\"classpath\":[\"/workspace\"],\"launch\":true},\"build\":true,\"launch\":true,\"cache\":false}}},{\"key\":\"paketo-buildpacks/apache-tomcat\",\"version\":\"8.7.6\",\"layers\":{}},{\"key\":\"paketo-buildpacks/apache-tomee\",\"version\":\"1.15.1\",\"layers\":{}},{\"key\":\"paketo-buildpacks/liberty\",\"version\":\"5.1.9\",\"layers\":{}},{\"key\":\"paketo-buildpacks/dist-zip\",\"version\":\"5.10.4\",\"layers\":{}},{\"key\":\"paketo-buildpacks/spring-boot\",\"version\":\"5.33.5\",\"layers\":{\"helper\":{\"sha\":\"sha256:3f379d0a1f14af80d58a10af3dedb6b31cbbe12d94afab46e247e0f9d8c6f548\",\"data\":{\"buildpackInfo\":{\"clear-env\":false,\"description\":\"A Cloud Native Buildpack that contributes Spring Boot dependency information and slices an application into multiple layers\",\"homepage\":\"https://github.com/paketo-buildpacks/spring-boot\",\"id\":\"paketo-buildpacks/spring-boot\",\"keywords\":[\"java\",\"spring\",\"spring-boot\"],\"licenses\":[{\"type\":\"Apache-2.0\",\"uri\":\"https://github.com/paketo-buildpacks/spring-boot/blob/main/LICENSE\"}],\"name\":\"Paketo Buildpack for Spring Boot\",\"sbom-formats\":[\"application/vnd.cyclonedx+json\",\"application/vnd.syft+json\"],\"version\":\"5.33.5\"},\"helperNames\":[\"spring-cloud-bindings\"]},\"build\":false,\"launch\":true,\"cache\":false},\"spring-cloud-bindings\":{\"sha\":\"sha256:585d8b141d7aa07eecde5a1bae075c7898ab5809a215d66f160d3dfd46eaf577\",\"data\":{\"cpes\":[\"cpe:2.3:a:vmware:spring_cloud_bindings:1.13.0:*:*:*:*:*:*:*\"],\"deprecation_date\":\"0001-01-01T00:00:00Z\",\"id\":\"spring-cloud-bindings\",\"licenses\":[{\"type\":\"Apache-2.0\",\"uri\":\"https://github.com/spring-cloud/spring-cloud-bindings/blob/main/LICENSE\"}],\"name\":\"Spring Cloud Bindings\",\"purl\":\"pkg:generic/springframework/spring-cloud-bindings@1.13.0\",\"sha256\":\"70a448cd45d1dbc117770f934961cd9577c0c4404d34986824f8f593cae4aada\",\"stacks\":[\"io.buildpacks.stacks.bionic\",\"io.paketo.stacks.tiny\",\"*\"],\"uri\":\"https://repo1.maven.org/maven2/org/springframework/cloud/spring-cloud-bindings/1.13.0/spring-cloud-bindings-1.13.0.jar\",\"version\":\"1.13.0\"},\"build\":false,\"launch\":true,\"cache\":true},\"web-application-type\":{\"sha\":\"sha256:366ce7d1a7f90f2e4ad08752f87510eee3ffca18736fa63c03823c8c4ebf2925\",\"data\":{\"files\":\"062a19887629f436dd1b2c215e2824592e55ba5e756732327d104bb33e31ddac\"},\"build\":false,\"launch\":true,\"cache\":false}}},{\"key\":\"paketo-buildpacks/image-labels\",\"version\":\"4.10.3\",\"layers\":{}}],\"config\":{\"sha\":\"sha256:fe1984ccd6a6476909a19cc1179cc91cdb319051056ce42113fcceaa7404e33c\"},\"launcher\":{\"sha\":\"sha256:e553d7c9d019d7e80ad349f4040a997b83c814767d16996f8202811e1c33b493\"},\"process-types\":{\"sha\":\"sha256:1dc94a70dbaa2171fb086500a5d27797f779219b126b0a1eebb9180c2792e80e\"},\"runImage\":{\"topLayer\":\"sha256:bfafb912e6aba933375505b5bfdd67195f628dda14b8af196670565e133532a5\",\"reference\":\"index.docker.io/paketobuildpacks/run-jammy-base@sha256:5748cbddf639795ce770a636701657bf2b0e24f473da4ce35e693a719082ec12\",\"image\":\"index.docker.io/paketobuildpacks/run-jammy-base:latest\"},\"stack\":{\"runImage\":{\"image\":\"index.docker.io/paketobuildpacks/run-jammy-base:latest\"}}}",
                "io.buildpacks.project.metadata": "{}",
                "io.buildpacks.stack.description": "ubuntu:jammy with some common dependencies like tzdata and openssl",
                "io.buildpacks.stack.distro.name": "ubuntu",
                "io.buildpacks.stack.distro.version": "22.04",
                "io.buildpacks.stack.homepage": "https://github.com/paketo-buildpacks/jammy-base-stack",
                "io.buildpacks.stack.id": "io.buildpacks.stacks.jammy",
                "io.buildpacks.stack.maintainer": "Paketo Buildpacks",
                "io.buildpacks.stack.metadata": "{}",
                "io.buildpacks.stack.released": "2025-12-01T04:48:02Z",
                "org.opencontainers.image.ref.name": "ubuntu",
                "org.opencontainers.image.revision": "ff523267214af1a078afbcd6ed82fd55d56baba3",
                "org.opencontainers.image.source": "https://github.com/buildpacks/samples/tree/main/apps/java-maven",
                "org.opencontainers.image.title": "sample",
                "org.opencontainers.image.version": "0.0.1-SNAPSHOT",
                "org.springframework.boot.version": "2.1.18.RELEASE"
            }
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 147706916,
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:73974f74b436f39a2fdb6461b1e3f7c3e41c73325776fa71d16b942a5b4a365b",
                "sha256:3f978e3566433d708249d4aa0bb8d3dd12ca3862eefd9cb8a24d9d1e77382eb9",
                "sha256:9e348ad7ee877b9d1bff1392185a37ee56f00945089fd1b27822acd313e2e2b3",
                "sha256:bfafb912e6aba933375505b5bfdd67195f628dda14b8af196670565e133532a5",
                "sha256:af2064c0cc24d97c6286e91b901495cb6338aaa31c1b5843cd99f2262ffae091",
                "sha256:ed89a93371ac78ebe179ec893acda701f182b39a16b7d2be5a9d3f3cbc78259a",
                "sha256:bea0a3dc2651cac7c9c567a5cb4e7536107b357cb9113e8806f690f050500012",
                "sha256:6b02acc0c8308132bfd06407f99bf9379eb5f7bd2da2f183162b975ec4baaaa3",
                "sha256:417e5bfc3c82b9373cf6804206e071d2fc74560df867d0f39cb21ac3d15231b6",
                "sha256:3f379d0a1f14af80d58a10af3dedb6b31cbbe12d94afab46e247e0f9d8c6f548",
                "sha256:585d8b141d7aa07eecde5a1bae075c7898ab5809a215d66f160d3dfd46eaf577",
                "sha256:366ce7d1a7f90f2e4ad08752f87510eee3ffca18736fa63c03823c8c4ebf2925",
                "sha256:67c8b643997428e08f364ea731e5ef4961ccd8913dd10b7504b9ec5f5016cea2",
                "sha256:ac57c69a8bb3c58abf4e3c15edbb3eb0c6794820be5236af4df29ee3f3fad70d",
                "sha256:e553d7c9d019d7e80ad349f4040a997b83c814767d16996f8202811e1c33b493",
                "sha256:fe1984ccd6a6476909a19cc1179cc91cdb319051056ce42113fcceaa7404e33c",
                "sha256:1dc94a70dbaa2171fb086500a5d27797f779219b126b0a1eebb9180c2792e80e"
            ]
        },
        "Metadata": {
            "LastTagTime": "2025-12-04T15:23:52.40566781Z"
        },
        "Descriptor": {
            "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
            "digest": "sha256:03f487890f33c939507af0540cebf01b91cb4d07e2036ba02e010529ffbd7e12",
            "size": 3025
        }
    }
]
Expected behavior
{
    "schemaVersion": 2,
    "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
    "config": {
        "mediaType": "application/vnd.docker.container.image.v1+json",
        "size": 15820,
        "digest": "sha256:c662462978f98805fbf87c02efc1641f88bb79695f5c40565e92e40644414cc5"
    },
    "layers": [
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 33987054,
            "digest": "sha256:ac9ef76bb7c824668f3cf73964e96e9d474b04a20b608ff804402476f2a4145a"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 12511443,
            "digest": "sha256:67d7bd07ccd5224721ef9f58e74ceb1e01df5d677b3f539e07851d56d8de4750"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 807,
            "digest": "sha256:6fa82fa6083081d8cbe225f1ecd25d7308ee31c71bd68fdbc4303e57f977cbee"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 428,
            "digest": "sha256:5cc8ee8cdeb657c72b17ab5dc18a0eeca9d859b2bb0239128e259378196d4d15"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 2147215,
            "digest": "sha256:91b5fef4aeb694c8e4c59af3dae93f803102715faa6a262f15755945c88f3f0c"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 2430109,
            "digest": "sha256:3df7b837364e333ededdefa305dbd3fd836050b06f9b5e4643458e52d7d2c5d2"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 393,
            "digest": "sha256:5f4c1d5773eb3a00ebec6070263004ec60faf7311ea4db1ac5ff045aecd165f8"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 76004082,
            "digest": "sha256:524c64f86948cfe60283729d137a1750cdf4625057ee4891341cb74acdec1453"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 285,
            "digest": "sha256:b8578b8a2ac51f7abdfdd4eea28bc34a73920771ba01df61f9f6d30f2bbc0dfe"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 1734859,
            "digest": "sha256:06a046bcd588488110383986b9653a43d30700ee2887ca2db61ed154eae85600"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 72710,
            "digest": "sha256:ec660789f01ac29d11bf029218ed99c0d8474e837b20c3ad40a8b007c5b250d4"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 271,
            "digest": "sha256:bc7f82c871ffa12af89cd62c3047e5289ce24fbbe07f7adeeb840ccd43140f20"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 60057,
            "digest": "sha256:424f9029b5f6571584944ecce35bde81ffc5be3470cbece7f59cb5dafa248796"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 17370731,
            "digest": "sha256:cf95bc096d3ad6e1fb7416a77909188f1288eaf8c5c196ec92051cd299b9128c"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 1366636,
            "digest": "sha256:59c41dd5001fd357e682bcce742ced6b509f72f1afdff98915ead7d32a20fc3c"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 782,
            "digest": "sha256:fd4b7b00c087927585e63096c171f23a48445425b2bed19a914ca4cbb59968f3"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 209,
            "digest": "sha256:b39b18afe74ec7ee652aed10c5c3e637af7e7daad3da9380043a93fe7d212d44"
        }
    ],
   "annotations": {
      "org.opencontainers.image.revision": "ff523267214af1a078afbcd6ed82fd55d56baba3",
      "org.opencontainers.image.source": "https://github.com/buildpacks/samples/tree/main/apps/java-maven"
  }
}

Example with docker

echo "FROM alpine" > Dockerfile
docker buildx build \
  --annotation index,manifest:org.opencontainers.image.source=https://github.com/buildpacks/samples/tree/main/apps/java-maven \
  --annotation index,manifest:org.opencontainers.image.revision="$(git rev-parse HEAD)" \
  -t docker.io/martinschmidt/sample-app:latest \
  --push .
docker buildx imagetools inspect docker.io/martinschmidt/sample-app:latest --raw
{
  "schemaVersion": 2,
  "mediaType": "application/vnd.oci.image.index.v1+json",
  "manifests": [
    {
      "mediaType": "application/vnd.oci.image.manifest.v1+json",
      "digest": "sha256:fa6629cb5ca95604137f452d40d6d0cb1254b165579ea04f55739cfcf1698f9a",
      "size": 694,
      "platform": {
        "architecture": "amd64",
        "os": "linux"
      }
    },
    {
      "mediaType": "application/vnd.oci.image.manifest.v1+json",
      "digest": "sha256:cbd1e9fa8b5b115b39645d8b35c2e1bd1591d9695e00ef9e2309f733584c296a",
      "size": 566,
      "annotations": {
        "vnd.docker.reference.digest": "sha256:fa6629cb5ca95604137f452d40d6d0cb1254b165579ea04f55739cfcf1698f9a",
        "vnd.docker.reference.type": "attestation-manifest"
      },
      "platform": {
        "architecture": "unknown",
        "os": "unknown"
      }
    }
  ],
  "annotations": {
    "org.opencontainers.image.revision": "ff523267214af1a078afbcd6ed82fd55d56baba3",
    "org.opencontainers.image.source": "https://github.com/buildpacks/samples/tree/main/apps/java-maven"
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    status/blockedIssue or PR that is blocked. See comments.type/bugIssue that reports an unexpected behaviour.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions