kubernetes/pkg/kubeapiserver
Taahir Ahmed 6a75e7c40c ClusterTrustBundles: Define types
This commit is the main API piece of KEP-3257 (ClusterTrustBundles).

This commit:

* Adds the certificates.k8s.io/v1alpha1 API group
* Adds the ClusterTrustBundle type.
* Registers the new type in kube-apiserver.
* Implements the type-specfic validation specified for
  ClusterTrustBundles:
  - spec.pemTrustAnchors must always be non-empty.
  - spec.signerName must be either empty or a valid signer name.
  - Changing spec.signerName is disallowed.
* Implements the "attest" admission check to restrict actions on
  ClusterTrustBundles that include a signer name.

Because it wasn't specified in the KEP, I chose to make attempts to
update the signer name be validation errors, rather than silently
ignored.

I have tested this out by launching these changes in kind and
manipulating ClusterTrustBundle objects in the resulting cluster using
kubectl.
2023-03-15 20:10:18 -07:00
..
admission fix broken tests after dependency injection. 2023-03-13 14:40:47 -07:00
authenticator authenticator config: use static CA reader for OIDC CA 2023-02-14 13:43:58 +01:00
authorizer add superuser fallback to authorizer (#111558) 2022-10-18 18:57:00 -07:00
options ClusterTrustBundles: Define types 2023-03-15 20:10:18 -07:00
default_storage_factory_builder.go ClusterTrustBundles: Define types 2023-03-15 20:10:18 -07:00
doc.go Fix golint issues in pkg/kubeapiserver 2019-11-05 22:25:32 +03:00
OWNERS Check in OWNERS modified by update-yamlfmt.sh 2021-12-09 21:31:26 -05:00