Skip to content

Commit 28cdbc9

Browse files
DOCSP-39646 ssdlc image verification (#1743)
1 parent c4ce321 commit 28cdbc9

File tree

3 files changed

+117
-0
lines changed

3 files changed

+117
-0
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
.. procedure::
2+
:style: normal
3+
4+
.. step:: Download the MongoDB installation file.
5+
6+
To download the ``1.26.0`` release using Darwin with an ARM64 architecture, run the following command:
7+
8+
.. io-code-block::
9+
:copyable: true
10+
11+
.. input::
12+
13+
wget https://github.com/mongodb/mongodb-enterprise-kubernetes/releases/download/1.26.0/kubectl-mongodb_1.26.0_darwin_arm64.tar.gz
14+
15+
.. output::
16+
17+
Saving : « kubectl-mongodb_1.26.0_darwin_arm64.tar.gz »
18+
19+
.. step:: Unzip the MongoDB installation file.
20+
21+
.. io-code-block::
22+
:copyable: true
23+
24+
.. input::
25+
26+
tar -xvzf kubectl-mongodb_1.26.0_darwin_arm64.tar.gz
27+
28+
.. output::
29+
30+
x kubectl-mongodb.sig
31+
x kubectl-mongodb
32+
33+
.. step:: Verify the MongoDB installation file.
34+
35+
Run the following command:
36+
37+
.. io-code-block::
38+
:copyable: true
39+
40+
.. input::
41+
42+
cosign verify-blob --key mongodb-enterprise-kubernetes-operator.pem --signature kubectl-mongodb.sig kubectl-mongodb
43+
44+
.. output::
45+
46+
Verified OK

source/installation.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ Install and Configure the |k8s-op-short|
2121
:ref:`install-k8s`
2222
Install the |k8s-op-full|.
2323

24+
:ref:`k8s-operator-verify-mongodb-packages`
25+
Verify the package is valid and unaltered before you install
26+
|k8s-op-short|.
27+
2428
:ref:`upgrade`
2529
Upgrade from earlier versions of |k8s-op-short|.
2630

@@ -30,4 +34,5 @@ Install and Configure the |k8s-op-short|
3034

3135
/tutorial/plan-k8s-operator-install
3236
/tutorial/install-k8s-operator
37+
/tutorial/verify-mongodb-packages
3338
/upgrade
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
.. _k8s-operator-verify-mongodb-packages:
2+
3+
============================================================
4+
Verify the Integrity of the |k8s-op-full| Packages
5+
============================================================
6+
7+
.. default-domain:: mongodb
8+
9+
.. contents:: On this page
10+
:local:
11+
:backlinks: none
12+
:depth: 1
13+
:class: singlecol
14+
15+
Starting in |k8s-op-full| 1.26.0, the MongoDB release team
16+
digitally signs |k8s-op-full| packages to certify that they are valid and
17+
unaltered MongoDB releases. Before you install |k8s-op-full|, validate the
18+
package using the provided PGP signature or SHA-256 checksum.
19+
20+
PGP signatures provide the strongest guarantees by checking both the
21+
authenticity and integrity of a file to prevent tampering.
22+
23+
Verify Linux/macOS Packages
24+
---------------------------
25+
26+
Prerequisites
27+
~~~~~~~~~~~~~
28+
29+
Run the following command to obtain our signing key:
30+
31+
.. code-block::
32+
33+
wget https://cosign.mongodb.com/mongodb-enterprise-kubernetes-operator.pem
34+
35+
Use Cosign
36+
~~~~~~~~~~
37+
38+
MongoDB signs each release branch with a signature file. You can verify
39+
the authenticity of the binary with our public key file.
40+
41+
.. include:: /includes/steps-install-verify-files-pgp.rst
42+
43+
Use Images
44+
~~~~~~~~~~
45+
46+
You can also verify the signature of any published Docker images. The
47+
following example shows how to verify the signature of the |k8s-op-full| 1.26.0
48+
image:
49+
50+
.. io-code-block::
51+
:copyable: true
52+
53+
.. input::
54+
55+
cosign verify --key mongodb-enterprise-kubernetes-operator.pem quay.io/mongodb/mongodb-enterprise-operator-ubi:1.26.0 --insecure-ignore-tlog
56+
57+
.. output::
58+
59+
WARNING: Skipping tlog verification is an insecure practice that lacks of transparency and auditability verification for the signature.
60+
61+
Verification for quay.io/mongodb/mongodb-enterprise-operator-ubi:1.26.0 --
62+
The following checks were performed on each of these signatures:
63+
- The cosign claims were validated
64+
- The signatures were verified against the specified public key
65+
66+
[{"critical":{"identity":{"docker-reference":"quay.io/mongodb/mongodb-enterprise-operator-ubi:1.26.0"},"image":{"docker-manifest-digest":"sha256:9281935b4c36e0e4feebcf577abf21291ce0b517e7f637e6eaaf9769642abdd3"},"type":"cosign container image signature"},"optional":null}]

0 commit comments

Comments
 (0)