-
Notifications
You must be signed in to change notification settings - Fork 606
add rego integration to source policies #3539
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
base: master
Are you sure you want to change the base?
Conversation
|
Encountered this: FROM alpinepackage docker
default allow := false
allow if input.local
allow if {
input.image.hasProvenance
}
decision := {
"allow": allow
} |
Signed-off-by: Tonis Tiigi <[email protected]>
5ef9d59 to
814f646
Compare
|
@dvdksn should be fixed as part of moby/buildkit#6383 https://gist.github.com/tonistiigi/a8a1fdf39796ba484a31af18afb04bfc#file-9-provenance-dockerfile . Although it looks like there is another issue where if the image is not an OCI index, then you get a different error when parsing instead of a policy deny error. Signature keys have not been implemented yet in this PR. |
| Perm int `json:"perm,omitempty"` | ||
| UID int `json:"uid,omitempty"` | ||
| GID int `json:"gid,omitempty"` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perm would always be 600 I guess - and not sure what UID/GID would show?
This is an early version of rego format support for defining source policies. Not ready for merge but suitable for early testing and feedback.
Currently many untested parts and unimplemented fields/builtins. I also discovered a bug with git/http metadata resolve in BuildKit that needs to be fixed for support of some fields.
For input schema see
policy/types.goatm until we expose it better.For
app.Dockerfile, matchingapp.Dockerfile.regois loaded. Only local files supported atm. This would be extended with manual control via flags and helper commands for testing.Set
export BUILDX_POLICY_DEBUG=1and use plain progress mode to see the internal input data and policy decisions. This is a temporary debug until there is better progressbar integration.Some examples in https://gist.github.com/tonistiigi/a8a1fdf39796ba484a31af18afb04bfc . BuildKit v0.26 is needed.
@crazy-max @dvdksn @cpuguy83 @colinhemmings