Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle processing of policies in background #569

Merged
merged 9 commits into from
Dec 31, 2019
Merged

Handle processing of policies in background #569

merged 9 commits into from
Dec 31, 2019

Conversation

shivdudhani
Copy link
Contributor

@shivdudhani shivdudhani commented Dec 20, 2019

Introduced a new flag in CRD for background execution policy.spec.background. If True will be used by policy controller for the processing policies in background.

This is needed as policies using user information cannot be processed in the background because the information is not available.

If a policy is set for background mode, then the rule cannot container userInfo in the match and exclude blocks, and also no variables with path request.userInfo can be used(regex matching). The policy validation returns an error with the path of the use. The variable filtering expects a list of variables to be filtered.

Policy controller will no process non-background policies during add/update event but will handle them for delete event as we the policy violation cleanup needs to be done.

Move the userInfo into a struct, as they have common structure and can be reused. As embedded types as not auto-promoted in Go, updated the tests to handle the initialization.

Generate rules with userInfo cannot be processed. As the userInfo is not available.

fixes #566

@shivdudhani shivdudhani changed the title [WIP] Handle processing of policies in background Handle processing of policies in background Dec 25, 2019
@shivdudhani
Copy link
Contributor Author

@realshuting are there any more pending review comments?

@realshuting
Copy link
Member

/lgtm

@shivdudhani shivdudhani merged commit 7cbe586 into 529_query Dec 31, 2019
@shivdudhani shivdudhani deleted the 566 branch December 31, 2019 00:06
shivdudhani pushed a commit that referenced this pull request Dec 31, 2019
* 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants