Commit graph

1297 commits

Author SHA1 Message Date
dom4ha
88948acc38 Remove v1alpha2 API definitions
Update client-go lister and informer imports to v1alpha3
2026-05-22 12:50:19 +00:00
dom4ha
8a52fb2ea9 Migrate references to v1alpha3 in tests, controllers, and remaining files 2026-05-22 12:50:19 +00:00
dom4ha
43ebd00b66 Migrate internal references from v1alpha2 to v1alpha3 in scheduler and admission plugins 2026-05-22 12:50:19 +00:00
Anish Ramasekar
7262edeb59
fix(admission): reword NodeRestriction audience authorization error
The previous error message said the audience was "not found in pod
spec volume", which led users to mount a spurious projected service
account token volume in the pod spec to satisfy the check. That is
not the intended remedy: kubelets should be authorized via RBAC to
request tokens for the configured audience.

Reword the error to a generic "is not authorized to request tokens
for audience %q" so users are not pushed toward modifying pod specs.
The valid authorization paths (pod spec volume, CSIDriver tokenRequests,
or the request-serviceaccounts-token-audience verb) are documented
in the kubelet credential provider task page.

Update the unit and integration test expectations to match.
2026-05-13 16:30:51 -07:00
Jordan Liggitt
bed4a34ad8
Drop meaningless ,inline from json tags 2026-05-13 11:24:04 -04:00
Kubernetes Prow Robot
cc9fd614c4
Merge pull request #139008 from wojtek-t/revert_pod_group_admission
Revert "KEP-5832: Implement PodGroup admission (#137464)
2026-05-13 19:01:48 +05:30
Wojciech Tyczyński
17460de7bd Revert "KEP-5832: Implement PodGroup admission (#137464) 2026-05-12 21:00:23 +02:00
Joe Betz
f79a4d72f2
Generate model names 2026-05-11 12:27:55 -04:00
Lucas Käldström
7e3c734947 Add the Unconditional prefix to Authorizer and WantsAuthorizer interfaces 2026-05-07 22:22:14 +03:00
Mujib Ahasan
b9b0ff440d remove accidently commited file
Signed-off-by: Mujib Ahasan <ahasanmujib8@gmail.com>
2026-04-04 12:53:30 +05:30
Antoni Zawodny
59c9f75133 Add Workload-Aware Preemption fields to Workload and PodGroup APIs
Co-authored-by: Omar Sayed <omarsayed@google.com>
2026-03-24 09:03:50 +01:00
Heba
cf5ba01d13
KEP-5832: Implement PodGroup admission (#137464)
* Add admission for podGroup

Signed-off-by: helayoty <heelayot@microsoft.com>

* Create workload object before podgroup

Signed-off-by: helayoty <heelayot@microsoft.com>

---------

Signed-off-by: helayoty <heelayot@microsoft.com>
2026-03-19 21:32:34 +05:30
helayoty
981a333927
Add admission plugin for update parallelism
Signed-off-by: helayoty <heelayot@microsoft.com>
2026-03-18 22:32:57 +00:00
helayoty
fc88e37288
Add admission plugin for PodGroup to add finalizer to every new object
Signed-off-by: helayoty <heelayot@microsoft.com>
2026-03-18 15:28:14 +00:00
Kubernetes Prow Robot
e1be691e7f
Merge pull request #136043 from natasha41575/os_feasibility
[InPlacePodVerticalScaling] create an admission plugin to perform the OS and node capacity checks
2026-03-18 03:23:39 +05:30
Natasha Sarkar
fd8c6d3e2e add pod resize feasibility check admission plugin 2026-03-17 17:12:31 +00:00
Kubernetes Prow Robot
1817e10998
Merge pull request #136185 from tallclair/ndf-bitmap
Optimize NodeDeclaredFeatures with a bitmap FeatureSet implementation
2026-03-14 06:37:34 +05:30
Antoni Zawodny
6511deadd8 Refactor Priority admission plugin 2026-03-13 12:21:37 +01:00
Tim Allclair
f91f641a65 Switch to bitmapped FeatureSet implementation. 2026-03-13 04:28:16 +00:00
Tim Allclair
e4521526b4 NodeDeclaredFeatures: Add global default NDF registry 2026-03-13 04:28:16 +00:00
Tim Allclair
162be9e8ea plugin/pkg/admission/nodedeclaredfeatures OWNERS 2026-03-12 16:51:03 +00:00
Kubernetes Prow Robot
090693bd79
Merge pull request #137497 from atombrella/feature/modernize_activate_forvar
Lint: Activate modernize/forvar rule in golangci-lint.
2026-03-09 14:01:11 +05:30
Mads Jensen
dd32d7c324 Lint: Activate modernize/forvar rule in golangci-lint. 2026-03-06 21:36:05 +01:00
Kubernetes Prow Robot
f5bafe93ac
Merge pull request #135048 from yliaog/beta_promo
DRA Extended Resource: promote to Beta in 1.36
2026-03-07 01:12:19 +05:30
Kubernetes Prow Robot
85e4e386d4
Merge pull request #137171 from liggitt/component-helpers-deps
Clean up direct external dependencies from component-helpers
2026-02-24 02:23:35 +05:30
Jordan Liggitt
4ab6ae2a59
Drop direct use of github.com/stretchr/testify in component-helpers 2026-02-20 14:50:15 -05:00
yliao
80b9ee1abc fix unit test 2026-02-20 18:44:25 +00:00
Jordan Liggitt
2c9ccde2d0
Make quota evaluators in admission conditional on enabled resources 2026-02-20 11:34:33 -05:00
Davanum Srinivas
550cc8645b
Move dump package from apimachinery to k8s.io/utils
Replace all imports of k8s.io/apimachinery/pkg/util/dump with
k8s.io/utils/dump across the repo. The apimachinery dump package
now contains deprecated wrapper functions that delegate to
k8s.io/utils/dump for backwards compatibility.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2026-02-12 07:34:19 -05:00
carlory
f8e8e55f1d
locked the feature-gate VolumeAttributesClass to default (true) and switch storage version from v1beta1 to v1
Signed-off-by: carlory <baofa.fan@daocloud.io>
2025-12-18 15:59:33 +08:00
yliao
3e34de29c4 fixed the loophole that allows user to get around resource quota set by system admin 2025-12-18 00:56:20 +00:00
Heba
aceb89debc
KEP-5471: Extend tolerations operators (#134665)
* Add numeric operations to tolerations

Signed-off-by: Heba Elayoty <heelayot@microsoft.com>

* code review feedback

Signed-off-by: Heba Elayoty <heelayot@microsoft.com>

* add default feature gate

Signed-off-by: Heba Elayoty <heelayot@microsoft.com>

* Add integration tests

Signed-off-by: Heba Elayoty <heelayot@microsoft.com>

* Add toleration value validation

Signed-off-by: Heba Elayoty <heelayot@microsoft.com>

* Add validate options for new operators

Signed-off-by: helayoty <heelayot@microsoft.com>

* Remove log

Signed-off-by: helayoty <heelayot@microsoft.com>

* Update feature gate check

Signed-off-by: helayoty <heelayot@microsoft.com>

* emove IsValidNumericString func

Signed-off-by: helayoty <heelayot@microsoft.com>

* Implement IsDecimalInteger

Signed-off-by: helayoty <heelayot@microsoft.com>

* code review feedback

Signed-off-by: helayoty <heelayot@microsoft.com>

* Add logs to v1/toleration

Signed-off-by: Heba Elayoty <heelayot@microsoft.com>
Signed-off-by: helayoty <heelayot@microsoft.com>

* Update integration tests and address code review feedback

Signed-off-by: helayoty <heelayot@microsoft.com>

* Add feature gate to the scheduler framework

Signed-off-by: helayoty <heelayot@microsoft.com>

* Remove extra test

Signed-off-by: helayoty <heelayot@microsoft.com>

* Fix integration test

Signed-off-by: helayoty <heelayot@microsoft.com>

* pass feature gate via TolerationsTolerateTaint

Signed-off-by: helayoty <heelayot@microsoft.com>

---------

Signed-off-by: Heba Elayoty <heelayot@microsoft.com>
Signed-off-by: helayoty <heelayot@microsoft.com>
2025-11-10 12:42:54 -08:00
Kubernetes Prow Robot
b869afe68d
Merge pull request #133389 from pravk03/node-capabilities
Introduce node declared features framework
2025-11-06 01:32:54 -08:00
Praveen Krishna
e7a42e8e8e feat(admission): Add NodeDeclaredFeatures admission plugin 2025-11-06 01:21:17 +00:00
yliao
870062df4f adjusts DRA extended resource quota to include devices usages from regular resource claims 2025-11-05 23:24:24 +00:00
Peter Hunt
e8bd3f629d drop UserNamespacesPodSecurityStandards feature gate
this feature gate was meant to be ephemeral, and only was used for guaranteeing a
cluster admin didn't accidentally relax PSA policies before the kubelet would deny a pod
was created if it didn't support user namespaces. As of kube 1.33, the supported apiserver version
skew of n-3 guarantees that all supported kubelets are of 1.30 or later, meaning they do this.

Now, we can unconditionally relax PSA policy if a pod is in a user namespace.

This PR reserves older policies default behavior by never relaxing

Signed-off-by: Peter Hunt <pehunt@redhat.com>
2025-10-31 14:08:21 -04:00
Patrick Ohly
8b6f98b06e DRA: lock to default-on
The core functionality was enabled by default in 1.34 without any issues that
would have suggested turning it off, so now we can lock it to on-by-default.

Tests which cover disabling the feature must use version emulation.
2025-10-24 20:04:20 +02:00
Jordan Liggitt
4b0eeeb618
Make pod-security-admission honor emulation version 2025-09-17 15:32:32 -04:00
Jordan Liggitt
7f4ee652ea
Delete temporary ProbeHostPodSecurityStandards feature gate 2025-09-17 15:23:32 -04:00
Jordan Liggitt
55419eca7a
Plumb effective version into admission initializer 2025-09-17 15:23:31 -04:00
Patrick Ohly
fa1f9d444c apiserver: avoid default toleration seconds data race for all tests
This reverts commit 2e756e7412,
which addressed the data race only for test/integration/apiserver/oidc.
It also occurs for test/integration/controlplane/transformation:

    WARNING: DATA RACE
    Read at 0x000008b9de38 by goroutine 104616:
      k8s.io/kubernetes/plugin/pkg/admission/defaulttolerationseconds.RegisterFlags()
          /home/prow/go/src/k8s.io/kubernetes/plugin/pkg/admission/defaulttolerationseconds/admission.go:42 +0x30
      k8s.io/kubernetes/pkg/kubeapiserver/options.registerAllAdmissionPluginFlags()
          /home/prow/go/src/k8s.io/kubernetes/pkg/kubeapiserver/options/plugins.go:115 +0x64
      k8s.io/kubernetes/pkg/kubeapiserver/options.(*AdmissionOptions).AddFlags()
          /home/prow/go/src/k8s.io/kubernetes/pkg/kubeapiserver/options/admission.go:73 +0x55
      k8s.io/kubernetes/pkg/controlplane/apiserver/options.(*Options).AddFlags()
          /home/prow/go/src/k8s.io/kubernetes/pkg/controlplane/apiserver/options/options.go:154 +0x388
      k8s.io/kubernetes/cmd/kube-apiserver/app/options.(*ServerRunOptions).Flags()
          /home/prow/go/src/k8s.io/kubernetes/cmd/kube-apiserver/app/options/options.go:101 +0x73
      k8s.io/kubernetes/cmd/kube-apiserver/app/testing.StartTestServer()
          /home/prow/go/src/k8s.io/kubernetes/cmd/kube-apiserver/app/testing/testserver.go:219 +0xb77
      k8s.io/kubernetes/test/integration/controlplane/transformation.newTransformTest()
          /home/prow/go/src/k8s.io/kubernetes/test/integration/controlplane/transformation/transformation_test.go:131 +0x6d0
      k8s.io/kubernetes/test/integration/controlplane/transformation.TestKMSv2Healthz()
          /home/prow/go/src/k8s.io/kubernetes/test/integration/controlplane/transformation/kmsv2_transformation_test.go:874 +0x1c8
      testing.tRunner()
          /usr/local/go/src/testing/testing.go:1792 +0x225
      testing.(*T).Run.gowrap1()
          /usr/local/go/src/testing/testing.go:1851 +0x44

    Previous write at 0x000008b9de38 by goroutine 111926:
      github.com/spf13/pflag.newInt64Value()
          /home/prow/go/src/k8s.io/kubernetes/vendor/github.com/spf13/pflag/int64.go:9 +0x49
      github.com/spf13/pflag.(*FlagSet).Int64Var()
          /home/prow/go/src/k8s.io/kubernetes/vendor/github.com/spf13/pflag/int64.go:41 +0x3d
      k8s.io/kubernetes/plugin/pkg/admission/defaulttolerationseconds.RegisterFlags()
          /home/prow/go/src/k8s.io/kubernetes/plugin/pkg/admission/defaulttolerationseconds/admission.go:42 +0x25
      k8s.io/kubernetes/pkg/kubeapiserver/options.registerAllAdmissionPluginFlags()
          /home/prow/go/src/k8s.io/kubernetes/pkg/kubeapiserver/options/plugins.go:115 +0x64
      k8s.io/kubernetes/pkg/kubeapiserver/options.(*AdmissionOptions).AddFlags()
          /home/prow/go/src/k8s.io/kubernetes/pkg/kubeapiserver/options/admission.go:73 +0x55
      k8s.io/kubernetes/pkg/controlplane/apiserver/options.(*Options).AddFlags()
          /home/prow/go/src/k8s.io/kubernetes/pkg/controlplane/apiserver/options/options.go:154 +0x388
      k8s.io/kubernetes/cmd/kube-apiserver/app/options.(*ServerRunOptions).Flags()
          /home/prow/go/src/k8s.io/kubernetes/cmd/kube-apiserver/app/options/options.go:101 +0x73
      k8s.io/kubernetes/cmd/kube-apiserver/app/testing.StartTestServer()
          /home/prow/go/src/k8s.io/kubernetes/cmd/kube-apiserver/app/testing/testserver.go:219 +0xb77
      k8s.io/kubernetes/test/integration/controlplane/transformation.newTransformTest()
          /home/prow/go/src/k8s.io/kubernetes/test/integration/controlplane/transformation/transformation_test.go:131 +0x6d0
      k8s.io/kubernetes/test/integration/controlplane/transformation.TestKMSv2FeatureFlag()
          /home/prow/go/src/k8s.io/kubernetes/test/integration/controlplane/transformation/kmsv2_transformation_test.go:1009 +0x117
      testing.tRunner()
          /usr/local/go/src/testing/testing.go:1792 +0x225
      testing.(*T).Run.gowrap1()
          /usr/local/go/src/testing/testing.go:1851 +0x44

A more general solution is to lock while registering the variables (= write)
and while reading the variables once in InspectFeatureGates.
2025-09-02 21:01:04 +02:00
Sergey Kanzhelev
944b0a4923 do not allow the node to update it's owner reference 2025-08-10 14:38:24 -07:00
yliao
34a64db2c7 extended resource backed by DRA: implementation 2025-07-29 18:55:21 +00:00
Jordan Liggitt
27e1675153
Make PSA host enforcement honor emulation version 2025-07-24 12:36:26 -04:00
Kubernetes Prow Robot
cc674e7470
Merge pull request #128010 from ahmedtd/pod-certificates-types
Pod Certificates: Preliminary implementation of KEP-4317
2025-07-21 19:26:30 -07:00
Taahir Ahmed
4624cb9bb9 Pod Certificates: Basic implementation
* Define feature gate
* Define and serve PodCertificateRequest
* Implement Kubelet projected volume source
* kube-controller-manager GCs PodCertificateRequests
* Add agnhost subcommand that implements a toy signer for testing

Change-Id: Id7ed030d449806410a4fa28aab0f2ce4e01d3b10
2025-07-21 21:49:57 +00:00
Kubernetes Prow Robot
558e903fb1
Merge pull request #132462 from munnerz/update-pod-topology-domain
podtopologylabels: update topology.k8s.io->topology.kubernetes.io
2025-07-21 13:06:35 -07:00
Kubernetes Prow Robot
99f55ae4ef
Merge pull request #132662 from gnufied/bump-recovery-feature-ga
Bump recovery feature ga
2025-07-17 17:10:25 -07:00
Kubernetes Prow Robot
d5b2a0438d
Merge pull request #132401 from togettoyou/refactor-admission-plugin-flags
Refactor: isolate flag registration to kube-apiserver to eliminate global state
2025-07-15 22:44:29 -07:00
Junhao Zou
ae4a43de6d Refactor: isolate flag registration to kube-apiserver to eliminate global state 2025-07-16 11:01:37 +08:00