@@ -32,7 +32,7 @@ kubectl rollout status deployment \
3232### Using the ` cnpg ` plugin for ` kubectl `
3333
3434You can use the ` cnpg ` plugin to override the default configuration options
35- that are in the static manifests.
35+ that are in the static manifests.
3636
3737For example, to generate the default latest manifest but change the watch
3838namespaces to only be a specific namespace, you could run:
@@ -44,7 +44,7 @@ kubectl cnpg install generate \
4444```
4545
4646Please refer to [ "` cnpg ` plugin"] ( ./kubectl-plugin.md#generation-of-installation-manifests ) documentation
47- for a more comprehensive example.
47+ for a more comprehensive example.
4848
4949::: warning
5050 If you are deploying CloudNativePG on GKE and get an error (`... failed to
@@ -358,3 +358,92 @@ that apply declarative changes to enable or disable hibernation.
358358The `hibernate status` command has been removed, as its purpose is now
359359fulfilled by the standard `status` command.
360360
361+ # # Verifying release assets
362+
363+ CloudNativePG cryptographically signs all official release assets. Verifying these
364+ signatures ensures the assets originate from the official repository and were
365+ published through our automated release workflow.
366+
367+ :::info
368+ Refer to the ["Release integrity and supply chain" section](security.md#release-integrity-and-supply-chain)
369+ for more information.
370+ :: :
371+
372+ # ## Prerequisites
373+
374+ - **Signature verification:** [cosign](https://github.com/sigstore/cosign) CLI
375+ - **SBOM and Provenance:** [Docker Buildx](https://docs.docker.com/build/install-buildx/)
376+ (included in Docker Desktop and modern Docker versions)
377+
378+ # ## Verifying the Operator YAML Deployment
379+
380+ When installing via a direct YAML manifest, you should verify the manifest file
381+ using the corresponding bundle (the `.sigstore.json` file) provided on the
382+ [GitHub Release page](https://github.com/cloudnative-pg/cloudnative-pg/releases).
383+
384+ Run the following command :
385+
386+ ` ` ` bash
387+ cosign verify-blob \
388+ cnpg-{version}.yaml \
389+ --bundle cnpg-{version}.sigstore.json \
390+ --certificate-identity-regexp "^https://github.com/cloudnative-pg/cloudnative-pg/.github/workflows/release-publish.yml@refs/tags/v" \
391+ --certificate-oidc-issuer "https://token.actions.githubusercontent.com"
392+ ` ` `
393+
394+ # ## Verifying the operator container images
395+
396+ Run the following command to verify the signature of the CloudNativePG operator
397+ images :
398+
399+ ` ` ` bash
400+ cosign verify ghcr.io/cloudnative-pg/cloudnative-pg:{tag} \
401+ --certificate-identity-regexp="^https://github.com/cloudnative-pg/cloudnative-pg/.github/workflows/release-publish.yml@refs/tags/v" \
402+ --certificate-oidc-issuer="https://token.actions.githubusercontent.com"
403+ ` ` `
404+
405+ We provide OCI attestations for full transparency. To inspect the Software Bill
406+ of Materials (SBOM) or build provenance, use the `docker buildx imagetools`
407+ command :
408+
409+ To view the Software Bill of Materials (SBOM) in SPDX format :
410+
411+ ` ` ` bash
412+ docker buildx imagetools inspect ghcr.io/cloudnative-pg/cloudnative-pg:{tag} \
413+ --format '{{ json (index .SBOM "linux/amd64").SPDX }}'
414+ ` ` `
415+
416+ To inspect the SLSA Provenance (build details) :
417+
418+ ` ` ` bash
419+ docker buildx imagetools inspect ghcr.io/cloudnative-pg/cloudnative-pg:{tag} \
420+ --format '{{ json (index .Provenance "linux/amd64").SLSA }}'
421+ ` ` `
422+
423+ # ## Verifying PostgreSQL operand images
424+
425+ CloudNativePG maintains container images for all supported PostgreSQL versions
426+ as part of the [`postgres-containers` project](https://github.com/cloudnative-pg/postgres-containers)
427+ (also called operand images).
428+
429+ To verify the signature of a specific operand image :
430+
431+ ` ` ` bash
432+ cosign verify ghcr.io/cloudnative-pg/postgresql:{tag} \
433+ --certificate-identity-regexp="^https://github.com/cloudnative-pg/postgres-containers/" \
434+ --certificate-oidc-issuer="https://token.actions.githubusercontent.com"
435+ ` ` `
436+
437+ To view the Software Bill of Materials (SBOM) in SPDX format :
438+
439+ ` ` ` bash
440+ docker buildx imagetools inspect ghcr.io/cloudnative-pg/postgresql:{tag} \
441+ --format '{{ json (index .SBOM "linux/amd64").SPDX }}'
442+ ` ` `
443+
444+ To inspect the SLSA Provenance (Build details) :
445+
446+ ` ` ` bash
447+ docker buildx imagetools inspect ghcr.io/cloudnative-pg/postgresql:{tag} \
448+ --format '{{ json (index .Provenance "linux/amd64").SLSA }}'
449+ ` ` `
0 commit comments