Commit Graph

8133 Commits

Author SHA1 Message Date
Kubernetes Publisher deb30e35ad Merge pull request #132177 from pgimalac/apiserver-avoid-template-for-dce
Remove use of html/template in apiserver to avoid disabling dead code elimination

Kubernetes-commit: 77bd3f89fbc389d5dfebbed880e08a1e4949312c
2025-06-13 18:09:22 +00:00
Pierre Gimalac 1f47d05362 chore(apiserver): avoid using html template which disables dce
Kubernetes-commit: 40c718864b7231addeeb1a336a88f8a71a024539
2025-06-08 01:03:42 +02:00
Kubernetes Publisher 081f25136a Merge pull request #132165 from gavinkflam/130690/fix-admission-control-response-codes
bug: Fix misleading response codes in admission control metrics

Kubernetes-commit: 060ed4e99aaa30ad65600427ec1b9ee4fa64d3d1
2025-06-13 00:12:29 +00:00
Kubernetes Publisher 89f1e0c9f7 Merge pull request #132269 from dims/update-to-latest-github.com/modern-go/reflect2
Update to latest github.com/modern-go/reflect2

Kubernetes-commit: d55b119d34883bbad2a3436dcb6c62339d963031
2025-06-12 20:23:25 +00:00
Jordan Liggitt 0e38ecf83f Expand webhook test to check rejection metrics
Kubernetes-commit: 9251b2a7a58e8232244508081bd3a6c06d5781d0
2025-06-12 13:41:30 -04:00
Davanum Srinivas a2f3ed4733 Update to latest github.com/modern-go/reflect2
Signed-off-by: Davanum Srinivas <davanum@gmail.com>

Kubernetes-commit: 3908550c0dc189cfa9de38a84bee508fa0659463
2025-06-12 11:20:39 -04:00
Gavin Lam e4c9db3825 bug: Fix misleading response codes in admission control metrics
Signed-off-by: Gavin Lam <gavin.oss@tutamail.com>

Kubernetes-commit: 601065a7c6b5445ed46fbcca8a888c98be318fec
2025-06-12 09:44:41 -04:00
Kubernetes Publisher 6bf08e15b6 Merge pull request #132135 from jpbetz/options-to-slice-master
Simplify options in declarative validation

Kubernetes-commit: c06a41b31667e83cbdd19734d5716775f9c3937e
2025-06-12 08:22:45 +00:00
Kubernetes Publisher d9e31a74fe Merge pull request #132238 from aramase/aramase/c/cleanup_deprecated_enc_config_metrics
Remove deprecated encryption config controller metrics

Kubernetes-commit: c7b3f5d0b9d3b557d333a7244ed228c8067cf2e6
2025-06-12 04:12:50 +00:00
Kubernetes Publisher 65bd2fadfd Merge pull request #132239 from dims/update-to-etcd-3.6.1-in-vendor
Update to etcd v3.6.1 in vendor/

Kubernetes-commit: 568f7300c9811f5c07a5b2a786fb1d043306c35c
2025-06-12 00:12:42 +00:00
Davanum Srinivas f294209f1e Update to etcd v3.6.1 in vendor/
Signed-off-by: Davanum Srinivas <davanum@gmail.com>

Kubernetes-commit: 5a2844a766bb0113b969b4519350c962d8dd8428
2025-06-11 16:46:03 -04:00
Anish Ramasekar dc0ee6eda8 Remove deprecated encryption config controller metrics
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>

Kubernetes-commit: dc3836c49ed6683ebf6c13711a135752a0e611b0
2025-06-11 13:27:34 -07:00
Kubernetes Publisher 8aa4209508 Merge pull request #131916 from aramase/aramase/f/authn_config_ga
Mark StructuredAuthenticationConfiguration feature gate as GA

Kubernetes-commit: 5596cc64c2a1b6a2d0b44a9b7d1d5c5be9b9c8c9
2025-06-11 00:21:58 +00:00
Anish Ramasekar f8343759d9 Update tests for StructuredAuthenticationConfiguration feature gate GA
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>

Kubernetes-commit: 512f000d0f321c568b76b175bc4a44ea9dd73cf3
2025-05-22 17:00:24 -07:00
Anish Ramasekar 6b794dbd82 Set StructuredAuthenticationConfiguration feature gate to GA in v1.34
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>

