Category: Cloud Computing

  • 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…

  • To 404 or Not to 404 – Using HTTP Response Codes to Provide User-Friendly Error Messages in Microservices Implementation

    To 404 or Not to 404 – Using HTTP Response Codes to Provide User-Friendly Error Messages in Microservices Implementation

    How often the following happens to you? You write your client code, you call an API, and receive a 404 Not found response. You start investigating the issue in your code; change a line here or there; spend hours troubleshooting just to find out that the issue is on the server-side, and you can’t do…

  • 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…

  • Embed the Origin Dockerfiles into Your Docker Container Images Using Labels

    Embed the Origin Dockerfiles into Your Docker Container Images Using Labels

    With the recent Solorigate incident, a lot of emphasis is put on determining the origin of the software running in an enterprise. For Docker container images, this will mean to embed in the image the Dockerfile the image was built from. However, tracking down the software origin is not so trivial to do. For closed-source…