Skip to content

Conversation

@wisinghe
Copy link
Collaborator

This PR introduces the eopa_dl plugin (documentation) into the open policy agent instance running in skipper filter. eopa_dl plugin allows multiple types of outputs. AWS S3 is one of the allowed output types. If the running skipper instance has an already assumed role with correct permission to a S3 bucket, opa can use the same credentials to upload decision logs to the S3.

The eopa_dl plugin configuration can be either provided by opaconfig.yaml or discovery

Old PR: #3739 (had to close due to messed up git history)

@wisinghe wisinghe added the minor no risk changes, for example new filters label Dec 15, 2025
@wisinghe wisinghe marked this pull request as ready for review January 7, 2026 17:32
go.mod Outdated
github.com/aws/aws-sdk-go-v2/config v1.32.6 // indirect
github.com/aws/aws-sdk-go-v2/credentials v1.19.6 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.16 // indirect
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.20.17 // indirect
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we merge it we can also add some AWS specific filters, because here we import many cloud provider dependencies.
I wonder how big the binary will be, can you build the binary and share the MB, please ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The binary is actually 156.9MB in this case. While master branch built one is 80.2.

What would be a recommended way to add AWS specific filters?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, that's huge.
The question is if we want to have build tags in order to reduce the binary size.
It's not really something you should care about, but we should care.

So from my side it's not a blocker, but I may create some build tag to also have a non OPA build for people who care about binary size.

cc @MustafaSaber


assert.NotNil(t, decisionLog["decision_id"])
assert.NotNil(t, decisionLog["input"])
assert.NotNil(t, decisionLog["result"])
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

given that you already know if the decision is allowed or denied you could verify if the decision is allowed and if the path is what you used for the testcase

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Checking test instance related data in s3 calls cause race conditions. Removed this for now

Signed-off-by: wisinghe <[email protected]>
# Conflicts:
#	go.mod
#	go.sum
@wisinghe wisinghe marked this pull request as ready for review January 14, 2026 11:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation minor no risk changes, for example new filters

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants