carvel-dev / imgpkg

Store application configuration files in Docker/OCI registries
https://carvel.dev/imgpkg
Apache License 2.0
262 stars 61 forks source link

Updated describe command to show layer's digest of each image #622

Closed kumaritanushree closed 8 months ago

kumaritanushree commented 8 months ago

Fixes https://github.com/carvel-dev/imgpkg/issues/348

After this changes output will look like:

$ ./imgpkg describe -b k8slt/kc-e2e-test-repo 
Bundle SHA: sha256:ddd93b67b97c1460580ca1afd04326d16900dc716c4357cade85b83deab76f1c

Images:
  - Image: index.docker.io/k8slt/kctrl-example-pkg@sha256:73713d922b5f561c0db2a7ea5f4f6384f7d2d6289886f8400a8aaf5e8fdf134a
    Type: Bundle
    Origin: index.docker.io/k8slt/kctrl-example-pkg@sha256:73713d922b5f561c0db2a7ea5f4f6384f7d2d6289886f8400a8aaf5e8fdf134a
    Layers:
      - Digest: sha256:dc5da8ac3e06c740dc7d82f9e011ef6927ca9893b5dad7e95650f53ba89445df
    Annotations:
      kbld.carvel.dev/id: k8slt/kctrl-example-pkg:v2.0.0
    Images:
    - Image: index.docker.io/dkalinin/k8s-simple-app@sha256:4c8b96d4fffdfae29258d94a22ae4ad1fe36139d47288b8960d9958d1e63a9d0
      Type: Image
      Origin: index.docker.io/dkalinin/k8s-simple-app@sha256:4c8b96d4fffdfae29258d94a22ae4ad1fe36139d47288b8960d9958d1e63a9d0
      Layers:
        - Digest: sha256:8ece9ac45f2b7228b2ed95e9f407b4f0dc2ac74f93c62ff1156f24c53042ba54
      Annotations:
        kbld.carvel.dev/id: docker.io/dkalinin/k8s-simple-app@sha256:4c8b96d4fffdfae29258d94a22ae4ad1fe36139d47288b8960d9958d1e63a9d0

  - Image: index.docker.io/k8slt/kctrl-example-pkg@sha256:8ffa7f9352149dba1d539d0006b38eda357917edcdd39b82497a61dab2c27b75
    Type: Bundle
    Origin: index.docker.io/k8slt/kctrl-example-pkg@sha256:8ffa7f9352149dba1d539d0006b38eda357917edcdd39b82497a61dab2c27b75
    Layers:
      - Digest: sha256:52bf80eaaecb06062519d66bf59bc8a093cebd37faf48e47fdd79fd009d83612
    Annotations:
      kbld.carvel.dev/id: k8slt/kctrl-example-pkg:v1.0.0
    Images:
    - Image: index.docker.io/dkalinin/k8s-simple-app@sha256:4c8b96d4fffdfae29258d94a22ae4ad1fe36139d47288b8960d9958d1e63a9d0
      Type: Image
      Origin: index.docker.io/dkalinin/k8s-simple-app@sha256:4c8b96d4fffdfae29258d94a22ae4ad1fe36139d47288b8960d9958d1e63a9d0
      Layers:
        - Digest: sha256:8ece9ac45f2b7228b2ed95e9f407b4f0dc2ac74f93c62ff1156f24c53042ba54
      Annotations:
        kbld.carvel.dev/id: docker.io/dkalinin/k8s-simple-app@sha256:4c8b96d4fffdfae29258d94a22ae4ad1fe36139d47288b8960d9958d1e63a9d0

Succeeded

In yaml format:

