Commit Graph

111 Commits

Author SHA1 Message Date
Tim Hockin 9641d30242 Use randfill, do API renames
Kubernetes-commit: e54719bb6674fac228671e0786d19c2cf27b08a3
2025-02-20 09:45:22 -08:00
Joel Speed 64791740ae Fix implementation of ContainsCIDR to allow non-equal addresses
Kubernetes-commit: b7c80f7f1592356e796a64958bec9a05e0fe3ba1
2025-02-26 14:24:58 +00:00
Siyuan Zhang 9bb4aa730a Refactor compatibility version code
Replace DefaultComponentGlobalsRegistry with new instance of componentGlobalsRegistry in test api server.

Signed-off-by: Siyuan Zhang <sizhang@google.com>

move kube effective version validation out of component base.

Signed-off-by: Siyuan Zhang <sizhang@google.com>

move DefaultComponentGlobalsRegistry out of component base.

Signed-off-by: Siyuan Zhang <sizhang@google.com>

move ComponentGlobalsRegistry out of featuregate pkg.

Signed-off-by: Siyuan Zhang <sizhang@google.com>

remove usage of DefaultComponentGlobalsRegistry in test files.

Signed-off-by: Siyuan Zhang <sizhang@google.com>

change non-test DefaultKubeEffectiveVersion to use DefaultBuildEffectiveVersion.

Signed-off-by: Siyuan Zhang <sizhang@google.com>

Restore useDefaultBuildBinaryVersion in effective version.

Signed-off-by: Siyuan Zhang <sizhang@google.com>

rename DefaultKubeEffectiveVersion to DefaultKubeEffectiveVersionForTest.

Signed-off-by: Siyuan Zhang <sizhang@google.com>

pass options.ComponentGlobalsRegistry into config for controller manager and scheduler.

Signed-off-by: Siyuan Zhang <sizhang@google.com>

Pass apiserver effective version to DefaultResourceEncodingConfig.

Signed-off-by: Siyuan Zhang <sizhang@google.com>

change statusz registry to take effective version from the components.

Signed-off-by: Siyuan Zhang <sizhang@google.com>

Address review comments

Signed-off-by: Siyuan Zhang <sizhang@google.com>

update vendor

Signed-off-by: Siyuan Zhang <sizhang@google.com>

Kubernetes-commit: 8fc3a33454ba38783bb63de41ecf5343e2ced67c
2024-12-20 07:03:03 +00:00
Cici Huang 69f7857a7a Update the env option.
Kubernetes-commit: 8a3d0d68a20958d82f119c56036750f18bc52963
2025-02-03 18:07:23 +00:00
Joel Speed a3f27ceda4 Drop declaration of IP/CDIR type CEL variables
Kubernetes-commit: 2b24c518b04b67070c2e6bdbeb9f8ee74eb429c8
2025-01-23 15:15:42 +00:00
Dr. Stefan Schimanski ca7102a0c4 apiserver/admission/cel: add unit tests for JSONPatch expressions
Signed-off-by: Dr. Stefan Schimanski <stefan.schimanski@gmail.com>

Kubernetes-commit: 78f9f214c02f8476b49749d23ffcd2fc312b5c39
2024-12-19 11:59:52 +01:00
Davanum Srinivas 5f060d93ca Drop github.com/asaskevich/govalidator
Signed-off-by: Davanum Srinivas <davanum@gmail.com>

Kubernetes-commit: 43d86c2a3ef056789c67b0f80bd1ebfcd375a0d4
2025-01-14 13:33:54 -05:00
Omer Aplatony 7ca4de7334 lint: removed empty line
Signed-off-by: Omer Aplatony <omerap12@gmail.com>

Kubernetes-commit: c0b49120e5318202b79a28212db150079acdfb01
2025-01-14 11:42:50 +02:00
Omer Aplatony 81ab7e0c68 Add test for CEL reserved symbols without double underscore
Signed-off-by: Omer Aplatony <omerap12@gmail.com>

Kubernetes-commit: 1b371d0d4693da66343aa7f8642a694ea318692d
2024-09-15 18:14:25 +03:00
Joe Betz accfd98e20 Wrap unversioned CEL library initializer calls with guard
Kubernetes-commit: dc5e2f3fa295276029535359246154021861fdd6
2024-11-06 15:32:15 -05:00
Joe Betz ba14b9c42a Add cost testing for two variable comprehensions
Kubernetes-commit: 3d4a5dac4e7921c5e41824dd130b646580a7c3f5
2024-11-05 20:57:13 -05:00
Joe Betz f7ccc75f9f Reorganize and expand unit test coverage
Also apply reviewer feedback

