Commit Graph

58 Commits

Author SHA1 Message Date
Jefftree
3cd1c8dd2d Drop v1alpha1 VAP in CEL tests 2024-12-13 18:35:17 +00:00
Patrick Ohly
33ea278c51 DRA: use v1beta1 API
No code is left which depends on the v1alpha3, except of course the code
implementing that version.
2024-11-06 13:03:19 +01:00
Anish Shah
7e3ae1060f integration: RBAC tests for /resize request
The test confirms that the subject can successfully
resize the Pod resources but not the entire pod.
2024-11-06 01:33:14 +00:00
Joe Betz
a0f419fe56 Add integration tests
Co-authored-by: cici37 <cicih@google.com>
Co-authored-by: Alexander Zielensk <alexzielenski@gmail.com>
2024-11-04 21:40:54 -05:00
Joe Betz
3a1733f302 Add MutatingAdmissionPolicy API
This is closely aligned with ValidatingAdmissionPolicy
except that instead of validations that can fail with
messages, there are mutations, which can be defined
either with as an ApplyConfiguration or JSONPatch.

Co-authored-by: cici37 <cicih@google.com>
2024-11-04 21:40:38 -05:00
Jordan Liggitt
9caca73126 KEP-4601: AuthorizeNodeWithSelectors / AuthorizeWithSelectors to beta 2024-10-17 21:02:55 -04:00
Cici Huang
baeeb66613 Update tests 2024-10-08 17:02:07 +00:00
Kubernetes Prow Robot
80941e3e87 Merge pull request #127643 from Jefftree/set-emulation-integration-test
Allow emulation version to be set in integration test
2024-09-27 21:56:01 +01:00
Jefftree
dacc2e1f5d Allow emulation version to be set in integration test 2024-09-25 22:01:15 -04:00
Aaron Prindle
701e6c7ab1 chore: bump DefaultKubeBinaryVersion to 1.32, make 1.32 CEL changes, fix int tests to handle 1 version off API deprecation, and fix prerelease-lifecycle-gen for # of APIs 2024-09-17 19:32:14 +00:00
Cici Huang
0f19faf9be Remove feature gate ValiatingAdmissionPolicy after stable. 2024-08-22 17:39:18 +00:00
Richa Banker
4acedb5132 init a common apiserver for TestAuthorizationDecisionCaching testcases 2024-08-16 10:52:30 -07:00
Richa Banker
342ecab56a init a common apiserver for Test_ValidateSecondaryAuthorization testcases 2024-08-16 10:52:30 -07:00
Richa Banker
99eaa71f0e init a common apiserver for TestCRDParams testcases 2024-08-16 10:52:30 -07:00
Richa Banker
de2730a9a6 split Test_CostLimitForValidation into feature-enabled and feature-disabled tests, init a common apiserver for all testcases 2024-08-16 10:52:30 -07:00
Richa Banker
1e03472fe8 init a common apiserver for Test_ValidateNamespace_WithConfigMapParams testcases 2024-08-16 10:52:29 -07:00
Richa Banker
9df04b7c78 split Test_ValidateNamespace_NoParams into successes and failures tests, init a common apiserver for all testcases 2024-08-16 10:52:29 -07:00
Cici Huang
a48a92c72e 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>
2024-07-23 15:45:20 -07:00
Patrick Ohly
91d7882e86 DRA: new API for 1.31
This is a complete revamp of the original API. Some of the key
differences:
- refocused on structured parameters and allocating devices
- support for constraints across devices
- support for allocating "all" or a fixed amount
  of similar devices in a single request
- no class for ResourceClaims, instead individual
  device requests are associated with a mandatory
  DeviceClass

For the sake of simplicity, optional basic types (ints, strings) where the null
value is the default are represented as values in the API types. This makes Go
code simpler because it doesn't have to check for nil (consumers) and values
can be set directly (producers). The effect is that in protobuf, these fields
always get encoded because `opt` only has an effect for pointers.

The roundtrip test data for v1.29.0 and v1.30.0 changes because of the new
"request" field. This is considered acceptable because the entire `claims`
field in the pod spec is still alpha.

The implementation is complete enough to bring up the apiserver.
Adapting other components follows.
2024-07-22 18:09:34 +02:00
Jordan Liggitt
83bd512861 Adjust CEL cost calculation and versioning for authorization library 2024-07-19 15:06:49 -04:00
Cici Huang
d6e4115ead Adding the feature gates to fix cost for VAP and webhook matchConditions. 2024-05-10 22:07:40 +00:00
Marek Siarkowicz
3ee8178768 Cleanup defer from SetFeatureGateDuringTest function call 2024-04-24 20:25:29 +02:00
cici37
de506ce7ac Promote ValidatingAdmissionPolicy to GA. 2024-03-05 16:00:21 -08:00
Jiahui Feng
e257522889 add transient types to admission test. 2024-02-29 12:08:43 -08:00
Jiahui Feng
64ee859aa8 make ValidatingAdmissionPolicy ignore excluded resources. 2024-02-28 15:31:44 -08:00
Jiahui Feng
5b1fffa3e4 add resource filter to admission initializer. 2024-02-28 15:31:18 -08:00
Alexander Zielenski
b636984004 test: remove unnecessary skip healthz check from test
snuck in there while I was working on the test, but is ultimately not necessary to test the functionality.

