nayaread
HomeFavouritesTopicsSources
HomeFavouritesTopicsSources
NayaRead links to original engineering blogs. All copyright belongs to the respective authors.
Shopify Engineering·Oct 12, 2017·5 min read41

How Shopify Governs Containers at Scale with Grafeas and Kritis - Shopify

Today, Google and its contributors launched Grafeas, an open source initiative to define a uniform way for auditing and governing the modern software supply chain. At Shopify, we’re excited to be part of this announcement. Grafeas, or “scribe” in Greek, enables us to store critical software component metadata during our build and integration pipelines. With over 6,000 container builds per day and 330,000 images in our primary container registry, the security team was eager to implement an appropriate auditing strategy to be able to answer questions such as: Is this container deployed to production? When was the time this container was pulled (downloaded) from our registry? What packages are installed in this container? Does this container contain any security vulnerabilities? Does this container meet our security controls? Using Grafeas as the central source of truth for container metadata has allowed the security team to answer these questions and flesh out appropriate auditing and lifecycling strategies for the software we deliver to users at Shopify. Here’s a sample of some of the container introspection we gain from Grafeas. In this example we have details surrounding the origin of this container including its build details, base image and the operations that resulted in the container layers. Build Details: Image Basis: As part of Grafeas, Google also introduced Kritis, or “judge” in Greek, which allows us to use the metadata stored in Grafeas to build and enforce real-time deployment policies with Kubernetes. During CI, a number of audits are performed against the containers and attestations are generated. These attestations make up the policies we can enforce with Kritis on Kubernetes. At Shopify we use PGP to digitally sign our attestations, ensuring the identity of our builder and other attestation authorities. Here’s an example of a signed attestation: The two key concepts of Kritis are attestation authorities and policies. Attestation authorities are described as a named entity which has the capability to create attestations. A policy would then name one or more attestation authorities whose attestations are required

DockerKubernetesObservability
Read original on shopify.engineering

Score breakdown

  • Technical depth43
  • Practical value45
  • Originality85
  • Writing quality84
  • Source reputation0
  • Recency0
  • External engagement0
  • On-site engagement0

NayaRead shows a summary and links to the original article. The full article is hosted on shopify.engineering.

More like this

CNCF Case Studies

Michelin

Jul 14, 2026·8 min read
The GitHub Blog

Introducing GitHub Container Registry

Kayla Ngan·Sep 1, 2020·10 min read
Shopify Engineering

Vouching for Docker Images - Shopify

Dec 1, 2020·10 min read
Shopify Engineering

The Story Behind Shopify’s Isospin Tooling - Shopify

Jul 5, 2022·11 min read