$ ./imgpkg describe -b k8slt/kc-e2e-test-repo -oyaml
sha: sha256:ddd93b67b97c1460580ca1afd04326d16900dc716c4357cade85b83deab76f1c
content:
  bundles:
    sha256:8ffa7f9352149dba1d539d0006b38eda357917edcdd39b82497a61dab2c27b75:
      annotations:
        kbld.carvel.dev/id: k8slt/kctrl-example-pkg:v1.0.0
      content:
        images:
          sha256:4c8b96d4fffdfae29258d94a22ae4ad1fe36139d47288b8960d9958d1e63a9d0:
            annotations:
              kbld.carvel.dev/id: docker.io/dkalinin/k8s-simple-app@sha256:4c8b96d4fffdfae29258d94a22ae4ad1fe36139d47288b8960d9958d1e63a9d0
            image: index.docker.io/dkalinin/k8s-simple-app@sha256:4c8b96d4fffdfae29258d94a22ae4ad1fe36139d47288b8960d9958d1e63a9d0
            imageType: Image
            layers:
            - digest: sha256:8ece9ac45f2b7228b2ed95e9f407b4f0dc2ac74f93c62ff1156f24c53042ba54
            origin: index.docker.io/dkalinin/k8s-simple-app@sha256:4c8b96d4fffdfae29258d94a22ae4ad1fe36139d47288b8960d9958d1e63a9d0
      image: index.docker.io/k8slt/kctrl-example-pkg@sha256:8ffa7f9352149dba1d539d0006b38eda357917edcdd39b82497a61dab2c27b75
      layers:
      - digest: sha256:52bf80eaaecb06062519d66bf59bc8a093cebd37faf48e47fdd79fd009d83612
      metadata: {}
      origin: index.docker.io/k8slt/kctrl-example-pkg@sha256:8ffa7f9352149dba1d539d0006b38eda357917edcdd39b82497a61dab2c27b75
    sha256:73713d922b5f561c0db2a7ea5f4f6384f7d2d6289886f8400a8aaf5e8fdf134a:
      annotations:
        kbld.carvel.dev/id: k8slt/kctrl-example-pkg:v2.0.0
      content:
        images:
          sha256:4c8b96d4fffdfae29258d94a22ae4ad1fe36139d47288b8960d9958d1e63a9d0:
            annotations:
              kbld.carvel.dev/id: docker.io/dkalinin/k8s-simple-app@sha256:4c8b96d4fffdfae29258d94a22ae4ad1fe36139d47288b8960d9958d1e63a9d0
            image: index.docker.io/dkalinin/k8s-simple-app@sha256:4c8b96d4fffdfae29258d94a22ae4ad1fe36139d47288b8960d9958d1e63a9d0
            imageType: Image
            layers:
            - digest: sha256:8ece9ac45f2b7228b2ed95e9f407b4f0dc2ac74f93c62ff1156f24c53042ba54
            origin: index.docker.io/dkalinin/k8s-simple-app@sha256:4c8b96d4fffdfae29258d94a22ae4ad1fe36139d47288b8960d9958d1e63a9d0
      image: index.docker.io/k8slt/kctrl-example-pkg@sha256:73713d922b5f561c0db2a7ea5f4f6384f7d2d6289886f8400a8aaf5e8fdf134a
      layers:
      - digest: sha256:dc5da8ac3e06c740dc7d82f9e011ef6927ca9893b5dad7e95650f53ba89445df
      metadata: {}
      origin: index.docker.io/k8slt/kctrl-example-pkg@sha256:73713d922b5f561c0db2a7ea5f4f6384f7d2d6289886f8400a8aaf5e8fdf134a
image: index.docker.io/k8slt/kc-e2e-test-repo@sha256:ddd93b67b97c1460580ca1afd04326d16900dc716c4357cade85b83deab76f1c
layers:
- digest: sha256:a18d039a28a58cba06a4aaf435e4479b88daeb3cf7a84e1ca1a5d913f56ad1a8
metadata: {}
origin: index.docker.io/k8slt/kc-e2e-test-repo@sha256:ddd93b67b97c1460580ca1afd04326d16900dc716c4357cade85b83deab76f1c

Succeeded