skipping healthz check resulted in leaking goroutines from poststarthooks.
2024-02-01 14:50:54 -08:00
Alexander Zielenski
71559bd026 bugfix: dont skip reconcile for unchanged policy if last sync failed 2024-01-29 11:16:59 -08:00
carlory
57a5db8da3 remove feature-gate APISelfSubjectReview 2023-11-24 16:59:21 +08:00
Jiahui Feng
e4776e0f85 avoid infinite recursion for type resolvers. 2023-10-31 10:23:50 -07:00
Jiahui Feng
3f73cdcf2a extend SchemaResolver for more types of schemas. 2023-10-26 10:25:41 -07:00
Alexander Zielenski
3b9af47118 add admission policy integration test all resources
duplicates a lot of existing webhook integration test code
2023-07-24 10:54:54 -07:00
Alexander Zielenski
d647958744 update codegen 2023-07-21 13:56:23 -07:00
Alexander Zielenski
ef8670c946 refactor: replace usage of v1alpha1 with v1beta1
v1alpha -> v1beta

fill in DenyAction where there is no ParameterNotFoundAction
2023-07-21 13:41:24 -07:00
Alexander Zielenski
b5e9e0168c feature: add multiple params capability to VAP controller 2023-07-20 09:30:10 -07:00
Cici Huang
13172cba5c ValidatingAdmissionPolicy: support namespace access (#118267)
* Support namespace access from cel expression in validatingadmissionpolicy.

* Whitelist the exposed fields in namespace object and add test

* better handling of cluster-scoped resources.

* [API REVIEW] namespaceObject in Expression doc.

* compatibility with composition.

* generated: ./hack/update-codegen.sh && ./hack/update-openapi-spec.sh

* workaround namespace of namespace is unexpectedly set.

* basic test coverage for namespaceObject.

---------

Co-authored-by: Jiahui Feng <jhf@google.com>
2023-07-14 17:53:08 -07:00
Jiahui Feng
049614f884 ValidatingAdmissionPolicy controller for Type Checking (#117377)
* [API REVIEW] ValidatingAdmissionPolicyStatucController config.

worker count.

* ValidatingAdmissionPolicyStatus controller.

* remove CEL typechecking from API server.

* fix initializer tests.

* remove type checking integration tests

from API server integration tests.

* validatingadmissionpolicy-status options.

* grant access to VAP controller.

* add defaulting unit test.

* generated: ./hack/update-codegen.sh

* add OWNERS for VAP status controller.

* type checking test case.
2023-07-13 13:41:50 -07:00
Ben Luddy
f1700e4b95 Cache authz decisions within validating policy admission.
This avoids the surprise of identical authorization checks within a
policy evaluating to different decisions during the same admission
pass, and reduces the overhead of repeatedly referencing the same
authorization check.
2023-06-28 15:30:04 -04:00
Joe Betz
68901de898 Enable optionals and add tests 2023-05-31 18:36:50 -04:00
Joe Betz
e740f8340e Introduce CEL EnvSets for managing safe rollout of new CEL features, libraries and expression variables 2023-05-08 11:52:31 -04:00
Jiahui Feng
0a954cc10d always get fresh object before updating. 2023-03-08 15:17:58 -08:00
Jiahui Feng
feb18b3f5f implmementing type checking
with multi-type support.
2023-03-07 15:49:19 -08:00
Joe Betz
c2b3871502 Add integration tests 2023-03-06 21:51:33 -05:00
Joe Betz
4d30c43494 Add integration tests for secondary authz 2023-03-06 12:08:53 -05:00
Jiahui Feng
5c6d8a939c add int. test for CEL type resolution. 2022-12-14 09:19:36 -08:00
Kermit Alexander II
19242ec349 Add TestBindingRemoval. 2022-11-17 02:10:07 +00:00
Kermit Alexander II
cd3d014614 Add TestCRDParams. 2022-11-17 02:09:47 +00:00
Andrew Sy Kim
34a2d265d7 test/integration/apiserver/cel: update createAndWaitReady to retry on error including 'not yet synced to use for admission'
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-14 22:27:16 -05:00
Andrew Sy Kim
7127f565f6 test/integration/apiserver/cel: add Test_ValidatingAdmissionPolicy_UpdateParamResource
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-14 21:48:12 -05:00
Andrew Sy Kim
0fb038fb15 test/integration/apiserver/cel: add lifecycle tests for deleting/recreating policy, policy bindings, and param resources
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-14 21:48:12 -05:00