Kubernetes-commit: efebfe9e3a5aba82c1c3b23711cc24d8fe457d78
2025-05-13 16:06:37 -07:00
Kubernetes Publisher 8a7311dce3 Merge pull request #132209 from dims/update-github.com/spf13/cobra-v1.9.1eksctl
update github.com/spf13/cobra v1.9.1

Kubernetes-commit: dc19f0b6b9cd14ece6b1929cb4e7ea2c9d322b95
2025-06-10 20:14:05 +00:00
Kubernetes Publisher d9b6bd1d4c Merge pull request #131654 from vinayakankugoyal/anonGA
KEP-4633: Graduate to Stable.

Kubernetes-commit: fa8c5acf5e42891d543c2933e8f3149798ca76be
2025-06-10 20:14:04 +00:00
Davanum Srinivas ed9f8fce83 update github.com/spf13/cobra v1.9.1
Signed-off-by: Davanum Srinivas <davanum@gmail.com>

Kubernetes-commit: 449320a54a2dac04f953d5f6401d875ea9b7e8de
2025-06-10 10:50:54 -04:00
Kubernetes Publisher f55aaff838 Merge pull request #132191 from AwesomePatrol/pass-ctx-to-count
Add context to Count() method of storage interface

Kubernetes-commit: 78edda21a307ee193fb2ab52210638520af0a1b1
2025-06-10 12:14:05 +00:00
Vinayak Goyal eadbc19007 KEP-4633: Graduate to Stable.
Kubernetes-commit: 26b188aaa8f1f4b37263d028d8e0b95bb73540bb
2025-05-07 17:56:39 +00:00
Joe Betz 13e6a3c329 Change option to a slice
Kubernetes-commit: 501393810064f96808eba093ae5c00780020c667
2025-03-29 08:59:30 -04:00
Aleksander Mistewicz 7cd49caffc Add context to Count()
Passing the same context will let us associate etcd traces with those
from apiserver.

Signed-off-by: Aleksander Mistewicz <amistewicz@google.com>

Kubernetes-commit: 96b39187c5fac62e462dc348ccc1e3938464d9e1
2025-01-15 11:42:29 +01:00
Kubernetes Publisher 92c5638afd Merge pull request #132103 from nojnhuh/typed-ring-buffer
Replace queue.FIFOs with k8s.io/utils/buffer.Ring

Kubernetes-commit: 5090812df4fb6cf09a9181635d90c2e154eab8cc
2025-06-06 20:28:32 +00:00
Kubernetes Publisher 2c9afbf9bc Merge pull request #131979 from serathius/watchcache-initialization-ga
Gradute ResilientWatchCacheInitialization to GA

Kubernetes-commit: 7f50c56b1aee651924f39317329d33977f3c736a
2025-06-05 12:29:35 +00:00
Jon Huhn 053a8b2a4c Update k8s.io/utils for new generic ring buffer
Kubernetes-commit: 8cdbbf5cdaef7e37cfd432e9044aa52f4d42adcd
2025-06-04 12:09:53 -05:00
Kubernetes Publisher 7d6aa8a395 Merge pull request #132082 from aramase/aramase/t/kep_3331_revocation_unit_test
KEP-3331: Add test to simulate revocation via user validation rule using unique identifier (jti)

Kubernetes-commit: caa9324842e8f96702661505226a2c97ef62742f
2025-06-04 00:09:37 +00:00
Kubernetes Publisher 02450b6f98 Merge pull request #132061 from miltosdoul/fix_typeprovider_datarace
fix: datarace in ResolverTypeProvider

Kubernetes-commit: bd87e4d2a6f91c64980e0c4b9afe1f48ca57c56f
2025-06-04 00:09:36 +00:00
Anish Ramasekar 851e917827 KEP-3331: Add test to simulate revocation via user validation rule using unique identifier (jti)
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>

Kubernetes-commit: 6a495241ef3dfb828d4ae1112123a7fc98a493b9
2025-06-03 14:40:17 -07:00
Miltiadis Doulgeris 99e4fe9de1 fix: ResolverTypeProvider data race
Kubernetes-commit: de1d6fbf2422eb1da7a1fe38e0d0d6b3bfc53fd1
2025-06-02 23:19:44 +03:00
Kubernetes Publisher b50caf5d66 Merge pull request #131798 from aramase/aramase/f/authn_metrics_beta
Promote automatic_reloads of authn config metrics to BETA

