Commit Graph

115 Commits

Author SHA1 Message Date
Nabarun Pal 5873bbb7bf add feature gates for authorization config
Signed-off-by: Nabarun Pal <pal.nabarun95@gmail.com>

Kubernetes-commit: 007ef653ad089180d02a58782bbd3912e875354d
2023-08-24 15:56:56 +05:30
Monis Khan 445b713906 Prevent rapid reset http2 DOS on API server
This change fully addresses CVE-2023-44487 and CVE-2023-39325 for
the API server when the client is unauthenticated.

The changes to util/runtime are required because otherwise a large
number of requests can get blocked on the time.Sleep calls.

For unauthenticated clients (either via 401 or the anonymous user),
we simply no longer allow such clients to hold open http2
connections.  They can use http2, but with the performance of http1
(with keep-alive disabled).

Since this change has the potential to cause issues, the
UnauthenticatedHTTP2DOSMitigation feature gate can be disabled to
remove this protection (it is enabled by default).  For example,
when the API server is fronted by an L7 load balancer that is set up
to mitigate http2 attacks, unauthenticated clients could force
disable connection reuse between the load balancer and the API
server (many incoming connections could share the same backend
connection).  An API server that is on a private network may opt to
disable this protection to prevent performance regressions for
unauthenticated clients.

For all other clients, we rely on the golang.org/x/net fix in
b225e7ca6d
That change is not sufficient to adequately protect against a
motivated client - future changes to Kube and/or golang.org/x/net
will be explored to address this gap.

The Kube API server now uses a max stream of 100 instead of 250
(this matches the Go http2 client default).  This lowers the abuse
limit from 1000 to 400.

Signed-off-by: Monis Khan <mok@microsoft.com>

Kubernetes-commit: 800a8eaba7f25bd223fefe6e7613e39a5d7f1eeb
2023-10-07 21:50:37 -04:00
Monis Khan 9c40486020 kmsv2: enable KMSv2KDF feature gate by default
Signed-off-by: Monis Khan <mok@microsoft.com>

Kubernetes-commit: 657cc2045ee46922b00d4fd7c126f57d1e8ecc43
2023-09-05 12:27:55 -04:00
Anish Ramasekar 1fbafe88b9 add StructuredAuthenticationConfiguration feature flag
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>

Kubernetes-commit: 1bf90f9484c5dbcd941251f0036af65fa25ee193
2023-08-10 22:06:41 +00:00
Wojciech Tyczyński f56b9ee7f5 Graduate RemainingItemCount to GA
Kubernetes-commit: 4e2e059c7b205d2e4b246a262128223258a49498
2023-07-21 15:22:51 +02:00
Wojciech Tyczyński 3030f660a8 Graduate APIListChunking to GA
Kubernetes-commit: 6acfa3cb4ac876e46ead5ba4772ba18e480435ce
2023-07-21 11:35:21 +02:00
Alexander Zielenski eea6b57f73 bump validatingadmissionpolicy alpha->beta
Kubernetes-commit: 5e2e8c806475d21bc22f10ccc810451c1bcb21a7
2023-07-21 16:27:51 -07:00
Monis Khan 8e93c650b5 kmsv2: KDF based nonce extension
Signed-off-by: Monis Khan <mok@microsoft.com>

Kubernetes-commit: bf49c727ba10881d5378e9242f31dc00dede51be
2023-03-25 14:41:04 -04:00
Amine 623afac324 Enable admissionWebhookMatchCondition by default
Kubernetes-commit: 94c8ad289bb83c6457d1711a94c8a2cce9a7e8bc
2023-07-17 18:40:07 +01:00
Amine 5782becb79 Graduate AdmissionWebhookMatchCondition to beta
Kubernetes-commit: 0074b24ca42c8afca43f4ef3360f2d101594a567
2023-07-17 18:19:35 +01:00
Marek Siarkowicz 9002dac854 Implement ConsistentListFromCache feature gate
Request bookmark every 100ms when there is at least one request blocked on revision not present in watch cache.

Kubernetes-commit: 39bb8f4bb1d013937aceac6c387563ffe13545c5
2023-06-06 15:49:46 +02:00
Anish Ramasekar 5d08b1abe9 [KMSv2] Mark KMS v1beta1 as deprecated with no further fixes (#119007)
* add feature gate

Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>

* add validation and warning in load config

Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>

* mark v1beta1 proto message deprecated

Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>

---------

Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>

Kubernetes-commit: 1acdb4ae86e0e43475c31f108a6106b1f5ea5027
2023-07-06 23:55:47 +00:00
shubham82 4057dcde6b Remove AdvancedAuditing feature gate.
Kubernetes-commit: f2e3157df0a143ff04b9adf7525b32d82bb6f29c
2023-06-20 14:21:10 +05:30
yulng 3813b3ea2d remove genericfeatures.DryRun in 1.28
Signed-off-by: yulng <wei.yang@daocloud.io>

Kubernetes-commit: b899ae48477fabfe06acbaf0ed34015db7e79d4b
2023-04-15 20:14:19 +08:00
Jeffrey Ying a8fe83c416 Update kube_features comment for aggregated discovery and openapi v3
Kubernetes-commit: 0e4cece0e896d3fb6ef61f2880fa4ee3fe1f3fea
2023-03-21 15:18:41 -04:00
Igor Velichkovich 05d2078e68 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

Kubernetes-commit: 5e5b3029f3bbfc93c3569f07ad300a5c6057fc58
2023-03-15 07:36:02 +00:00
Anish Ramasekar ea9c745386 [KMSv2] Generate proto API and update feature gate for beta
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>

Kubernetes-commit: ad698cc0aeb6e9b5fb1a7913d5db9f65fb1a51ac
2023-01-12 00:14:42 +00:00
Jefftree 91d432c304 Enable aggregated discovery
Kubernetes-commit: 361391117dcb5ab76dc06918d4165c6c644ad717
2023-01-09 17:51:19 +00:00
Jefftree 9bc8530fe8 Promote OpenAPI V3 to GA
Kubernetes-commit: 0da57ddc491519f8b97de3fd3e574a1e0d5682cc
2023-03-02 22:55:00 +00:00
David Ashpole fd3a7591f6 graduate API Server tracing to beta
Kubernetes-commit: 4014d0fbbf93f3bb9002b1e37a125840f7be131b
2023-03-07 21:39:39 +00:00
Lukasz Szaszkiewicz 5bdfba728f Add WatchList feature gate
Kubernetes-commit: ea084ff4da7c6227b09435473ceb5bf3b8343124
2023-03-01 10:57:17 +01:00
Vinay Kulkarni 14aef0c739 In-place Pod Vertical Scaling - API changes
1. Define ContainerResizePolicy and add it to Container struct.
 2. Add ResourcesAllocated and Resources fields to ContainerStatus struct.
 3. Define ResourcesResizeStatus and add it to PodStatus struct.
 4. Add InPlacePodVerticalScaling feature gate and drop disabled fields.
 5. ResizePolicy validation & defaulting and Resources mutability for CPU/Memory.
 6. Various fixes from code review feedback (originally committed on Apr 12, 2022)
KEP: /enhancements/keps/sig-node/1287-in-place-update-pod-resources

Kubernetes-commit: 76962b0fa7862727e93ef591f4b0822c8d80534b
2021-11-03 15:43:43 -07:00
Kevin Delgado 3e03fc3433 Graduate field validation to GA
Kubernetes-commit: 3b6c4d307febe24c78099515e45cd51bbba0112d
2023-01-23 18:30:33 +00:00
SataQiu 0f00ee135b the AdvancedAuditing featuregate has been GA since v1.12, and is locked to ture in v1.27
Kubernetes-commit: c25095b2231eb64ac938ae8b3d939c76307da340
2023-01-18 18:50:15 +08:00
David Ashpole 34af8dc84a Revert "Graduate API Server tracing to beta"
Kubernetes-commit: e799fcdadd3cc3e8aa4ebde75d1bf0c05465b110
2022-11-09 22:37:28 -05:00
Cici Huang 47687312f4 Rename FG to `ValidatingAdmissionPolicy`
Kubernetes-commit: 29737124860b1414affa07ed6db30fccdbae3b55
2022-11-09 17:27:20 +00:00
David Ashpole 1c6757fe8d graduate API Server tracing to beta
Kubernetes-commit: fc3cec6bf3f39037cd527f49b35df6c212218127
2022-11-07 17:30:09 +00:00
Andrew Sy Kim d9ed5cedb4 kube-apiserver: promote APIServerIdentity to Beta and enabled by default
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>

Kubernetes-commit: 196a3b99f5e13cf13af4e24e988bd4d88b5bcb97
2022-11-04 10:41:46 -04:00
Cici Huang 025851852a Update feature gate name to CELValidatingAdmission
Kubernetes-commit: d8ab3fea0d5f91e273fcb3b49cffb71d1b70f7e3
2022-10-05 19:40:50 +00:00
Cici Huang d089253bb2 Add feature gate CelValidatingAdmissionExtensibility
Kubernetes-commit: 9dff2311eacbcde1390ad67233cf0a48f0020eea
2022-09-29 18:45:14 +00:00
Monis Khan 25ccbfa75c Use https links for k8s KEPs, issues, PRs, etc
Signed-off-by: Monis Khan <mok@microsoft.com>

Kubernetes-commit: b738be9b46a899571303c8c887e32bf4d5b71a0a
2022-09-23 16:13:22 -04:00
Wojciech Tyczyński baa5a012e9 Lock ServerSideApply feature to true
Kubernetes-commit: 57c95fbfa12bc04456330d8b0b29f333106cf156
2022-09-27 11:13:00 +02:00
Alex Zielenski d46c86b62b Update kube_features.go
Kubernetes-commit: 9dab9f3e28652b823d0589d127f84ba901ae4c65
2022-08-30 09:06:29 -07:00
Alex Zielenski 4c7c0de421 update comments
Kubernetes-commit: 92fac4ab8af1e90fc21163ef474c9094573b4ebd
2022-08-30 09:04:06 -07:00
Alexander Zielenski b0ba338767 add aggregated discovery feature gate
Kubernetes-commit: 7b54c492d9586a8c979686795283324b272ad0c6
2022-08-29 16:21:23 -07:00
Antonio Ojea ea69e5d51c remove DryRun feature gate checks
Kubernetes-commit: a1bfb76458a219577884d312ceb93eb1bb3f7e39
2022-08-26 11:33:56 +02:00
Anish Ramasekar 225e26ac4a Implement KMS v2alpha1
- add feature gate
- add encrypted object and run generated_files
- generate protobuf for encrypted object and add unit tests
- move parse endpoint to util and refactor
- refactor interface and remove unused interceptor
- add protobuf generate to update-generated-kms.sh
- add integration tests
- add defaulting for apiVersion in kmsConfiguration
- handle v1/v2 and default in encryption config parsing
- move metrics to own pkg and reuse for v2
- use Marshal and Unmarshal instead of serializer
- add context for all service methods
- check version and keyid for healthz

Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>

Kubernetes-commit: f19f3f409938ff9ac8a61966e47fbe9c6075ec90
2022-06-29 20:51:35 +00:00
Cici Huang 45072c5fc4 Promote feature CustomResourceValidationExpressions to beta
Kubernetes-commit: e0fb5714acf0b72bcc95fa59d62913ede51151c6
2022-07-14 18:32:51 +00:00
Kevin Delgado 0897fdf521 Enable ServerSideFieldValidation feature gate on by default in beta
Kubernetes-commit: 36dbecd438beefd3f7e3b9cb990c5a34c033e2c7
2022-03-24 23:56:48 +00:00
Antonio Ojea 1024248666 remove SelectorIndex field
Kubernetes-commit: 209fb99f28ae1b5b7f2aaa98d0d1835dc3f9b6f2
2022-05-26 17:27:45 +02:00
Patrick Ohly e49a59cc7e features: reduce risk of merge conflicts
Merge conflicts become less likely when:
- features are sorted alphabetically because
  then changes are more likely to be done in
  different parts of the files
- blank lines separate the hash entries because
  gofmt then doesn't change the formating of
  other entries when adding or removing one

Merge conflicts where pretty common shortly before a code freeze when everyone
added new features at the end of the files.

Kubernetes-commit: 85513e4bca6d34a8bb034165079dca176fbf2e4e
2022-04-12 15:46:53 +02:00
Jordan Liggitt 9c9129eb3d Revert "Enable ServerSideFieldValidation feature gate on by default in beta"
This reverts commit a3a24e1c7b379c26b407ed081a0a17fde2410180.

Kubernetes-commit: 34522912d75816f75f43684612b5f9de42c60318
2022-04-03 22:46:36 -04:00
Jordan Liggitt 4921095861 Move cron job feature gate to correct file
Kubernetes-commit: 495b01ef6c5a5390fa44d9ffed00513a6d2263ef
2022-04-03 22:56:01 -04:00
Jefftree 9fdeba9ae0 Switch beta flag on
Kubernetes-commit: 8e88d462109ef46b35b870bc73284b9a64fcc921
2022-03-28 13:43:01 -07:00
Ross Peoples 8e59f7a725 TimeZone support for CronJobs
Kubernetes-commit: 98837de446fa4fbf441b69eb04da1ca5b66c2095
2022-03-21 11:27:10 -05:00
Kevin Delgado 475546c99d Enable ServerSideFieldValidation feature gate on by default in beta
Kubernetes-commit: a3a24e1c7b379c26b407ed081a0a17fde2410180
2022-03-24 23:56:48 +00:00
Jiahui Feng eb6593d713 OpenAPIEnums: to beta
Kubernetes-commit: cc3643cf791167745c9dfcd7377b7e6a723e152a
2022-03-22 16:36:17 -07:00
ialidzhikov ab1e9afa59 Remove the WarningHeaders feature gate
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>

Kubernetes-commit: 55ee738f5755a27513e83405b5934f1710d96c8e
2022-02-28 19:07:23 +02:00
Paco Xu e1a0d02dd9 remove ValidateProxyRedirects and StreamingProxyRedirects in 1.24
Kubernetes-commit: 15558d697250f0b4e46db2c6c081168bc61f5625
2021-12-06 14:03:29 +08:00
Wojciech Tyczyński 5e7e77e908 Bump RemoveSelfLink feature gate to GA
Kubernetes-commit: e46415bfbc14b5e382cad78ccf437426e68134ac
2022-01-20 10:01:09 +01:00