Skip to content

Commit cca7290

Browse files
authored
Merge pull request #97585 from ShaunaDiaz/OSDOCS-13228
OSDOCS-13228: container image sig checks MicroShift
2 parents 7fbd5b8 + 7f5d6e2 commit cca7290

14 files changed

+251
-33
lines changed

_topic_maps/_topic_map_ms.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ Topics:
4646
File: microshift-fips
4747
- Name: Understanding system health checks
4848
File: microshift-greenboot
49+
- Name: Mirroring container images for disconnected installations
50+
File: microshift-deploy-with-mirror-registry
4951
---
5052
Name: Installing with an RPM package
5153
Dir: microshift_install_rpm
@@ -67,8 +69,6 @@ Distros: microshift
6769
Topics:
6870
- Name: Embedding in a RHEL for Edge image using image builder
6971
File: microshift-embed-in-rpm-ostree
70-
- Name: Mirroring container images for disconnected installations
71-
File: microshift-deploy-with-mirror-registry
7272
- Name: Embedding in a RHEL for Edge image for offline use
7373
File: microshift-embed-in-rpm-ostree-offline-use
7474
---
@@ -130,6 +130,8 @@ Topics:
130130
File: microshift-tls-config
131131
- Name: Configuring audit logging policies
132132
File: microshift-audit-logs-config
133+
- Name: Verifying container signatures for supply chain security
134+
File: microshift-verify-container-signatures
133135
- Name: Configuring low latency
134136
Dir: microshift_low_latency
135137
Topics:
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
:_mod-docs-content-type: ASSEMBLY
2+
[id="microshift-verify-container-signatures"]
3+
= Verifying container signatures for supply chain security
4+
include::_attributes/attributes-microshift.adoc[]
5+
:context: microshift-verify-container-signatures
6+
7+
toc::[]
8+
9+
You can enhance supply chain security by using the sigstore signing methodology.
10+
11+
//TP in 4.19, expected to GA 4.20
12+
:FeatureName: sigstore support
13+
include::snippets/technology-preview.adoc[]
14+
15+
include::modules/microshift-verify-container-signatures-sigstore-con.adoc[leveloffset=+1]
16+
17+
include::modules/microshift-verify-container-signatures-sigstore.adoc[leveloffset=+1]
18+
19+
include::modules/microshift-enable-sigstore-mirror-registries.adoc[leveloffset=+2]
20+
21+
include::modules/microshift-wiping-local-container-storage.adoc[leveloffset=+2]

microshift_install_rpm_ostree/microshift-deploy-with-mirror-registry.adoc renamed to microshift_install_get_ready/microshift-deploy-with-mirror-registry.adoc

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,20 @@ You can use a custom container registry when you deploy {microshift-short} in a
1010

1111
include::modules/microshift-mirror-container-images.adoc[leveloffset=+1]
1212

13-
[role="_additional-resources"]
14-
.Additional resources
15-
* link:https://docs.openshift.com/container-platform/{ocp-version}/installing/disconnected_install/installing-mirroring-creating-registry.html[Creating a mirror registry with mirror registry for Red Hat OpenShift]
16-
1713
include::modules/microshift-get-mirror-reg-container-image-list.adoc[leveloffset=+1]
1814

1915
include::modules/microshift-mirroring-prereqs.adoc[leveloffset=+1]
2016

21-
[role="_additional-resources"]
22-
.Additional resources
23-
* link:https://access.redhat.com/documentation/en-us/openshift_container_platform/{ocp-version}/html/installing/disconnected-installation-mirroring#installation-adding-registry-pull-secret_installing-mirroring-disconnected[Configuring credentials that allow images to be mirrored]
24-
2517
include::modules/microshift-downloading-container-images.adoc[leveloffset=+1]
2618

2719
include::modules/microshift-uploading-images-to-mirror.adoc[leveloffset=+1]
2820