Kubernetes-commit: d70229fac7c2aec4e6a69e0783fa0860a90e1144
2025-05-28 05:54:11 +00:00
Kubernetes Publisher 73e127faf5 Merge pull request #131951 from dims/drop-usages-of-deprecated-otelgrpc-methods
Drop usages of deprecated otelgrpc methods (update to v0.60.0)

Kubernetes-commit: d9c1b4ec9b3df7f09dc23a0cc2b3daf2506d3688
2025-05-27 17:57:57 +00:00
Kubernetes Publisher 255fa69bd1 Merge pull request #131664 from jpbetz/subresources-enable-replicas
Migrate to declarative validation: ReplicationController/scale spec.replicas field

Kubernetes-commit: 144926558984ae41a7328d53bd9fc8602328f10e
2025-05-27 17:57:55 +00:00
Marek Siarkowicz 784d2892e6 Gradute ResilientWatchCacheInitialization to GA
Kubernetes-commit: 741d0e2b81a0820892db18b90f5b691a19676010
2025-05-27 13:17:32 +02:00
Kubernetes Publisher 4b98f13de7 Merge pull request #131768 from aramase/aramase/f/authz_metrics_stable
Promote automatic_reloads of authz config metrics to BETA

Kubernetes-commit: f6530285a85d6f4280711301613a7d3215a25818
2025-05-26 14:06:35 +00:00
Davanum Srinivas b887c9ebec Drop usages of deprecated otelgrpc methods
Signed-off-by: Davanum Srinivas <davanum@gmail.com>

Kubernetes-commit: 7c0f968ab256486b524ea37014ccf580b12c73e4
2025-05-23 19:40:36 -07:00
Kubernetes Publisher 7937de32ff Merge pull request #131845 from serathius/unify-metrics
Unify references to group resource in metrics

Kubernetes-commit: b5608aea94cfb54fea3a63e1d74235759d036c51
2025-05-22 18:06:37 +00:00
Kubernetes Publisher 08959fe41f Merge pull request #131752 from aramase/aramase/f/kep_3331_v1_api
Duplicate v1beta1 AuthenticationConfiguration to v1

Kubernetes-commit: 6da56bd4b782658a4060f65c24df5830ec01c6c1
2025-05-21 07:48:50 +00:00
Kubernetes Publisher 2055ba24cd Merge pull request #131838 from dims/bump-google.golang.org/grpc-to-google-v1.72.1
Bump google.golang.org/grpc to google v1.72.1

Kubernetes-commit: 444e2b4eb079727d7cdd81ad25041502656370b8
2025-05-20 15:59:23 +00:00
Kubernetes Publisher df39bcd7dd Merge pull request #131704 from karlkfi/karl-watch-subtests
test: Use sub-tests in watch tests

Kubernetes-commit: 4e80b05087cf26188208f1c80d133566be4eae18
2025-05-19 23:49:18 +00:00
Kubernetes Publisher 73a9ddd3c3 Merge pull request #131766 from serathius/flake-TestGetCacheBypass
Separate getList and watch errors to prevent TestGetCacheBypass flakes

Kubernetes-commit: f80233f24bcc49305aab2043b2bc6d66a606c6ab
2025-05-19 19:50:56 +00:00
Joe Betz d6a8a1af27 Clarify errors and improve tests
Kubernetes-commit: 9715c90b31ccc121ba910044c03ecb9936b1f858
2025-05-19 14:12:09 -04:00
Joe Betz 2f8595c47b Clarify group version lookup in validateDeclaratively
Kubernetes-commit: 4cac349f86b730a9e7eebffaad9dd92d77dda594
2025-05-19 11:45:59 -04:00
Joe Betz 5009571787 Add +k8s:isSubresource and +k8s:supportsSubresource tags
Kubernetes-commit: 6ca6b7bb6ab7865ace03601c5d34571196126c8b
2025-05-19 11:18:06 -04:00
Marek Siarkowicz a559cb8be1 Unify references to group resource in metrics
Skip apiserver_storage_objects as it's a stable metrics that doesn't
have "group" label. As defined in KEP-1209 adding a label is considered
a breaking change so this change should be done via deprecation and
introduction of new metric.

