1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2024-12-14 11:57:48 +00:00
Commit graph

302 commits

Author SHA1 Message Date
Shuting Zhao
75313b7462 update message 2020-12-09 14:41:20 -08:00
Jim Bugwadia
b7cecd04ed
Merge pull request #1375 from kyverno/1292_match_namespace
match/exclude ns resource name
2020-12-08 23:05:42 -08:00
shuting
ab5f2274f9
1314 validate rule (#1368)
* fixes 1314

* fix panic
2020-12-08 22:52:37 -08:00
Jim Bugwadia
d4327aeaeb match/exclude ns resource name 2020-12-08 22:17:53 -08:00
Jim Bugwadia
6afd2e6f3a
ignore non-policy files in CLI and improve validation messages (#1362)
* improve validation message

* improve error behaviors

* fix tests

* fix tests
2020-12-07 11:26:04 -08:00
Jim Bugwadia
a64915128b Revert "ignore non-policy files while loading"
This reverts commit c766512485.
2020-12-06 11:12:54 -08:00
Jim Bugwadia
c80ac553f8 update validation messages 2020-12-06 10:54:10 -08:00
Jim Bugwadia
13a9a4721a
wildcard label and annotation keys validate patterns (#1360) 2020-12-04 12:05:24 -08:00
shuting
624b481df3
Fix 1351 - policy report (#1359)
* ignore Kyverno CRDs existence check when server is not available

* clean up cluster / reportChangeRequest

* resolve PR comments

* - fixes #1351; - clean up code

* fo fmt
2020-12-04 10:04:46 -08:00
Jim Bugwadia
125faaf4e3 fix variable substitution 2020-11-25 00:21:51 -08:00
Shuting Zhao
e985ee4031 correct misspelled words 2020-11-17 12:01:01 -08:00
Shuting Zhao
943935ee1b properly deserialize anyPattern 2020-11-13 16:25:51 -08:00
Shuting Zhao
d8d5160bce fix #1192 2020-11-03 15:31:58 -08:00
Shuting Zhao
cdc5190c56 update nirmata/kyverno to kyverno/kyverno 2020-10-07 11:12:31 -07:00
Mohan B E
51ac382c6c
Feature/configmaps var 724 (#1118)
* added configmap data substitution for foreground mutate and validate

* added configmap data substitution for foreground mutate and validate fmt

* added configmap lookup for background

* added comments to resource cache

* added configmap data lookup in preConditions

* added parse strings in In operator and configmap lookup docs

* added configmap lookup docs

* modified configmap lookup docs
2020-09-22 14:11:49 -07:00
shuting
e0f617b383
810 support cronJob for auto-gen (#1089)
* add watch policy to clusterrole kyverno:customresources

* - improve auto-gen policy application logic - remove unused code

* move method to common util

* auto-gen rule for cronJob

* update doc

* set CronJob as default auto-gen pod controller

* - update doc; - fix test

* remove unused code
2020-09-01 09:11:20 -07:00
shuting
d6062fdd47
Add go fmt (#1055)
* remove empty flag

* format code

* revert change in install.yaml
2020-08-14 12:21:06 -07:00
Yuvraj
73840e3c5f
configrable rules added (#1017)
* configrable rules added

* fix exclude group logic from code

* flag added in yaml

* exclude username added

* exclude username added

* config interface implimented

* configure exclude username

* get role ref

* test case fixed

* panic fix

* move from interface to slice

* exclude added in mutate

* trim strings

* configmap changes added

* kustomize changes for configmap

* k8s resources added
2020-08-07 17:09:24 -07:00
shuting
67f7ed0ed3
Bug fix: perform OR across types in UserInfo (#992)
* remove policy name cache entry on policy DELETE

* buugfix: perform OR in userInfo match

* add function description
2020-07-14 20:23:30 -07:00
shuting
87fa77fbcc
965 add validate audit handler (#967)
* store policy names cache to reduce lookup time

* add validate audit handler

* fix #958, remove auto-gen annotation on Pod

* formatting code

* update processTime to readable format

* #586, add back unit test

* update logging info

* remove unused interface

* handle generate policy in a single thread in weboook

* resolve pr comments
2020-07-09 11:48:34 -07:00
Jim Bugwadia
65193feccb
update logging, naming, and event retry (#959)
* update logging and naming

* check per policy patch count
2020-06-30 11:53:27 -07:00
shuting
7ffeb6efca
skip generate violation on pre-exist pod (#952) 2020-06-25 09:52:54 -07:00
shuting
da943325fe
Ignore auto-gen annotation on Pod when processing DENY rule (#944)
* ignore auto-gen annotation on Pod when processing DENY rule

* remove unused code
2020-06-24 10:26:04 -07:00
Jim Bugwadia
838d02c475
Bugfix/659 support wildcards for namespaces (#871)
* - support wildcards for namespaces

* do not annotate resource, unless policy is an autogen policy

* close HTTP body

* improve messages

* remove policy store

Policy store was not fully implemented and simply provided a way
to list all polices and get a policy by name, which can be done via
standard client-go interfaces.

We need to revisit and design a better PolicyStore that provides fast
lookups for matching policies based on names, namespaces, etc.

* handle wildcard namespaces in background processing

* fix unit tests 1) remove platform dependent path usage 2) remove policy store

* add test case for mutate with wildcard namespaces
2020-05-26 10:36:56 -07:00
Shuting Zhao
bda81f0b93 - fix variable scope - debug log 2020-05-20 13:43:12 -07:00
Shuting Zhao
34d05c58c2 PR fixes 2020-05-19 13:04:06 -07:00
Shuting Zhao
9eb2534d63 - fix pending delete for denying deletion rule - revert timeoutHandler - update log level 2020-05-19 00:14:23 -07:00
Shuting Zhao
7348eda222 Fix convert resource with DELETION request 2020-05-18 17:11:08 -07:00
shravan
717e42dd0b 744 ignoring resources with deletionTimestamp 2020-05-07 23:04:15 +05:30
shravan
ba0de32454 744 fixing previous commit implementation 2020-05-07 14:38:15 +05:30
shravan
6f01bb4d59 744 only user requests will be denied 2020-05-07 14:18:42 +05:30
shravan
6b1498b770 744 fixing policy validation and removing allRequests field 2020-05-06 19:46:32 +05:30
shravan
717e8e7245 744 fixed error messages 2020-05-05 23:52:52 +05:30
shravan
d3311500af 744 tested version 2020-05-05 20:58:02 +05:30
shravan
b0c7cdbc81 744 save commit 2020-05-05 19:19:47 +05:30
shravan
7dc7420ad9 744 policy validation skip 2020-04-23 01:05:00 +05:30
shravan
7a3f0012a9 744 untested prototype 2020-04-22 20:15:16 +05:30
shravan
93fa54bf79 744 deny all requests 2020-04-18 18:26:09 +05:30
shravan
11580e8ba5 744 save commit 2020-04-14 20:47:12 +05:30
shivkumar dudhani
4320111c5c fix logs api 2020-03-20 11:43:21 -07:00
Shivkumar Dudhani
2638e1002a
Merge branch 'master' into access_check 2020-03-20 10:07:47 -07:00
shivkumar dudhani
d327309d72 refactor logging 2020-03-17 16:25:34 -07:00
shivkumar dudhani
1b1ab78f77 logs & access 2020-03-17 11:05:20 -07:00
shravan
8dda9cc413 725 error response now returns rule message if it exists 2020-03-16 14:08:13 +05:30
shravan
ffd3487ace 725 changed returned error 2020-03-06 17:11:33 +05:30
shivkumar dudhani
03ee46e1d9 support nested variable resolution 2020-02-26 16:41:48 -08:00
shravan
bc84413f35 644 resolving merge conflicts 2020-02-19 10:44:14 +05:30
shivkumar dudhani
4f830acb65 refactor 2020-02-14 12:05:13 -08:00
shivkumar dudhani
5cee543755 refactor variable substitution 2020-02-14 11:59:28 -08:00
shravan
819ba3fb1b 644 returning detailed error from function in question, changes currently untested 2020-02-07 14:45:43 +05:30
shivkumar dudhani
f608d4db18 variable substitution on copy and retry generate resource creation 2020-02-04 12:13:41 -08:00
shravan
0d4b256d13 644 updating changes with revised understanding of issue, also removed alot of deadcode to make changes 2020-02-03 18:51:18 +05:30
shravan
3b37a61f5d Revert "644 untested prototype changes"
This reverts commit 4021453760.
2020-02-01 20:48:06 +05:30
shravan
4021453760 644 untested prototype changes 2020-01-30 16:12:26 +05:30
Shivkumar Dudhani
8c1d79ab28
linter suggestions (#655)
* cleanup phase 1

* linter fixes phase 2
2020-01-24 12:05:53 -08:00
Shuting Zhao
ba8030bec0 change to use validationFailureAction for the mutation failure action 2020-01-16 11:57:28 -08:00
Shuting Zhao
434ed20857 report violation in generate when path not present 2020-01-10 11:59:05 -08:00
Shuting Zhao
5a44ab3e16 generate violation in validate when substitute path not present 2020-01-09 17:44:11 -08:00
Shuting Zhao
472fa29fce move mutation to subpackage pkg/engine/mutate 2020-01-07 17:06:17 -08:00
Shivkumar Dudhani
3cf9141f4d
593 feature (#594)
* initial commit

* background policy validation

* correct message

* skip non-background policy process for add/update

* add Generate Request CR

* generate Request Generator Initial

* test generate request CR generation

* initial commit gr generator

* generate controller initial framework

* add crd for generate request

* gr cleanup controller initial commit

* cleanup controller initial

* generate mid-commit

* generate rule processing

* create PV on generate error

* embed resource type

* testing phase 1- generate resources with variable substitution

* fix tests

* comment broken test #586

* add printer column for state

* return if existing resource for clone

* set resync time to 2 mins & remove resource version check in update handler for gr

* generate events for reporting

* fix logs

* initial commit

* fix trailing quote in patch

* remove comments

* initial condition (equal & notequal)

* initial support for conditions

* initial support fo conditions in generate

* support precondition checks

* cleanup

* re-evaluate GR on namespace update using dynamic informers

* add status for generated resources

* display loaded variable SA

* support delete cleanup of generate request main resources

* fix log

* remove namespace from SA username

* support multiple variables per statement for scalar values

* fix fail variables

* add check for userInfo

* validation checks for conditions

* update policy

* refactor logs

* code review

* add openapispec for clusterpolicy preconditions

* Update documentation

* CR fixes

* documentation

* CR fixes

* update variable

* fix logs

* update policy

* pre-defined variables (serviceAccountName & serviceAccountNamespace)

* update test
2020-01-07 15:13:57 -08:00
Shivkumar Dudhani
ffd2179b03
538 (#587)
* initial commit

* background policy validation

* correct message

* skip non-background policy process for add/update

* add Generate Request CR

* generate Request Generator Initial

* test generate request CR generation

* initial commit gr generator

* generate controller initial framework

* add crd for generate request

* gr cleanup controller initial commit

* cleanup controller initial

* generate mid-commit

* generate rule processing

* create PV on generate error

* embed resource type

* testing phase 1- generate resources with variable substitution

* fix tests

* comment broken test #586

* add printer column for state

* return if existing resource for clone

* set resync time to 2 mins & remove resource version check in update handler for gr

* generate events for reporting

* fix logs

* cleanup

* CR fixes

* fix logs
2020-01-07 10:33:28 -08:00
Shivkumar Dudhani
5b8ab3842b
Support variable substitution (#549)
* initial commit

* variable substitution

* update tests

* update test

* refactor engine packages for validate & generate

* update vendor

* update toml

* support variable substitution in overlay mutation

* missing update

* fix indentation in logs

* store context values as single JSON document using merge patches.

* remove duplicate functions

* fix message string

* Handle processing of policies in background (#569)

* remove condition check while generating mutation patch as conditions are verified in the first iteration

* initial commit

* background policy validation

* correct message

* skip non-background policy process for add/update

* fix order to correct policy registration

* update comment

Co-authored-by: shuting <shutting06@gmail.com>

* refactor

Co-authored-by: shuting <shutting06@gmail.com>
2019-12-30 17:08:50 -08:00
Shivkumar Dudhani
ffe3bdb677
remove newline from engine response strings (#537)
* remove newline from engine response strings

* add scenario file updates

* cr: remove . in trailing msg string
2019-12-04 18:04:42 -08:00
shuting
ded0183aa2
Merge pull request #478 from nirmata/472_update_apiversion
472 update apiversion
2019-11-13 15:19:27 -08:00
Shivkumar Dudhani
23ba517fef
add patched resource + correct register handlers (#482) 2019-11-13 15:16:46 -08:00
Shuting Zhao
b67577994a update apiversion to v1 in code 2019-11-13 13:41:08 -08:00
Shivkumar Dudhani
7a12e12cb5
skip validation if the resource updates dont violate policy rules (#477) 2019-11-13 13:13:07 -08:00
Shuting Zhao
fc35a52ad8 Merge branch 'master' into 455_namespace_pv
# Conflicts:
#	definitions/install_debug.yaml
#	main.go
#	pkg/webhooks/mutation.go
#	pkg/webhooks/server.go
#	pkg/webhooks/validation.go
2019-11-13 11:46:46 -08:00
shivkumar dudhani
d8bf7fa284 clean up fixes 2019-11-12 16:49:05 -08:00
Shuting Zhao
2a14c1f5dc - add profiling; - fix CLI 2019-11-11 21:23:26 -08:00
Shuting Zhao
546a25d025 add missing file 2019-11-11 21:06:09 -08:00
Shuting Zhao
5a3ed62b13 Merge branch 'master' into 345_support_usergroup_info
# Conflicts:
#	pkg/engine/validation_test.go
#	pkg/webhooks/annotations.go
#	pkg/webhooks/annotations_test.go
#	pkg/webhooks/mutation.go
#	pkg/webhooks/server.go
#	pkg/webhooks/validation.go
2019-11-11 19:19:08 -08:00
Shuting Zhao
6048d59949 change engine interface to take policyContext struct 2019-11-08 18:57:27 -08:00
Shuting Zhao
ec331b8d17 remove resource info in the validation error 2019-11-07 12:30:58 -08:00
Shuting Zhao
a30b8a604d update format 2019-11-07 12:13:35 -08:00
Shuting Zhao
15895d3852 - aggregate resource info per rule; - remove resource info in each success message; 2019-11-07 12:13:35 -08:00
Shuting Zhao
de9ebd899b improve validation error message; update scenario files 2019-11-07 12:13:34 -08:00
shivkumar dudhani
a191bd67f4 update message string 2019-11-01 15:21:23 -07:00
Shuting Zhao
f820cb4c83 implement #387 Generate clusterpolicyviolation when policy action set to "enforce" 2019-10-21 15:55:20 -07:00
shivkumar dudhani
3fa8834b4a policy validation: refactoring 2019-10-21 14:22:31 -07:00
shivkumar dudhani
70ff2fa177 update engineResponse Name 2019-10-08 10:57:24 -07:00
shivkumar dudhani
c4e263564f CR: uncomment deadcode 2019-10-01 16:59:26 -07:00
shivkumar dudhani
17d80a08c0 introduce equality anchor 2019-10-01 12:35:14 -07:00
shivkumar dudhani
56b2d2990b clean up 2019-09-28 14:20:39 -07:00
shivkumar dudhani
808cccb421 update validation logic 2019-09-28 14:09:46 -07:00
shivkumar dudhani
087efffd96 support existance on list type 2019-09-25 21:01:45 -07:00
shivkumar dudhani
c65f12b97b initial commit 2019-09-25 15:12:33 -07:00
shivkumar dudhani
f56603e4d4 update message to show resource path of failure for validation + print custom message on failure + anyPattern to return on first success validation + update scenarios for test runner 2019-09-05 12:44:38 -07:00
shivkumar dudhani
6228b8343e refactor engine api 2019-09-03 15:48:13 -07:00
shivkumar dudhani
fa53519e2a change CRD Name to ClusterPolicy & ClusterPolicyViolations 2019-09-03 14:51:51 -07:00
shivkumar dudhani
07d86cb769 add success tests for validation & mutation 2019-08-29 18:48:58 -07:00
shivkumar dudhani
5b80da32ba replace policyInfo with engineResponse 2019-08-26 13:34:42 -07:00
shivkumar dudhani
b062d70e29 initial redesign 2019-08-23 18:34:23 -07:00
Shuting Zhao
fcaa495790 remove commented code 2019-08-21 17:23:51 -07:00
Shuting Zhao
ead99660f0 Merge commit '042bc645497ce6713bfca286f8bacd73ef7387b6' into 285_allow_OR_across_overlay_patterns
# Conflicts:
#	pkg/engine/validation.go
2019-08-21 14:13:22 -07:00
Shuting Zhao
97335270cd add anyPattern in validate rule 2019-08-21 12:38:15 -07:00
shivkumar dudhani
e507fb6422 recieve stats + update violation status move to aggregator 2019-08-20 12:51:25 -07:00
shivkumar dudhani
0b5cc03b2d engineResponse to contain stats 2019-08-19 18:57:19 -07:00
shivkumar dudhani
61d7ea276a rebase 2019-08-19 17:26:52 -07:00
shivkumar dudhani
8b1066be29 initial commit 2019-08-19 16:40:10 -07:00
Shuting Zhao
4c34ff7a37 Change of annotation purpose #262 2019-08-19 16:10:10 -07:00
Shuting Zhao
a110efb96c Merge branch 'policyViolation' into 254_dynamic_webhook_configurations
# Conflicts:
#	main.go
#	pkg/annotations/annotations.go
#	pkg/annotations/controller.go
#	pkg/controller/controller.go
#	pkg/controller/controller_test.go
#	pkg/engine/engine.go
#	pkg/engine/generation.go
#	pkg/engine/mutation.go
#	pkg/engine/validation.go
#	pkg/event/controller.go
#	pkg/webhooks/mutation.go
#	pkg/webhooks/policyvalidation.go
#	pkg/webhooks/report.go
#	pkg/webhooks/server.go
#	pkg/webhooks/validation.go
2019-08-14 19:00:37 -07:00
Shuting Zhao
6b1b6dddfa combine policy engine returns into single struct 2019-08-14 15:18:46 -07:00
shivkumar dudhani
aed0ed0dc1 clean up 2019-08-14 10:01:47 -07:00
shivkumar dudhani
e7b538be79 add process existing for mutation & validation + come cleanup 2019-08-13 11:32:12 -07:00
shivkumar dudhani
1e621146be test policy engine on admission requests 2019-08-09 16:55:43 -07:00
shivkumar dudhani
373d9a45ad clean up mutation 2019-08-09 12:59:37 -07:00
shivkumar dudhani
94a6f1a71a match % exclude resources 2019-07-23 23:34:03 -04:00
shivkumar dudhani
cdc17f999d process existing for generate & annotations 2019-07-23 03:07:11 -04:00
Shuting Zhao
9fd59297f8 remove rule name in failure even info 2019-07-19 17:52:24 -07:00
shivkumar dudhani
0a1185d1fd correct unit tests 2019-06-28 17:11:19 -07:00
Shuting Zhao
b63b3b869e create event from policy info 2019-06-26 18:04:50 -07:00
shivkumar dudhani
059993a78f rule info uses type of rule 2019-06-25 23:58:28 -07:00
shivkumar dudhani
b7655ae747 introduce info struct for engine responses 2019-06-25 18:16:02 -07:00
belyshevdenis
46cbbf9568 Implemented validation across same yaml 2019-06-20 18:21:55 +03:00
Denis Belyshev
ed7dfb63d6 Fixed issue with nested anchors 2019-06-13 17:33:58 +03:00
Denis Belyshev
9bacfe4363 Implemented at least one exists logic 2019-06-13 17:20:00 +03:00
Denis Belyshev
f89168f77a Wrote additional comments 2019-06-12 12:21:52 +03:00
Denis Belyshev
c9df93ce99 Added merge of results in map validation logic 2019-06-10 17:10:05 +03:00
Denis Belyshev
97be6ad379 Added comments and refactored array processing validation logic 2019-06-10 17:07:03 +03:00
shivdudhani
200f3fce63 refactor code 2019-06-05 17:43:59 -07:00
Denis Belyshev
50610af82d Added nil support 2019-06-05 17:35:34 +03:00
Denis Belyshev
3add83c1fc Fixed output of validation messages.
Added test whcih validates ImagePullPolicy.
2019-06-05 15:02:58 +03:00
Denis Belyshev
e571f730b2 127: Implemented usage of result package in validation and mutation functions. 2019-06-05 13:43:07 +03:00
belyshevdenis
18842b81a1 Fixed bug #117
Added validation tests
2019-06-04 17:33:21 +03:00
shivdudhani
c205cca38b introduce glog, remove log.logger references 2019-05-30 12:28:56 -07:00
Denis Belyshev
2a24f8dc3b Fixed issue: null corresponds for non-existing field, 0 for ints and empty quotes for strings 2019-05-28 20:30:48 +01:00
Denis Belyshev
f57422ef79 Fixed issue when number comes from resource as string and does not being validated 2019-05-28 14:25:29 +03:00
Denis Belyshev
22b942d229 Added bool support 2019-05-27 18:21:23 +03:00
Denis Belyshev
435a19152a I have finished implementing patterns 2019-05-27 18:07:24 +03:00
kacejot
9bea87ec75 Merge branch 'master' into mutating-overlay 2019-05-22 14:58:42 +01:00
shuting
de83a16493 rename pkg to kyverno 2019-05-21 11:00:09 -07:00
Maxim Goncharenko
302090cd86 Implemented base for Mutation Overlay 2019-05-21 18:27:56 +03:00
shuting
91b7a1b9ac - handle operation remove case: if path does not exist - remove duplicate log - support validate in CLI 2019-05-20 15:14:01 -07:00
Maxim Goncharenko
500e8d7e16 Fixed string and float type mismatches 2019-05-20 18:28:54 +03:00
Maxim Goncharenko
0aebb2a88e Fixed int and float types mismatch 2019-05-20 17:07:09 +03:00
Maxim Goncharenko
8f3361e96b Fixed issue with no message on errorness validation for user 2019-05-20 15:41:23 +03:00
Maxim Goncharenko
be13b041b6 Fixed issue with validation error messages 2019-05-20 14:48:38 +03:00
Maxim Goncharenko
12c5274718 I have applied notes from review 2019-05-17 14:51:54 +03:00
Maxim Goncharenko
a6bb4b8564 Refactored the operator logic 2019-05-17 14:22:03 +03:00
Maxim Goncharenko
0a486a7f54 I have finished implementing validation logic using TDD 2019-05-17 14:03:06 +03:00
Maxim Goncharenko
354287ebb4 Fixed issue with checking parentheses 2019-05-16 21:36:30 +03:00
Maxim Goncharenko
7f3500a6fb Fixed errors in type validation 2019-05-16 19:31:02 +03:00
Maxim Goncharenko
8e65521775 Finished implementing validation patterns 2019-05-16 17:37:05 +03:00
Maxim Goncharenko
281dc257b9 Reworking validation logic due to the anchor feature 2019-05-15 19:25:49 +03:00
Maxim Goncharenko
113fe517b4 Merge branch 'develop' into lists-validation 2019-05-15 15:59:06 +03:00
Maxim Goncharenko
10e8d2cfe0 Moved common utils for mutation, validation and generation to pkg/engine/utils 2019-05-15 14:25:32 +03:00
shuting
a36bb2fbac Implement Generate() 2019-05-14 18:20:41 -07:00
shuting
5dedbd844a Merge branch 'develop' into 28-Stateless-policy-engine
# Conflicts:
#	pkg/controller/processPolicy.go
#	pkg/engine/engine.go
#	pkg/engine/mutation.go
#	pkg/engine/mutation/patches.go
#	pkg/engine/validation.go
#	pkg/webhooks/server.go
2019-05-14 12:11:07 -07:00
shuting
6d65203d91 Merge branch 'develop' into feature_proposal_redesign_policycontroller_eventcontroller_violationbuilder
# Conflicts:
#	pkg/controller/processPolicy.go
#	pkg/engine/engine.go
#	pkg/engine/mutation.go
#	pkg/engine/mutation/checkRules.go
#	pkg/policyengine/validation.go
#	pkg/webhooks/server.go
#	pkg/webhooks/utils.go
2019-05-14 11:52:13 -07:00
shuting
3f293d8266 initial commit, remove kubeclient from policy engine 2019-05-14 11:24:40 -07:00
shuting
d683340a2e Resolve PR 27 2019-05-13 18:17:28 -07:00