|
| 1 | +# PGVector |
| 2 | + |
| 3 | +Minimal Python image based on Wolfi. |
| 4 | + |
| 5 | +## Versions |
| 6 | + |
| 7 | +| 📌 Version | ⬇️ Pull URL | |
| 8 | +| ---------- | --------------------------------------------- | |
| 9 | +| latest | ghcr.io/gitguardian/wolfi/pgvector:latest | |
| 10 | +| latest-dev | ghcr.io/gitguardian/wolfi/pgvector:latest-dev | |
| 11 | +| 17 | ghcr.io/gitguardian/wolfi/pgvector:17 | |
| 12 | +| 17-dev | ghcr.io/gitguardian/wolfi/pgvector:17-dev | |
| 13 | +| 16 | ghcr.io/gitguardian/wolfi/pgvector:16 | |
| 14 | +| 16-dev | ghcr.io/gitguardian/wolfi/pgvector:16-dev | |
| 15 | + |
| 16 | +## ✅ Verify the Provenance |
| 17 | + |
| 18 | +GitHub CLI ([gh](https://cli.github.com/)) can be used to retrieve the build provenance, which details the exact commit, workflow, and runner that produced the image: |
| 19 | + |
| 20 | +- **Production image** |
| 21 | + |
| 22 | +```shell |
| 23 | +gh attestation verify \ |
| 24 | + --owner gitguardian \ |
| 25 | + oci://ghcr.io/gitguardian/wolfi/pgvector:latest |
| 26 | +``` |
| 27 | + |
| 28 | +- **Shell image** |
| 29 | + |
| 30 | +```shell |
| 31 | +gh attestation verify \ |
| 32 | + --owner gitguardian \ |
| 33 | + oci://ghcr.io/gitguardian/wolfi/pgvector:latest-shell |
| 34 | +``` |
| 35 | + |
| 36 | +## 📦 **Image Verification** |
| 37 | + |
| 38 | +All official images are **cryptographically signed** using [Sigstore Cosign](https://www.sigstore.dev/). |
| 39 | + |
| 40 | +### ✅ Verify the Image Signature |
| 41 | + |
| 42 | +To ensure the image is authentic and has not been tampered with, use the following command: |
| 43 | + |
| 44 | +- **Production image** |
| 45 | + |
| 46 | +```shell |
| 47 | +cosign verify \ |
| 48 | + --certificate-oidc-issuer=https://token.actions.githubusercontent.com \ |
| 49 | + --certificate-identity=https://github.com/GitGuardian/wolfi/.github/workflows/release.yaml@refs/heads/main \ |
| 50 | + ghcr.io/gitguardian/wolfi/pgvector:latest | jq |
| 51 | +``` |
| 52 | + |
| 53 | +- **Shell image** |
| 54 | + |
| 55 | +```shell |
| 56 | +cosign verify \ |
| 57 | + --certificate-oidc-issuer=https://token.actions.githubusercontent.com \ |
| 58 | + --certificate-identity=https://github.com/GitGuardian/wolfi/.github/workflows/release.yaml@refs/heads/main \ |
| 59 | + ghcr.io/gitguardian/wolfi/pgvector:latest-shell | jq |
| 60 | +``` |
| 61 | + |
| 62 | +### 📦 **Image SBOMs** |
| 63 | + |
| 64 | +To enhance transparency, we generate SBOMs for each release. SBOMs are available directly from the container registry |
| 65 | +and can be verified using using [Sigstore Cosign](https://www.sigstore.dev/). |
| 66 | + |
| 67 | +#### ✅ Verify the Image Attestations |
| 68 | + |
| 69 | +- **Production image** |
| 70 | + |
| 71 | +```shell |
| 72 | +cosign verify-attestation \ |
| 73 | + --type=https://spdx.dev/Document \ |
| 74 | + --certificate-oidc-issuer=https://token.actions.githubusercontent.com \ |
| 75 | + --certificate-identity=https://github.com/GitGuardian/wolfi/.github/workflows/release.yaml@refs/heads/main \ |
| 76 | + ghcr.io/gitguardian/wolfi/pgvector:latest |
| 77 | +``` |
| 78 | + |
| 79 | +- **Shell image** |
| 80 | + |
| 81 | +```shell |
| 82 | +cosign verify-attestation \ |
| 83 | + --type=https://spdx.dev/Document \ |
| 84 | + --certificate-oidc-issuer=https://token.actions.githubusercontent.com \ |
| 85 | + --certificate-identity=https://github.com/GitGuardian/wolfi/.github/workflows/release.yaml@refs/heads/main \ |
| 86 | + ghcr.io/gitguardian/wolfi/pgvector:latest-shell |
| 87 | +``` |
| 88 | + |
| 89 | +This will pull in the signature for the attestation specified by the --type parameter, which in this case is the SPDX attestation. You will receive output that verifies the SBOM attestation signature in cosign's transparency log: |
| 90 | + |
| 91 | +```shell |
| 92 | +Verification for ghcr.io/gitguardian/wolfi/pgvector:latest -- |
| 93 | +The following checks were performed on each of these signatures: |
| 94 | + - The cosign claims were validated |
| 95 | + - Existence of the claims in the transparency log was verified offline |
| 96 | + - The code-signing certificate was verified using trusted certificate authority certificates |
| 97 | +Certificate subject: https://github.com/GitGuardian/wolfi/.github/workflows/release.yaml@refs/heads/main |
| 98 | +Certificate issuer URL: https://token.actions.githubusercontent.com |
| 99 | +GitHub Workflow Trigger: push |
| 100 | +GitHub Workflow SHA: ced6b3cfab1341509de55bff7c0389ce81f73aae |
| 101 | +GitHub Workflow Name: pgvector |
| 102 | +GitHub Workflow Repository: GitGuardian/wolfi |
| 103 | +GitHub Workflow Ref: refs/heads/main |
| 104 | +... |
| 105 | +``` |
| 106 | + |
| 107 | +#### ✅ Download the Image SBOM Attestations |
| 108 | + |
| 109 | +To download an attestation, use the `cosign` download attestation command and provide both the predicate type and the build platform. For example, the following command will obtain the SBOM for the pgvector image on `linux/amd64`: |
| 110 | + |
| 111 | +- **Production image** |
| 112 | + |
| 113 | +```shell |
| 114 | +cosign download attestation \ |
| 115 | + --platform=linux/amd64 \ |
| 116 | + --predicate-type=https://spdx.dev/Document \ |
| 117 | + ghcr.io/gitguardian/wolfi/pgvector:latest | jq -r .payload | base64 -d | jq .predicate |
| 118 | +``` |
| 119 | + |
| 120 | +- **Shell image** |
| 121 | + |
| 122 | +```shell |
| 123 | +cosign download attestation \ |
| 124 | + --platform=linux/amd64 \ |
| 125 | + --predicate-type=https://spdx.dev/Document \ |
| 126 | + ghcr.io/gitguardian/wolfi/pgvector:latest-shell | jq -r .payload | base64 -d | jq .predicate |
| 127 | +``` |
0 commit comments