Tested via:
```
kubectl get --raw /metrics | grep -i apiservice | grep -v APIServiceRegistrationController | grep -v aggregator_unavailable_apiservice | python3 -c "import sys; print('\n'.join([k+' ' + v for k,v in {a.split('{')[0]:'{'+a.split('{')[1].split('}')[0]+'}' for a in sys.stdin.readlines() if '#' not in a and '_sum' not in a and '_bucket' not in a}.items()]))"
```

Before:
```
apiserver_cache_list_fetched_objects_total {index="",resource_prefix="/apiregistration.k8s.io/apiservices"}
apiserver_cache_list_returned_objects_total {resource_prefix="/apiregistration.k8s.io/apiservices"}
apiserver_cache_list_total {index="",resource_prefix="/apiregistration.k8s.io/apiservices"}
apiserver_longrunning_requests {component="apiserver",group="apiregistration.k8s.io",resource="apiservices",scope="cluster",subresource="",verb="WATCH",version="v1"}
apiserver_request_body_size_bytes_count {resource="apiservices.apiregistration.k8s.io",verb="create"}
apiserver_request_duration_seconds_count {component="apiserver",dry_run="",group="apiregistration.k8s.io",resource="apiservices",scope="resource",subresource="",verb="POST",version="v1"}
apiserver_request_sli_duration_seconds_count {component="apiserver",group="apiregistration.k8s.io",resource="apiservices",scope="resource",subresource="",verb="POST",version="v1"}
apiserver_request_total {code="201",component="apiserver",dry_run="",group="apiregistration.k8s.io",resource="apiservices",scope="resource",subresource="",verb="POST",version="v1"}
apiserver_response_sizes_count {component="apiserver",group="apiregistration.k8s.io",resource="apiservices",scope="cluster",subresource="",verb="LIST",version="v1"}
apiserver_selfrequest_total {resource="apiservices",subresource="",verb="POST"}
apiserver_storage_events_received_total {resource="apiservices.apiregistration.k8s.io"}
apiserver_storage_list_evaluated_objects_total {resource="apiservices.apiregistration.k8s.io"}
apiserver_storage_list_fetched_objects_total {resource="apiservices.apiregistration.k8s.io"}
apiserver_storage_list_returned_objects_total {resource="apiservices.apiregistration.k8s.io"}
apiserver_storage_list_total {resource="apiservices.apiregistration.k8s.io"}
apiserver_storage_objects {resource="apiservices.apiregistration.k8s.io"}
apiserver_watch_cache_events_dispatched_total {resource="apiservices.apiregistration.k8s.io"}
apiserver_watch_cache_events_received_total {resource="apiservices.apiregistration.k8s.io"}
apiserver_watch_cache_initializations_total {resource="apiservices.apiregistration.k8s.io"}
apiserver_watch_cache_resource_version {resource="apiservices.apiregistration.k8s.io"}
apiserver_watch_events_sizes_count {group="apiregistration.k8s.io",kind="APIService",version="v1"}
apiserver_watch_events_total {group="apiregistration.k8s.io",kind="APIService",version="v1"}
etcd_request_duration_seconds_count {operation="listWithCount",type="/registry/apiregistration.k8s.io/apiservices/"}
etcd_requests_total {operation="listWithCount",type="/registry/apiregistration.k8s.io/apiservices/"}
watch_cache_capacity {resource="apiservices.apiregistration.k8s.io"}
```