Kubernetes-commit: 0dc08eded95c2d620de70648dee07254f2e771b3
2024-11-04 10:50:53 -05:00
Joe Betz 9da95682e0 Add jsonpatch.escapeKey CEL function
Kubernetes-commit: 712cc20996aedad5ac525184d76ea581f98d6e35
2024-10-25 13:50:25 -04:00
Joe Betz 8794780f6a Clean up Object initialization support
The initial work of this had been merged before
this PR but was not yet in use. This simplifies
the implementation and adds some basic type
sanity checking.

Co-authored-by: Jiahui Feng <jhf@google.com>

Kubernetes-commit: 9ee1ea9d37c25d8151aad18d5a2a959836dcbe12
2024-10-25 13:22:06 -04:00
Charles-Edouard Brétéché 00c7d5a4e1 use require
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

Kubernetes-commit: ea1bd956c57f23b4ac5feb0b24ea79bbbe3b31ff
2024-10-24 22:25:37 +02:00
Charles-Edouard Brétéché b432ca9bc1 add test
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

Kubernetes-commit: 0d825361e6d31171b77a00665fdb63816b8b6e00
2024-10-24 21:57:51 +02:00
Charles-Edouard Brétéché 15220968e1 fix: cel type provider should return a type type
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

Kubernetes-commit: 1518c4ec16d06b7281f0b6c9a0e8c40952475f6b
2024-10-22 22:21:51 +02:00
Kubernetes Prow Robot 4bece4d457 Merge pull request #128196 from richabanker/move-version
Move k8s.io/apiserver/pkg/util/version to component-base

Kubernetes-commit: 119f114f012ae6d1cd851bdb2c3f849307e83258
2024-10-29 18:49:35 +00:00
Abhishek Kr Srivastav 17ab6c21d5 Fix Go vet errors for master golang
Co-authored-by: Rajalakshmi-Girish <rajalakshmi.girish1@ibm.com>
Co-authored-by: Abhishek Kr Srivastav <Abhishek.kr.srivastav@ibm.com>

Kubernetes-commit: 95860cff1c418ea6f5494e4a6168e7acd1c390ec
2024-09-12 18:15:22 +05:30
Joe Betz 206e39c6f1 Test library and type names
Kubernetes-commit: 430b1de921b85611b409887fe94988f81ec4d39f
2024-09-10 17:07:29 -04:00
Joe Betz c90ac4722a Move CEL semver library into common libs, fix cost tests to use registered types
Kubernetes-commit: e085f3818a3a1d04d895532cbdd233d797e0913b
2024-09-10 16:55:57 -04:00
Joe Betz 6999423628 Add equality cost checking
Kubernetes-commit: 0a2dfba067d7c75fafb9844f3cf4539153b582cf
2024-08-27 14:42:58 -04:00
Joe Betz 7896cd7b57 add a type for each CEL library, register all types
Kubernetes-commit: d2affe304847aa0bef3f81fa622d0b9c70a7f975
2024-07-25 16:33:18 -04:00
Jordan Liggitt f014f4a768 Fix unit tests for filtering
Kubernetes-commit: 6a4170607291288e9b01be8435b82537309c547d
2024-09-09 16:45:32 -04:00
Joe Betz 28d9c91abf Add basic panicOnUnknown support for kubernetes types
Kubernetes-commit: f6995740a6fe4b90103131516c3318f158209d21
2024-07-25 15:53:39 -04:00
Joe Betz 65a6ca8228 support opaque kinds
Kubernetes-commit: 953fbaca487c45e3e1fc655d212008a2be01ac53
2024-07-25 15:04:09 -04:00
Joe Betz cbc488649b Fix estimated cost for Kubernetes defined CEL types
Kubernetes-commit: 0a4e863373abc1b84372b0a93c8bcd32a24d07fb
2024-07-25 14:14:20 -04:00
Lan Liang 552e7d7170 Using NewExpressions for cel lazy test.
Signed-off-by: Lan Liang <gcslyp@gmail.com>