29-
include::modules/microshift-configuring-hosts-for-mirror.adoc[leveloffset=+1]
21+
include::modules/microshift-configuring-hosts-for-mirror.adoc[leveloffset=+1]
22+
23+
[id="additional-resources_microshift-deploy-with-mirror-registry_{context}"]
24+
[role="_additional-resources"]
25+
== Additional resources
26+
27+
* link:https://docs.redhat.com/en/documentation/openshift_container_platform/{ocp-version}/html/disconnected_environments/mirroring-in-disconnected-environments#installing-mirroring-creating-registry[Creating a mirror registry with mirror registry for Red Hat OpenShift]
28+
29+
* link:https://docs.redhat.com/en/documentation/openshift_container_platform/{ocp-version}/html/disconnected_environments/mirroring-in-disconnected-environments#installation-adding-registry-pull-secret_about-installing-oc-mirror-v2[Configuring credentials that allow images to be mirrored]

microshift_running_apps/microshift_operators/microshift-operators-oc-mirror.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ You can filter and prune catalogs to get specific Operators and mirror them by u
1616
[role="_additional-resources"]
1717
.Additional resources
1818
* link:https://access.redhat.com/documentation/en-us/openshift_container_platform/{ocp-version}/html/operators/administrator-tasks#olm-restricted-networks[Using Operator Lifecycle Manager on restricted networks]
19-
* xref:../../microshift_install_rpm_ostree/microshift-deploy-with-mirror-registry.adoc#microshift-configuring-hosts-for-mirror_microshift-deployment-mirror[Configuring hosts for mirror registry access]
19+
* xref:../../microshift_install_get_ready/microshift-deploy-with-mirror-registry.adoc#microshift-configuring-hosts-for-mirror_microshift-deployment-mirror[Configuring hosts for mirror registry access]
2020
* xref:../../microshift_networking/microshift-disconnected-network-config.adoc#microshift-disconnected-network-config[Configuring network settings for fully disconnected hosts]
21-
* xref:../../microshift_install_rpm_ostree/microshift-deploy-with-mirror-registry.adoc#microshift-get-mirror-reg-container-image-list_microshift-deploy-with-mirror-registry[Getting the mirror registry container image list]
21+
* xref:../../microshift_install_get_ready/microshift-deploy-with-mirror-registry.adoc#microshift-get-mirror-reg-container-image-list_microshift-deploy-with-mirror-registry[Getting the mirror registry container image list]
2222
* xref:../../microshift_install_rpm_ostree/microshift-embed-in-rpm-ostree-offline-use.adoc#microshift-embed-in-rpm-ostree-offline-use[Embedding in a {op-system-ostree} image for offline use]
2323

2424
include::modules/microshift-oc-mirror-about-con.adoc[leveloffset=+1]

modules/microshift-configuring-hosts-for-mirror.adoc

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Module included in the following assemblies:
22
//
3-
// * microshift/microshift_install_rpm_ostree/microshift-deploy-with-mirror-registry.adoc
3+
// * microshift/microshift_install_get_ready/microshift-deploy-with-mirror-registry.adoc
44

55
:_mod-docs-content-type: PROCEDURE
66
[id="microshift-configuring-hosts-for-mirror_{context}"]
@@ -9,18 +9,20 @@
99
To configure a {microshift-short} host to use a mirror registry, you must give the {microshift-short} host access to the registry by creating a configuration file that maps the Red Hat registry host names to the mirror.
1010

1111
.Prerequisites
12+
1213
* Your mirror host has access to the internet.
1314
* The mirror host can access the mirror registry.
1415
* You configured the mirror registry for use in your restricted network.
1516
* You downloaded the pull secret and modified it to include authentication to your mirror repository.
1617
1718
.Procedure
18-
. Log into your {microshift-short} host.
19+
20+
. Log in to your {microshift-short} host.
1921

