Skip to content

Commit b6fc4a1

Browse files
committed
Add Short Rotation Period For Certificates
1 parent 0e4d724 commit b6fc4a1

File tree

1 file changed

+126
-0
lines changed

1 file changed

+126
-0
lines changed
+126
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
---
2+
title: certificate-short-rotation
3+
authors:
4+
- vrutkovs
5+
reviewers:
6+
- deads2k
7+
approvers:
8+
- deads2k
9+
api-approvers:
10+
- deads2k
11+
creation-date: 2024-08-24
12+
last-updated: 2024-08-24
13+
tracking-link:
14+
- https://issues.redhat.com/browse/API-1688
15+
---
16+
17+
# Short Rotation Period For Certificates
18+
19+
## Summary
20+
21+
Add new feature gate in DevPreview set so that components would issue certificates with shorter
22+
duration - hours instead of days.
23+
24+
## Motivation
25+
26+
Currently certificates are issued by Openshift with various validity durations, but at least its 15
27+
days. This makes testing certificate rotation in CI complicated - we have to emulate passing time
28+
using time skewing. This methods shows how cluster recovers after certificates have expired, but
29+
it doesn't help us with testing happy path when certificates rotate during standard cluster lifecycle.
30+
31+
Some components (i.e. cluster-kube-apiserver-operator) issue certificate with shorter lifetime in
32+
development branch. This requires us to revert this change every time we branch for new release.
33+
This also doesn't help us in CI, as it needs a similar change in the installer.
34+
Also, most components are not using this, so we end up with some certificates valid for hours but
35+
most would be valid for days.
36+
37+
Since the change to revert this setting requires manual pull request, there is chance that this
38+
setting will leak into supported releases.
39+
40+
This enhancement describes a new feature gate, which would enable this feature for all components
41+
and ensure that stable releases don't have it accidentally enabled as it uses FeatureGates.
42+
43+
### User Stories
44+
45+
> As an Openshift developer, I want to have a setting for component to issue shorter living
46+
> certificates so that I could verify that certificate rotation doesn't cause issues
47+
48+
### Goals
49+
50+
* Create a new FeatureGate in DevPreview featureset
51+
* Update components owning certificates to check this featuregate and issue shorter certificates
52+
* Create e2e tests enabling this featuregate and checking that certificate rotate correctly
53+
54+
### Non-Goals
55+
56+
* Change validity duration for existing certificates
57+
58+
## Proposal
59+
60+
Update components to read enabled FeatureGates and update certificate issuing code
61+
62+
### Workflow Description
63+
64+
N/A
65+
66+
### API Extensions
67+
68+
N/A
69+
70+
### Topology Considerations
71+
72+
#### Hypershift / Hosted Control Planes
73+
74+
N/A
75+
76+
#### Standalone Clusters
77+
78+
N/A
79+
80+
#### Single-node Deployments or MicroShift
81+
82+
Not applicable to MicroShift - it doesn't issue certificates via operators
83+
84+
### Implementation Details/Notes/Constraints
85+
86+
87+
### Risks and Mitigations
88+
89+
90+
### Drawbacks
91+
92+
93+
## Open Questions [optional]
94+
95+
96+
## Test Plan
97+
98+
End to end testing this feature would:
99+
* enable ShortCertificateRotation featuregate
100+
* observe the cluster for 8 hours
101+
* run minimal testsuite to ensure that main cluster functions are not affected
102+
103+
## Graduation Criteria
104+
105+
This featuregate is not meant to be graduated - its intended to be developer-only setting
106+
107+
### Removing a deprecated feature
108+
109+
110+
## Upgrade / Downgrade Strategy
111+
112+
Setting DevPreview is permanent - there is no way to upgrade or downgrade the cluster.
113+
114+
## Version Skew Strategy
115+
116+
N/A
117+
118+
## Operational Aspects of API Extensions
119+
120+
N/A
121+
122+
## Support Procedures
123+
124+
This setting is unsupported
125+
126+
## Alternatives

0 commit comments

Comments
 (0)