Kubernetes-commit: 9a8d6b72e4f1e33e6a30fd281fd0972fdce93f78
2024-07-25 10:08:15 +00:00
Cici Huang 92ee9330ce Allowing direct CEL reserved keyword usage in CRD (#126188)
* automatically escape reserved keywords for direct usage

* Add reserved keyword support in a ratcheting way, add tests.

---------

Co-authored-by: Wenxue Zhao <ballista01@outlook.com>

Kubernetes-commit: a48a92c72ec7d4e2a8da396309abff9360faae75
2024-07-24 01:23:51 +00:00
Patrick Ohly c1c9700b75 CEL: add QuantityDeclType
Most functions in k8s.io/apiserver/pkg/cel work with DeclType for type
definitions, which made the existing QuantityType unusable with them. The new
QuantityDeclType fills that gap.

Kubernetes-commit: bcececadfb5b7deb3f6ecb253a73ea98a2fdd80c
2024-07-17 19:36:36 +02:00
cici37 3d5977276b Promote metrics for VAP and CRD validation rules to beta.
Kubernetes-commit: 95dbfa1c3d2f62e5d0f52788a2dd19fc61ca0a36
2024-07-19 20:46:33 +00:00
Jordan Liggitt f14fc0f445 Adjust CEL cost calculation and versioning for authorization library
Kubernetes-commit: 83bd512861aa11ec00a90e4ac382daa788dccf87
2024-06-26 21:38:24 -04:00
David Eads efe135c937 Add CEL fieldSelector / labelSelector support to authorizer library
Kubernetes-commit: be2e32fa3ed0a06ac9cc59d9966be0b40617c2b2
2024-06-14 14:39:54 -04:00
Jordan Liggitt 9db3f571d5 Improve CEL cost tests to catch unhandled estimates or types
Kubernetes-commit: 1d2ad282cff163e51e5c24569a0ac762ed814e74
2024-06-26 21:38:48 -04:00
Jiahui Feng 2ae742ecb6 make Err wrap one or zero error.
Kubernetes-commit: ce45a82346623d19168b0b85cbba5ba4ff164417
2024-04-25 17:59:32 -07:00
Jiahui Feng 8be90f624a errors improvement.
Kubernetes-commit: b846c39047289e69d932ea9d5d4dadc6856ad0c7
2024-04-23 16:54:47 -07:00
Siyuan Zhang c80af88d21 Add composition flags for emulation version and feature gate.
Signed-off-by: Siyuan Zhang <sizhang@google.com>

Kubernetes-commit: 701e5fc3744c2b21ba5b1ca3399b71c9becf06d0
2024-05-30 12:08:52 -07:00
Siyuan Zhang 22612a3528 apiserver: Add API emulation versioning.
Co-authored-by: Siyuan Zhang <sizhang@google.com>
Co-authored-by: Joe Betz <jpbetz@google.com>
Co-authored-by: Alex Zielenski <zielenski@google.com>

Signed-off-by: Siyuan Zhang <sizhang@google.com>

Kubernetes-commit: 403301bfdf2c7312591077827abd2e72f445a53a
2024-01-19 16:07:00 -08:00
Cici Huang 73c903e9cd Update cel env to 1.30
Kubernetes-commit: 6980cda87d548824a7cf33260096357ab3764bbe
2024-05-09 15:39:30 -07:00
Cici Huang d44012e895 Adding the feature gates to fix cost for VAP and webhook matchConditions.
Kubernetes-commit: d6e4115ead6b93d2accf688876471231b365ceae
2024-05-01 16:26:41 -07:00
Alexander Zielenski 1412222ded feature: add name formats library to CEL
Kubernetes-commit: 0ed65fca7a2e5fc643102952b5361fdeeedde4b5
2024-02-28 18:04:33 -08:00
Alexander Zielenski 26d34beacd test: typecheck cel test cases
Kubernetes-commit: 11a6edfc887f3bc983165d19b05fca566ed82ba7
2024-04-19 13:52:22 -07:00
Jiahui Feng 63c6cc2b91 add trivial FindStructFieldNames to TypeProvider.
Kubernetes-commit: 73d67d86132702795685bf43f47ad167c0108b5a
2024-04-15 14:02:36 -07:00
Jiahui Feng 6f6178ef97 refit cost estimator with ast.Expr
Kubernetes-commit: ac5391fa21fc80559f70b72c42e64d3fa7569a42
2024-04-15 13:50:04 -07:00
Patrick Ohly 561da9109f cel: fix conversion of quantity to quantity
The code in ConvertToType checked for conversion into typeValue (=
"kubernetes.URL") instead of conversion into quantityTypeValue (=
"kubernetes.Quantity") and thus most likely failed with an incorrect "type
conversion error".

Kubernetes-commit: 02b4e99c9f0afa4ef9fa0283670c1515e40a5278
2024-03-04 12:23:54 +01:00
Jiahui Feng 8485f72a96 add support for map
to CEL mutation library.

Kubernetes-commit: dc4c92f5a5646ed8d131a8bb8ff96b5e6b3e4bb8
2024-02-27 13:55:08 -08:00
Jiahui Feng 95a53374a5 convert the expectedValues to be cel.Val.
Kubernetes-commit: c89dcf52b12bf5e32f71f3ed600315242f7e44f6
2024-01-25 13:52:39 -08:00
Jiahui Feng f0c47558ed extra case for affirmative has(map) test.
Kubernetes-commit: d6991638029be493e5c197b6cd0d268d8ce55457
2024-01-25 13:36:42 -08:00
Jiahui Feng eb407cc3dd fix convertField and its comments.
Kubernetes-commit: d0c323fb8fbfa5c1b91ae445cbda60a416e85e65
2024-01-23 16:47:33 -08:00
Jiahui Feng 3a5a43790e add support for equality check.
Kubernetes-commit: df9620c9f6f6a60f7cbcacb3ad9fa40d79d1d73e
2024-01-23 16:07:39 -08:00