Category: Containers

  • Authenticating with OCI Registries – GitHub Container Registry (GHCR) Implementation

    Authenticating with OCI Registries – GitHub Container Registry (GHCR) Implementation

    Update 2024-03-04: Below, I mention that GHCR does not return proper scope in the www-authenticate header, which is not correct. GHCR returns the hint repository:user/image:pull only if no real repository is requested (e.g. for the /v2/ and _catalog endpoints). If I request an existing repository (e.g. toddysm/python) the scope is properly set as repository:toddysm/python:pull in…

  • Authenticating with OCI Registries – Docker Hub Implementation

    Authenticating with OCI Registries – Docker Hub Implementation

    Update 2024-02-03: I just learned this week that index.docker.io is another DNS used for access to the Docker Hub registry. The behavior of index.docker.io is the same as registry-1.docker.io, so no changes to the commands are added. The list of DNS names is updated in the post below. As part of my role in the…

  • Using OCI Annotation to Track Container Image Lifecycle

    Using OCI Annotation to Track Container Image Lifecycle

    For a while, we’ve been exploring the idea of using OCI annotations to track the lifecycle of container images. The problem we are trying to solve is as follows. Container images are immutable and cannot be dynamically patched like virtual machines. To apply the latest updates to a containerized application, teams must produce a new…

  • OCI Artifact Manifests, OCI Referrers API and Their Support Across Registries (Part 1)

    OCI Artifact Manifests, OCI Referrers API and Their Support Across Registries (Part 1)

    [UPDATE: 2023-03-26] When I wrote this post, the expectation was that OCI will release version 1.1 of the specification with artifact manifest included. This release was supposed to happen by end of Jan 2023 or mid Feb 2023. Unfortunately, the OCI 1.1 Image Spec PR 999 put a hold on that and as of today,…

  • Implementing Containers’ Secure Supply Chain with Sigstore Part 3 – Ephemeral Keys and Artifact Promotion

    Implementing Containers’ Secure Supply Chain with Sigstore Part 3 – Ephemeral Keys and Artifact Promotion

    In the last post of the series about Sigstore, I will look at the most exciting part of the implementation – ephemeral keys, or what the Sigstore team calls keyless signing. The post will go over the second and third scenarios I outlined in Implementing Containers’ Secure Supply Chain with Sigstore Part 1 – Signing…

  • Implementing Containers’ Secure Supply Chain with Sigstore Part 1 – Signing with Existing Keys

    Implementing Containers’ Secure Supply Chain with Sigstore Part 1 – Signing with Existing Keys

    Today, the secure supply chain for software is on top of mind for every CISO and enterprise leader. After the President’s Executive Order (EO), many efforts were spun off to secure the supply chain. One of the most prominent is, of course, Sigstore. I looked at Sigstore more than a year ago and was excited…

  • What is a Container Image Quarantine Flag and How to Use it?

    What is a Container Image Quarantine Flag and How to Use it?

    In my last post, Implementing Quarantine Pattern for Container Images, I wrote about how to implement a quarantine pattern for container images and how to use policies to prevent the deployment of an image that doesn’t meet certain criteria. In that post, I also mentioned that the quarantine flag (not to be confused with the…

  • What do you need to know about Helm 2, Helm 3, and ACR?

    What do you need to know about Helm 2, Helm 3, and ACR?

    In the last few months, I started seeing more and more customers using Azure Container Registry (or ACR) for storing their Helm charts. However, many of them are confused about how to properly push and use the charts stored in ACR. So, in this post, I will document a few things that need the most…