2022
. Enable the SSL certificate trust on any host accessing the mirror registry by completing the following steps:
2123

2224
.. Copy the `rootCA.pem` file from the mirror registry, for example, `<registry_path>/quay-rootCA`, to the {microshift-short} host at the `/etc/pki/ca-trust/source/anchors` directory.
23-
.. Enable the certificate in the system-wide trust store configuration by running the following command:
25+
.. Enable the certificate in the system-wide truststore configuration by running the following command:
2426
+
2527
[source,terminal]
2628
----
@@ -62,7 +64,7 @@ $ sudo update-ca-trust
6264
location = "<registry_host>:<port>"
6365
insecure = false
6466
----
65-
<1> Replace `<registry_host>:<port>` with the host name and port of your mirror registry server, for example, `<microshift-quay:8443>`.
67+
<1> Replace `<registry_host>:<port>` with the hostname and port of your mirror registry server, for example, `<microshift-quay:8443>`.
6668
6769
. Enable the {microshift-short} service by running the following command:
6870
+

modules/microshift-downloading-container-images.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Module included in the following assemblies:
22
//
3-
// * microshift/microshift_install_rpm_ostree/microshift-deploy-with-mirror-registry.adoc
3+
// * microshift/microshift_install_get_ready/microshift-deploy-with-mirror-registry.adoc
44

55
:_mod-docs-content-type: PROCEDURE
66
[id="microshift-downloading-container-images_{context}"]
@@ -10,7 +10,7 @@ After you have located the container list and completed the mirroring prerequisi
1010

1111
.Prerequisites
1212

13-
* You are logged into a host with access to the internet.
13+
* You logged into a host with access to the internet.
1414
* The `.pull-secret-mirror.json` file and `microshift-containers` directory contents are available locally.
1515
1616
.Procedure
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * microshift/microshift_auth_security/microshift-verify-container-signatures.adoc
4+
5+
:_mod-docs-content-type: PROCEDURE
6+
[id="microshift-enable-sigstore-mirror-registries_{context}"]
7+
= Enabling sigstore attachments for mirror registries
8+
9+
If you are using mirror registries you must apply additional configuration to enable sigstore attachments and mirroring by digest.
10+
11+
.Prerequisites
12+
13+
* You have admin access to the {microshift-short} host.
14+
* You completed the steps in "Verifying container signatures using sigstore."
15+
16+
.Procedure
17+
18+
. Enable sigstore attachments by creating the `/etc/containers/registries.d/mirror.registry.local.yaml` file.
19+
+
20+
[source,terminal,subs="+quotes"]
21+
----
22+
$ cat /etc/containers/registries.d/_<mirror.registry.local.yaml>_ <1>
23+
docker:
24+
mirror.registry.local:
25+
use-sigstore-attachments: true
26+
----
27+
<1> Name the `_<mirror.registry.local.yaml>_` file after your mirror registry URL.
28+
29+
. Enable mirroring by digest by creating the `/etc/containers/registries.conf.d/999-microshift-mirror.conf` with the following contents:
30+
+
31+
[source,terminal]
32+
----
33+
$ cat /etc/containers/registries.conf.d/999-microshift-mirror.conf
34+
[[registry]]
35+
prefix = "quay.io/openshift-release-dev"
36+
location = "mirror.registry.local"
37+
mirror-by-digest-only = true
38+
39+
[[registry]]
40+
prefix = "registry.redhat.io"
41+
location = "mirror.registry.local"
42+
mirror-by-digest-only = true
43+
----
44+
45+
.Next steps
46+
. Wipe the local container storage clean.

modules/microshift-get-mirror-reg-container-image-list.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Module included in the following assemblies:
22
//
3-
// * microshift/microshift_install_rpm_ostree/microshift-deploy-with-mirror-registry.adoc
3+
// * microshift/microshift_install_get_ready/microshift-deploy-with-mirror-registry.adoc
44

