-
Notifications
You must be signed in to change notification settings - Fork 14.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ClusterTrustBundles: Add section to certificates page #40065
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/sig auth |
/assign |
Document the API types as they exist today, plus a hint of the future integrations that will be available.
ff1d663
to
5cd243d
Compare
{{< feature-state for_k8s_version="v1.27" state="alpha" >}} | ||
|
||
{{< note >}} | ||
Gated by the `ClusterTrustBundles` feature gate. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Gated by the `ClusterTrustBundles` feature gate. | |
Use of this feature requires the `ClusterTrustBundle` feature gate to be enabled in `kube-apiserver` and the alpha API to be enabled with `--runtime-config=certificates.k8s.io/v1alpha1/certificatetrustbundles=true`. |
Future Kubernetes releases will build on them with integrations like the ability | ||
to project their contents into the pod filesystem. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
avoid forward looking statements here, just document what exists and is usable today
rejected during object validation, or filtered by consumers of the object | ||
(primarily Kubelet). Additionally, consumers will reorder the certificates in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rejected during object validation, or filtered by consumers of the object | |
(primarily Kubelet). Additionally, consumers will reorder the certificates in | |
rejected during object validation, or can be ignored by consumers of the object. | |
Additionally, consumers are allowed to reorder the certificates in |
the bundle with their own arbitrary but stable ordering. | ||
|
||
ClusterTrustBundle objects should be considered world-readable within the | ||
cluster. All serviceaccounts have a default RBAC grant to get, list, and watch |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cluster. All serviceaccounts have a default RBAC grant to get, list, and watch | |
cluster. All service accounts have a default RBAC grant to get, list, and watch |
Signer-linked ClusterTrustBundles will be consumed in workloads by a combination | ||
of field selector on the signer name and a label selector. If this query | ||
matches multiple ClusterTrustBundle objects, their contents will be merged, | ||
deduplicated, and sorted before being provided to the workload. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
drop the bits referring to projected volumes for now, limit this to documenting the spec.signerName
field selector for this release
metadata: | ||
name: foo | ||
spec: | ||
signerName: "" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe a comment rather than explicitly setting an empty field?
signerName: "" | |
# no signerName specified |
@ahmedtd Mind give this another stab? |
Closing this PR as the work will be shifted over to #40578. |
ClusterTrustBundles are a new alpha API type landing in Kubernetes 1.27.