Skip to content

Commit dfa87a6

Browse files
committed
docs: add PKI configuration documentation to customization guide
Document the configurable PKI feature in docs/user/customization.md, following the existing inline documentation pattern for install-config properties. Key additions: - Add pki field entry with nested signerCertificates structure - Add RSA 4096 and ECDSA P-384 install-config example fragments - Document ConfigurablePKI feature gate requirement - Note scope: signer certificates only, leaf certs unaffected Assisted-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 5d49e82 commit dfa87a6

1 file changed

Lines changed: 52 additions & 0 deletions

File tree

docs/user/customization.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,16 @@ feature set.
5454
The default is [OVNKubernetes][ovn-kubernetes].
5555
* `serviceNetwork` (optional array of [IP networks](#ip-networks)): The IP address pools for services.
5656
The default is 172.30.0.0/16.
57+
* `pki` (optional object): Configures cryptographic parameters for installer-generated signer certificates.
58+
Requires the `ConfigurablePKI` feature gate (set `featureSet: TechPreviewNoUpgrade` or use `CustomNoUpgrade` with `featureGates`).
59+
When omitted, all signer certificates use RSA 2048 (existing default behavior).
60+
* `signerCertificates` (optional object): Overrides key parameters for all signer certificates.
61+
* `key` (optional object): Key generation parameters.
62+
* `algorithm` (required string): The key algorithm. Valid values are `RSA` and `ECDSA`.
63+
* `rsa` (optional object): RSA-specific parameters. Required when `algorithm` is `RSA`.
64+
* `keySize` (required integer): Key size in bits. Valid values are multiples of 1024 from 2048 to 8192.
65+
* `ecdsa` (optional object): ECDSA-specific parameters. Required when `algorithm` is `ECDSA`.
66+
* `curve` (required string): The elliptic curve. Valid values are `P256`, `P384`, and `P521`.
5767
* `platform` (required object): The configuration for the specific platform upon which to perform the installation.
5868
* `aws` (optional object): [AWS-specific properties](aws/customization.md#cluster-scoped-properties).
5969
* `baremetal` (optional object): [Baremetal IPI-specific properties](metal/customization_ipi.md).
@@ -251,6 +261,48 @@ sshKey: ssh-ed25519 AAAA...
251261
If your proxy certificate is signed by a certificate authority which RHCOS does not trust by default, you may also wish to configure [an additional trust bundle](#additional-trust-bundle).
252262
If `additionalTrustBundle` and at least one `proxy` setting are configured, the `cluster` [Proxy object][proxy] will be configured with [`trustedCA`][proxy-trusted-ca] referencing the additional trust bundle.
253263

264+
### PKI (signer certificate configuration)
265+
266+
An example install config with RSA 4096-bit signer certificates:
267+
268+
```yaml
269+
apiVersion: v1
270+
baseDomain: example.com
271+
metadata:
272+
name: test-cluster
273+
featureSet: TechPreviewNoUpgrade
274+
pki:
275+
signerCertificates:
276+
key:
277+
algorithm: RSA
278+
rsa:
279+
keySize: 4096
280+
platform: ...
281+
pullSecret: '{"auths": ...}'
282+
sshKey: ssh-ed25519 AAAA...
283+
```
284+
285+
An example install config with ECDSA P-384 signer certificates:
286+
287+
```yaml
288+
apiVersion: v1
289+
baseDomain: example.com
290+
metadata:
291+
name: test-cluster
292+
featureSet: TechPreviewNoUpgrade
293+
pki:
294+
signerCertificates:
295+
key:
296+
algorithm: ECDSA
297+
ecdsa:
298+
curve: P384
299+
platform: ...
300+
pullSecret: '{"auths": ...}'
301+
sshKey: ssh-ed25519 AAAA...
302+
```
303+
304+
The `pki` configuration applies only to the 10 signer (CA) certificates generated by the installer. Leaf certificates signed by these CAs continue to use RSA 2048. When `pki` is present but `defaults` is not specified, it is auto-populated to RSA 2048.
305+
254306
## Kubernetes Customization (unvalidated)
255307

256308
In addition to customizing OpenShift and aspects of the underlying platform, the installer allows arbitrary modification to the Kubernetes objects that are injected into the cluster. Note that there is currently no validation on the modifications that are made, so it is possible that the changes will result in a non-functioning cluster. The Kubernetes manifests can be viewed and modified using the `manifests` and `manifest-templates` targets.

0 commit comments

Comments
 (0)