55
:_mod-docs-content-type: PROCEDURE
66
[id="microshift-get-mirror-reg-container-image-list_{context}"]
@@ -10,7 +10,7 @@ To use a mirror registry, you must know which container image references are use
1010

1111
[NOTE]
1212
====
13-
To mirror the Operator Lifecycle Manager (OLM) in disconnected environments, add the references provided in the `release-olm-$ARCH.json` that is included in the `microshift-olm` RPM and follow the same procedure. Use `oc-mirror` for mirroring Operator catalogs and Operators.
13+
To mirror the Operator Lifecycle Manager (OLM) in disconnected environments, add the references provided in the `release-olm-$ARCH.json` that is included in the `microshift-olm` RPM and follow the same procedure. Use the `oc-mirror` CLI plugin for mirroring Operator catalogs and Operators.
1414
====
1515

1616
.Prerequisites
@@ -62,4 +62,4 @@ $ jq -r '.images | .[]' ${RELEASE_FILE} > microshift-container-refs.txt
6262
[NOTE]
6363
====
6464
After the `microshift-container-refs.txt` file is created with the {microshift-short} container image list, you can append the file with other user-specific image references before running the mirroring procedure.
65-
====
65+
====

modules/microshift-mirror-container-images.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Module included in the following assemblies:
22
//
3-
// * microshift/microshift_install_rpm_ostree/microshift-deploy-with-mirror-registry.adoc
3+
// * microshift/microshift_install_get_ready/microshift-deploy-with-mirror-registry.adoc
44

55
:_mod-docs-content-type: CONCEPT
66
[id="microshift-mirror-container-images_{context}"]
@@ -11,7 +11,7 @@ Using a custom air-gapped container registry, or mirror, is necessary with certa
1111
To create an air-gapped mirror registry for {microshift-short} containers, you must complete the following steps:
1212

1313
* Get the container image list to be mirrored.
14-
* Configure the mirroring prerequisites.
14+
* Configure the mirroring prerequisites, including secure signatures management.
1515
* Download images on a host with internet access.
1616
* Copy the downloaded image directory to an air-gapped site.
1717
* Upload images to a mirror registry in an air-gapped site.
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Module included in the following assemblies:
22
//
3-
// * microshift/microshift_install_rpm_ostree/microshift-deploy-with-mirror-registry.adoc
3+
// * microshift/microshift_install_get_ready/microshift-deploy-with-mirror-registry.adoc
44

55
:_mod-docs-content-type: CONCEPT
66
[id="microshift-configuring-mirroring-prereqs_{context}"]
@@ -11,7 +11,7 @@ You must create a container image registry credentials file that allows the mirr
1111
[id="microshift-example-mirror-pull-secret-entry_{context}"]
1212
== Example mirror registry pull secret entry
1313

14-
For example, the following section is added to the pull secret file for the `microshift_quay:8443` mirror registry using `microshift:microshift` as username and password.
14+
In this example, the following section is added to the pull secret file for the `microshift_quay:8443` mirror registry by using `microshift:microshift` as username and password.
1515

1616
.Example mirror registry section for pull secret file
1717
[source,terminal]
@@ -21,6 +21,6 @@ For example, the following section is added to the pull secret file for the `mic
2121
"email": "<microshift_quay@example.com>" <3>
2222
},
2323
----
24-
<1> Replace the `<registry_host>:<port>` value `microshift_quay:8443` with the host name and port of your mirror registry server.
25-
<2> Replace the `<microshift_auth>` value with the user password.
26-
<3> Replace the `</microshift_quay@example.com>` value with the user email.
24+
<1> Replace the `<registry_host>:<port>` value `microshift_quay:8443` with the hostname and port of your mirror registry server.
25+
<2> Replace the `_<microshift_auth>_` value with the user password.
26+
<3> Replace the `_</microshift_quay@example.com>_` value with the user email.

0 commit comments

Comments
 (0)