You are viewing docs for an older version of Buoyant Enterprise for Linkerd.
You may want the latest documentation instead.
Verifying signed artifacts
To verify the authenticity of BEL Docker images and Helm charts, use the following commands.
Prerequisites
Verify Docker images and SBOMs
tag=enterprise-2.18.7
for component in controller extension-init policy-controller proxy proxy-init; do
for suffix in "" -fips; do
image=ghcr.io/buoyantio/$component:$tag$suffix
digest=$(crane digest $image)
image_uri_digest=$image@$digest
# verify index image
cosign verify \
--certificate-identity=https://github.com/BuoyantIO/enterprise-linkerd/.github/workflows/actions.yml@refs/tags/$tag \
--certificate-oidc-issuer=https://token.actions.githubusercontent.com \
$image_uri_digest
# verify index sbom
cosign verify-attestation \
--type spdxjson \
--certificate-identity=https://github.com/BuoyantIO/enterprise-linkerd/.github/workflows/actions.yml@refs/tags/$tag \
--certificate-oidc-issuer=https://token.actions.githubusercontent.com \
$image_uri_digest
# view index sbom
cosign download attestation \
$image_uri_digest \
--predicate-type https://spdx.dev/Document |
jq -r '.payload' | base64 -d | jq .
# iterate through all platform-specific images referenced in the index sbom
cosign download attestation \
$image_uri_digest \
--predicate-type https://spdx.dev/Document |
jq -r '.payload' | base64 -d |
jq -r '.predicate.packages[1:][] .versionInfo' |
while read -r sha; do
# platform-specific image digest
image_uri_digest="$image@$sha"
# verify platform-specific image
cosign verify \
--certificate-identity=https://github.com/BuoyantIO/enterprise-linkerd/.github/workflows/actions.yml@refs/tags/$tag \
--certificate-oidc-issuer=https://token.actions.githubusercontent.com \
$image_uri_digest
# verify platform-specific image sbom
cosign verify-attestation \
--type spdxjson \
--certificate-identity=https://github.com/BuoyantIO/enterprise-linkerd/.github/workflows/actions.yml@refs/tags/$tag \
--certificate-oidc-issuer=https://token.actions.githubusercontent.com \
$image_uri_digest
done
done
done
Verify Helm charts
gpg --keyring ./bel.pubring.kbx --no-default-keyring \
--keyserver hkps://keys.openpgp.org \
--receive-keys '54A1FEAE3864F855F6724F03F09B21EC0428D8B8'
gpg --keyring ./bel.pubring.kbx --no-default-keyring \
--export --output ./bel.pubring.gpg \
'[email protected]'
helm repo add linkerd-buoyant https://helm.buoyant.cloud
helm repo update
helm pull --verify --keyring ./bel.pubring.gpg linkerd-buoyant/linkerd-enterprise-crds
helm pull --verify --keyring ./bel.pubring.gpg linkerd-buoyant/linkerd-enterprise-control-plane
helm pull --verify --keyring ./bel.pubring.gpg linkerd-buoyant/linkerd-enterprise-multicluster