kubernetes/hack/lib
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
..
.gitattributes Capture git export-subst strings in version.sh for 'git archive' use. 2017-11-09 16:36:27 -08:00
etcd.sh Remove unnecessary ETCD_UNSUPPORTED_ARCH for arm64 2023-02-16 21:29:13 -05:00
golang.sh Link apiextensions-apiserver binary statically 2023-03-13 09:00:36 +01:00
init.sh ClusterTrustBundles: Define types 2023-03-15 20:10:18 -07:00
logging.sh bash: compare numbers numerically, not lexically 2023-03-06 14:53:15 -08:00
protoc.sh Add missing proto path to kube::protoc::protoc invocation 2023-01-26 18:00:09 -05:00
test.sh Update shellcheck version (0.7.2 -> 0.8.0) and fix findings 2022-11-08 11:53:57 +01:00
util.sh fix docker buildx check 2023-02-10 14:26:15 -06:00
version.sh Ensure we are using GNU date for builds 2022-10-20 10:12:23 -04:00