Skip to content

Commit 34f32dd

Browse files
authored
Merge pull request #61262 from jldohmann/MCO-647
docs/machine-config-operator-certificates: Expand significantly
2 parents ff85dac + 37050e0 commit 34f32dd

File tree

1 file changed

+28
-4
lines changed

1 file changed

+28
-4
lines changed

security/certificate_types_descriptions/machine-config-operator-certificates.adoc

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,48 @@ toc::[]
88

99
== Purpose
1010

11-
Machine Config Operator certificates are used to secure connections between the Red Hat Enterprise Linux CoreOS (RHCOS) nodes and the Machine Config Server.
11+
This certificate authority is used to secure connections from nodes to Machine Config Server (MCS) during initial provisioning.
12+
13+
There are two certificates:
14+
. A self-signed CA, the MCS CA
15+
. A derived certificate, the MCS cert
16+
17+
=== Provisioning details
18+
19+
{product-title} installations that use {op-system-first} are installed by using Ignition. This process is split into two parts:
20+
21+
. An Ignition config is created that references a URL for the full configuration served by the MCS.
22+
. For user-provisioned infrastucture installation methods, the Ignition config manifests as a `worker.ign` file created by the `openshift-install` command. For installer-provisioned infrastructure installation methods that use the Machine API Operator, this configuration appears as the `worker-user-data` secret.
1223

1324
include::snippets/mcs-endpoint-limitation.adoc[]
1425

1526
.Additional resources
1627

28+
* xref:../../post_installation_configuration/machine-configuration-tasks.adoc#understanding-the-machine-config-operator[Understanding the Machine Config Operator].
29+
1730
* xref:../../networking/openshift_sdn/about-openshift-sdn.adoc#about-openshift-sdn[About the OpenShift SDN network plugin].
1831

32+
=== Provisioning chain of trust
33+
34+
The MCS CA is injected into the Ignition configuration under the `security.tls.certificateAuthorities` configuration field. The MCS then provides the complete configuration using the MCS cert presented by the web server.
35+
36+
The client validates that the MCS cert presented by the server has a chain of trust to an authority it recognizes. In this case, the MCS CA is that authority, and it signs the MCS cert. This ensures that the client is accessing the correct server. The client in this case is Ignition running on a machine in the initramfs.
37+
38+
=== Key material inside a cluster
39+
40+
The MCS CA appears in the cluster as a config map in the `kube-system` namespace, `root-ca` object, with `ca.crt` key. The private key is not stored in the cluster and is discarded after the installation completes.
41+
42+
The MCS cert appears in the cluster as a secret in the `openshift-machine-config-operator` namespace and `machine-config-server-tls` object with the `tls.crt` and `tls.key` keys.
1943

2044
== Management
2145

22-
These certificates are managed by the system and not the user.
46+
At this time, directly modifying either of these certificates is not supported.
2347

2448
== Expiration
25-
This CA is valid for 10 years.
49+
The MCS CA is valid for 10 years.
2650

2751
The issued serving certificates are valid for 10 years.
2852

2953
== Customization
3054

31-
You cannot customize the Machine Config Operator certificates.
55+
You cannot customize the Machine Config Operator certificates.

0 commit comments

Comments
 (0)