After:
```
apiserver_cache_list_fetched_objects_total {group="apiregistration.k8s.io",index="",resource="apiservices"}
apiserver_cache_list_returned_objects_total {group="apiregistration.k8s.io",resource="apiservices"}
apiserver_cache_list_total {group="apiregistration.k8s.io",index="",resource="apiservices"}
apiserver_longrunning_requests {component="apiserver",group="apiregistration.k8s.io",resource="apiservices",scope="cluster",subresource="",verb="WATCH",version="v1"}
apiserver_request_body_size_bytes_count {group="apiregistration.k8s.io",resource="apiservices",verb="create"}
apiserver_request_duration_seconds_count {component="apiserver",dry_run="",group="apiregistration.k8s.io",resource="apiservices",scope="resource",subresource="",verb="POST",version="v1"}
apiserver_request_sli_duration_seconds_count {component="apiserver",group="apiregistration.k8s.io",resource="apiservices",scope="resource",subresource="",verb="POST",version="v1"}
apiserver_request_total {code="201",component="apiserver",dry_run="",group="apiregistration.k8s.io",resource="apiservices",scope="resource",subresource="",verb="POST",version="v1"}
apiserver_response_sizes_count {component="apiserver",group="apiregistration.k8s.io",resource="apiservices",scope="cluster",subresource="",verb="WATCH",version="v1"}
apiserver_selfrequest_total {group="apiregistration.k8s.io",resource="apiservices",subresource="",verb="WATCH"}
apiserver_storage_events_received_total {group="apiregistration.k8s.io",resource="apiservices"}
apiserver_storage_list_evaluated_objects_total {group="apiregistration.k8s.io",resource="apiservices"}
apiserver_storage_list_fetched_objects_total {group="apiregistration.k8s.io",resource="apiservices"}
apiserver_storage_list_returned_objects_total {group="apiregistration.k8s.io",resource="apiservices"}
apiserver_storage_list_total {group="apiregistration.k8s.io",resource="apiservices"}
apiserver_storage_objects {resource="apiservices.apiregistration.k8s.io"}
apiserver_watch_cache_events_dispatched_total {group="apiregistration.k8s.io",resource="apiservices"}
apiserver_watch_cache_events_received_total {group="apiregistration.k8s.io",resource="apiservices"}
apiserver_watch_cache_initializations_total {group="apiregistration.k8s.io",resource="apiservices"}
apiserver_watch_cache_resource_version {group="apiregistration.k8s.io",resource="apiservices"}
apiserver_watch_events_sizes_count {group="apiregistration.k8s.io",resource="apiservices",version="v1"}
apiserver_watch_events_total {group="apiregistration.k8s.io",resource="apiservices",version="v1"}
etcd_bookmark_counts {group="apiregistration.k8s.io",resource="apiservices"}
etcd_request_duration_seconds_count {group="apiregistration.k8s.io",operation="listWithCount",resource="apiservices"}
etcd_requests_total {group="apiregistration.k8s.io",operation="listWithCount",resource="apiservices"}
watch_cache_capacity {group="apiregistration.k8s.io",resource="apiservices"}
```

Kubernetes-commit: f712b01ddb55f6569b930ca714499051ba8cb311
2025-05-19 11:41:09 +02:00
Davanum Srinivas 569dd0421b Bump google.golang.org/grpc v1.72.1
Signed-off-by: Davanum Srinivas <davanum@gmail.com>

Kubernetes-commit: 9b3830fba234bc4a4f09a1ad4417e4d18b74d6dc
2025-05-18 12:52:05 -04:00
Kubernetes Publisher 062128c843 Merge pull request #128419 from liggitt/etcd-3.6
etcd 3.6 client update

Kubernetes-commit: 09ca440a450e9103a8f835f598c09237dba6ecbb
2025-05-16 04:00:16 +00:00
Anish Ramasekar 2ce736f1ce Promote automatic_reloads of authn config metrics to BETA
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>

Kubernetes-commit: 60b5338d46027c26cd29a829bea5dbff822b3b23
2025-05-15 11:23:10 -07:00
Anish Ramasekar 12fab5de10 Promote automatic_reloads of authz config metrics to BETA
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>

Kubernetes-commit: 5314fcece315c6bab115de4ac723baa43f8d6ec0
2025-05-14 09:51:20 -07:00
Marek Siarkowicz 6764e31cac Separate getList and watch errors to prevent TestGetCacheBypass flakes
The TestGetCacheBypass requires watch cache to be initialized after
which it will want backend to return errors to check what requests are
cached and which are not.

The watch cache is marked as ready after a list succeeds, but before a watch request is executed.
If watch request fail it will immidietly flip back to unready.

Injecting error after watch cache was ready didn't guarantee that watch
request started, sometimes causing watch to be called after and fail.
This immidietly caused the watch cache to be again unready for the rest
of the test.

The fix is just to separate failure injection for List and Watch
responses.

Kubernetes-commit: 70e05132645d5c49cf0ac61a3ae8869dc60f0bde
2025-05-14 15:52:06 +02:00
Anish Ramasekar 9333a5f386 Duplicate v1beta1 AuthenticationConfiguration to v1
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>

Kubernetes-commit: aea874e5e47c1740d12f1dbea6bba8249407c9f8
2025-05-13 15:48:04 -07:00