Commit Graph

1370 Commits

Author SHA1 Message Date
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
Igor Velichkovich
5e5b3029f3
Matchconditions admission webhooks alpha implementation for kep-3716 (#116261)
* api changes adding match conditions

* feature gate and registry strategy to drop fields

* matchConditions logic for admission webhooks

* feedback

* update test

* import order

* bears.com

* update fail policy ignore behavior

* update docs and matcher to hold fail policy as non-pointer

* update matcher error aggregation, fix early fail failpolicy ignore, update docs

* final cleanup

* openapi gen
2023-03-14 20:28:26 -07:00
Kubernetes Prow Robot
815b1bf0d8
Merge pull request #116558 from klueska/update-dra-kubeletplugin-v1alpha2
Update kubeletplugin API for DRA to v1alpha2
2023-03-14 19:27:06 -07:00
Kubernetes Prow Robot
15040e1c86
Merge pull request #115123 from aramase/v2beta1
[KMSv2] Generate proto API and update feature gate for beta
2023-03-14 19:26:25 -07:00
Kubernetes Prow Robot
6df64241d0
Merge pull request #116598 from natasha41575/updateKustV5
Update kubectl kustomize to kyaml/v0.14.1, cmd/config/v0.11.1, api/v0…
2023-03-14 17:44:55 -07:00
Anish Ramasekar
ad698cc0ae
[KMSv2] Generate proto API and update feature gate for beta
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2023-03-14 23:18:16 +00:00
Kevin Klues
579295e727 Update kubeletplugin API for DynamicResourceAllocation to v1alpha2
This PR makes the NodePrepareResources() and NodeUnprepareResource()
calls of the kubeletplugin API for DynamicResourceAllocation
symmetrical. It wasn't clear how one would use the set of CDIDevices
passed back in the NodeUnprepareResource() of the v1alpha1 API, and the
new API now passes back the full ResourceHandle that was originally
passed to the Prepare() call. Passing the ResourceHandle is strictly
more informative and a plugin could always (re)derive the set of
CDIDevice from it.

This is a breaking change, but this release is scheduled to break
multiple APIs for DynamicResourceAllocation, so it makes sense to do
this now instead of later.

Signed-off-by: Kevin Klues <kklues@nvidia.com>
2023-03-14 23:09:44 +00:00
Patrick Ohly
fe59e091eb dependencies: ginkgo v2.9.1, gomega v1.27.4
They contain some nice-to-have improvements (for example, better printing of
errors with gomega/format.Object) but nothing that is critical right now.

"go mod tidy" was run manually in
staging/src/k8s.io/kms/internal/plugins/mock (https://github.com/kubernetes/kubernetes/pull/116613
not merged yet).
2023-03-14 22:26:27 +01:00
natasha41575
09e6e4db1d Update kubectl kustomize to kyaml/v0.14.1, cmd/config/v0.11.1, api/v0.13.2, kustomize/v5.0.1 2023-03-14 11:40:28 -05:00
Kubernetes Prow Robot
fcf5d23e68
Merge pull request #96275 from swatisehgal/noderesourcetopology
Remove NodeResourceTopology API from staging
2023-03-14 06:00:17 -07:00
Swati Sehgal
4c8ee8e00e noderesourcetopology-api: Vendor update
Generated by running:

```
./hack/updater-vendor.sh
```

Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2023-03-14 13:03:01 +05:30
Patrick Ohly
29941b8d3e api: resource.k8s.io v1alpha1 -> v1alpha2
For Kubernetes 1.27, we intend to make some breaking API changes:
- rename PodScheduling -> PodSchedulingHints (https://github.com/kubernetes/kubernetes/issues/114283)
- extend ResourceClaimStatus (https://github.com/kubernetes/enhancements/pull/3802)

We need to switch from v1alpha1 to v1alpha2 for that.
2023-03-14 07:52:03 +01:00
Monis Khan
ba471884fb
Explicit bump to go 1.20
Signed-off-by: Monis Khan <mok@microsoft.com>
2023-03-13 12:47:36 -04:00
Kubernetes Prow Robot
a034962173
Merge pull request #116349 from apelisse/use-smarter-cache
Update kube-openapi to 15aac26d736a
2023-03-09 22:44:02 -08:00
Kubernetes Prow Robot
beacb8d7af
Merge pull request #115480 from alexzielenski/kubectl/explain/openapiv3/alias-legacy
kubectl-explain: add --output plaintext-openapiv2 fallback
2023-03-09 22:42:58 -08:00
Kubernetes Prow Robot
e8ae6658ed
Merge pull request #115065 from apelisse/apimachinery-managed-fields
managedfields: Move most of fieldmanager package to managefields
2023-03-09 21:34:22 -08:00
Alexander Zielenski
9dec9e04cc update vendor modules 2023-03-09 11:54:24 -08:00
Antoine Pelisse
9bbdb9f130 Update kube-openapi to 15aac26d736a 2023-03-09 11:29:40 -08:00
Antoine Pelisse
4f3859ce91 managedfields: Move most of fieldmanager package to managefields 2023-03-08 13:44:00 -08:00
Davanum Srinivas
b50d9d1e28
Cleanup vendor/
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-03-07 10:27:15 -05:00
Cici Huang
244c63a2e6 Apply resource constraints to ValidatingAdmissionPolicy. 2023-03-06 20:43:59 +00:00
torredil
6aebda9b1e Remove AWS legacy cloud provider + EBS in-tree storage plugin
Signed-off-by: torredil <torredil@amazon.com>
2023-03-06 14:01:15 +00:00
Kubernetes Prow Robot
30df862563
Merge pull request #115119 from seans3/openapi-query-param-v3
Open API V3 version of QueryParamVerifier
2023-03-06 04:40:29 -08:00
Kubernetes Prow Robot
253ab3eda7
Merge pull request #116162 from apelisse/update-openapi
Update kube-openapi to afdc3dddf62d31f5e3868d699379c571a6007920
2023-03-03 12:29:09 -08:00
Antoine Pelisse
736123f447 Update kube-openapi to afdc3dddf62d31f5e3868d699379c571a6007920 2023-03-03 08:43:44 -08:00
Sean Sullivan
e2ea40e5fb Open API V3 version of QueryParamVerifier 2023-03-02 23:12:05 -08:00
David Porter
28e9775fd5 deps: Update github.com/coreos/go-systemd/v22 to v22.4.0
Update github.com/coreos/go-systemd/v22 to v22.4.0 which introduces
`GetUnitNameByPID`. This function will be used in node e2e to get the
container runtime systemd unit name.

Performed by:

$ hack/pin-dependency.sh github.com/coreos/go-systemd/v22  v22.4.0
$ hack/update-vendor.sh

Signed-off-by: David Porter <david@porter.me>
2023-03-02 19:33:55 -08:00
Kubernetes Prow Robot
d788d436c9
Merge pull request #115893 from mgoltzsche/go-jose-update-2.6
bump go-jose to v2.6.0
2023-03-01 20:23:06 -08:00
Kubernetes Prow Robot
2b50e09f78
Merge pull request #115816 from ivelichkovich/celrefactor
refactor validatingadmissionpolicy cel validator and compiler to be reusable
2023-03-01 20:22:54 -08:00
Max Goltzsche
df8fa2eab5
bump go-jose to v2.6.0
Update go-jose from v2.2.2 to v2.6.0.
This is to make the kubernetes code compatible with newer go-jose versions that have a small breaking change (`jwt.NewNumericDate()` returns a pointer).

Signed-off-by: Max Goltzsche <max.goltzsche@gmail.com>
2023-03-02 02:53:17 +01:00
Igor Velichkovich
e96ef31187 refactor admission cel validator and compiler to be reusable 2023-03-01 18:46:45 -06:00
Kubernetes Prow Robot
51dedff4f3
Merge pull request #115277 from pohly/klog-update
klog update
2023-03-01 15:11:16 -08:00
Patrick Ohly
961819a4d0 dependencies: update klog v2.90.1
This improves performance of the text formatting and ktesting.

Because ktesting no longer buffers messages by default, one unit
test needs to ask for that explicitly.
2023-03-01 19:03:50 +01:00
Paco Xu
b5dbb33da9 upgrade etcd deps to v3.5.7
Signed-off-by: Paco Xu <paco.xu@daocloud.io>
2023-03-01 12:14:52 +08:00
David Ashpole
e0d44fd216
update otelhttp to v0.35.1 2023-02-28 17:52:30 +00:00
Anish Ramasekar
1f98b49bf3
[KMS] move util from envelope to kms package
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2023-02-27 00:47:46 +00:00
Paco Xu
744d9bfda3 update github.com/coredns/corefile-migration v1.0.20
- Minor change: Don't return Unsupported/Deprecated plugins for non-migration cases, i.e. when the start version is the same as the end version.
2023-02-25 21:39:44 +08:00
Anish Ramasekar
c9b8ad6a55
[KMSv2] restructure kms staging dir
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2023-02-21 22:40:25 +00:00
Kubernetes Prow Robot
70b2e4aa3e
Merge pull request #113312 from jiahuif-forks/feature/cel/builtins
OpenAPI-based CEL type library
2023-02-18 00:31:36 -08:00
Jordan Liggitt
f8e00778dd
Update golang.org/x/net to v0.7.0 2023-02-14 23:14:30 -05:00
Kubernetes Prow Robot
4cf352c4bb
Merge pull request #115456 from pohly/goroutine-leak-check
test/integration: goroutine leak check
2023-02-14 08:31:31 -08:00
Patrick Ohly
f131cabfa0 test: use go-uber/goleak for strict leak checking
It provides more readable output and has additional APIs for using it inside a
unit test. goleak.IgnoreCurrent is needed to filter out the goroutine that gets
started when importing go.opencensus.io/stats/view.

In order to handle background goroutines that get created on demand and cannot
be stopped (like the one for LogzHealth), a helper function ensures that those
are running before calling goleak.IgnoreCurrent. Keeping those goroutines
running is not a problem and thus not worth the effort of adding new APIs to
stop them.

Other goroutines are genuine leaks for which no fix is available. Those get
suppressed via IgnoreTopFunction, which works as long as that function
is unique enough.

Example output for the leak fixed in https://github.com/kubernetes/kubernetes/pull/115423:

    E0202 09:30:51.641841   74789 etcd.go:205] "EtcdMain goroutine check" err=<
        found unexpected goroutines:
        [Goroutine 4889 in state chan receive, with k8s.io/apimachinery/pkg/watch.(*Broadcaster).loop on top of the stack:
        goroutine 4889 [chan receive]:
        k8s.io/apimachinery/pkg/watch.(*Broadcaster).loop(0xc0076183c0)
        	/nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/watch/mux.go:268 +0x65
        created by k8s.io/apimachinery/pkg/watch.NewBroadcaster
        	/nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/watch/mux.go:77 +0x116
    >
2023-02-14 12:11:37 +01:00
Antonin Stefanutti
80246e4469
Update staging modules and vendor dir with new code-generator version 2023-02-10 11:03:05 +01:00
Anish Ramasekar
09e02052fd
Update k8s.io/utils to a36077c30491
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2023-02-09 20:09:41 +00:00
Jiahui Feng
b29f618ca7 generated: ./hack/update-vendor.sh 2023-02-07 15:57:05 -08:00
Artem Minyaylov
f573e14942 Update k8s.io/utils to latest version
Update all usages of FakeExec to pointer to avoid copying the mutex
2023-02-04 11:05:22 -08:00
Paweł Banaszewski
fea0667c5e Added workerCount flag to cloud controller manager 2023-02-01 15:35:13 +00:00
Patrick Ohly
aa1279b5eb dependencies: update gomega to v1.26.0
If gomega.Eventually/Consistently run into a situation where it observes some
state of e.g. a pod which does not satisfy the condition and then further
polling fails with API server errors, gomega will report both the most recent
pod state and API error instead of just the API error.
2023-01-25 09:55:50 +01:00
Alexander Zielenski
7641ff7541 update kube-openapi 2023-01-23 15:32:33 -08:00
Kubernetes Prow Robot
5a3540f462
Merge pull request #114825 from pohly/e2e-pod-consistently-pending
e2: fix check of "pod is consistently pending"
2023-01-22 12:56:02 -08:00