You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Items marked with (R) are required *prior to targeting to a milestone / release*.
52
51
53
-
-[] (R) Enhancement issue in release milestone, which links to KEP dir in [kubernetes/enhancements] (not the initial KEP PR)
54
-
-[] (R) KEP approvers have approved the KEP status as `implementable`
52
+
-[x] (R) Enhancement issue in release milestone, which links to KEP dir in [kubernetes/enhancements] (not the initial KEP PR)
53
+
-[x] (R) KEP approvers have approved the KEP status as `implementable`
55
54
-[x] (R) Design details are appropriately documented
56
-
-[ ] (R) Test plan is in place, giving consideration to SIG Architecture and SIG Testing input (including test refactors)
57
-
-[ ] e2e Tests for all Beta API Operations (endpoints)
58
-
-[ ] (R) Ensure GA e2e tests meet requirements for [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
59
-
-[ ] (R) Minimum Two Week Window for GA e2e tests to prove flake free
60
-
-[ ] (R) Graduation criteria is in place
61
-
-[ ] (R) [all GA Endpoints](https://github.com/kubernetes/community/pull/1806) must be hit by [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
62
-
-[ ] (R) Production readiness review completed
63
-
-[ ] (R) Production readiness review approved
55
+
-[x] (R) Test plan is in place, giving consideration to SIG Architecture and SIG Testing input (including test refactors)
56
+
-[x] (R) Graduation criteria is in place
57
+
-[x] (R) Production readiness review completed
58
+
-[x] (R) Production readiness review approved
64
59
-[ ] "Implementation History" section is up-to-date for milestone
65
-
-[] User-facing documentation has been created in [kubernetes/website], for publication to [kubernetes.io]
66
-
-[] Supporting documentation—e.g., additional design documents, links to mailing list discussions/SIG meetings, relevant PRs/issues, release notes
60
+
-[x] User-facing documentation has been created in [kubernetes/website], for publication to [kubernetes.io]
61
+
-[x] Supporting documentation—e.g., additional design documents, links to mailing list discussions/SIG meetings, relevant PRs/issues, release notes
@@ -142,9 +137,9 @@ A new versioned grpc API (ExternalJWTSigner) will be created under `k8s.io/kuber
142
137
#### Support for Legacy Tokens
143
138
144
139
Implementers will have following options for legacy token support:
145
-
1.Let the Controller loop run as it is with static signing keys. Stitch the public keys in external signer's JWKs.
146
-
2.Turn off the loop (don't support legacy tokens) if external signing is enabled.
147
-
3.Create a custom external signer for legacy tokens using Controller loop from staging repo (This option will only be available if demanded by Community as part of feedback for Beta graduation).
140
+
1.Turn off the loop (don't support legacy tokens) if external signing is enabled. (recommended to avoid non-expiring tokens)
141
+
2.Let the Controller loop run as it is with static signing keys. Stitch the public keys in external signer's JWKs.
142
+
3.Turn off the loop in kube-controller-manager and create a custom external signer for legacy tokens that obtains them via the external signer.
148
143
149
144
### Risks and Mitigations
150
145
@@ -280,10 +275,6 @@ to implement this enhancement.
280
275
##### Integration tests
281
276
282
277
- Create a cluster with ExternalJWTSigner to configure an external signer and verify TokenRequest and TokenReview APIs work properly.
283
-
284
-
##### e2e tests
285
-
286
-
- Create a cluster with ExternalJWTSigner configured.
287
278
- Request a token for a service account principal.
288
279
- Use a token as bearer for making requests to kube-apiserver and ensure it succeeds.
289
280
@@ -296,13 +287,15 @@ to implement this enhancement.
296
287
297
288
#### Beta
298
289
299
-
- E2E tests are completed.
300
-
- We have at least one ExternalSigner implementation working with this change.
290
+
- All tests are completed.
291
+
- We have at least one ExternalSigner integration working with this change.
292
+
- GKE integration is complete
301
293
- Decide whether to externalize legacy token controller code in a staging repo. Check [Support for Legacy Tokens](#support-for-legacy-tokens) for details.
294
+
- Decided not to externalize legacy token controller code
302
295
303
296
#### GA
304
297
305
-
- More than one ExternalSigner implementations are completed.
298
+
- More than one ExternalSigner integration are completed.
306
299
- Feature is tuned with feedback from distributions.
307
300
308
301
### Upgrade/Downgrade Strategy
@@ -590,6 +583,10 @@ Initial PRs:
590
583
- kubernetes/kubernetes#73110
591
584
- kubernetes/kubernetes#125177
592
585
586
+
1.32: Alpha release
587
+
588
+
1.34: Beta release
589
+
593
590
## Drawbacks
594
591
595
592
Enabling the feature puts a remote service in the critical path of kube-apiserver. Thus, it can easily cause an outage. However, we have some relief in that it is an opt-in/configurable feature.
0 commit comments