-
Notifications
You must be signed in to change notification settings - Fork 112
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
(spyglass/lenses) allow configuration sandbox permissions #296
(spyglass/lenses) allow configuration sandbox permissions #296
Conversation
This provides the ability to configure iframe sandbox permissions pr lense. This allows the operator of the prow installation to define which permissions it trust to each lense. PR comes from the ideas and discussions in kubernetes-sigs#294 Signed-off-by: Roy Sindre Norangshol <[email protected]>
Hi @norrs. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
✅ Deploy Preview for k8s-prow ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
iframe_sandbox_permissions: | ||
- allow-scripts | ||
- allow-popups | ||
- allow-popups-to-escape-sandbox |
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.
Updated this as it looked like a sane idea to do if this is supposed to demostrate a full configuration file example.
var defaultSandboxPermissions = strings.Join( | ||
[]string{ | ||
"allow-scripts", | ||
"allow-top-navigation", | ||
"allow-popups", | ||
"allow-same-origin", | ||
}, | ||
" ", | ||
) |
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.
This is defaultSandboxPermissions for the parsedConfig, tho I personally like to work with arrays instead of strings with foo bar zar
.
Not sure if you prefer this or the allow-scripts allow-top-navigation allow-popups allow-same-origin
instead.
Please let me know, I'll update if you want to change it.
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.
Suggestion is to do another PR after this to adjust the defaults to not combine allow-same-origin
together with allow-scripts
, but I suppose this needs to be communicated to the users of the prow installation, so they are aware of the ability to configure this pr lense.
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.
Arrays sound reasonable to me, and I think it's easier to catch differences.
And that sounds good to me.
/ok-to-test |
Do you need anything more from me on this? |
Closed #294 in favor of this PR. Doing a ping/cc here from the people who were active in 294 ( @michelle192837 @smg247 @BenTheElder . ) Would be nice if we could get this in? 🙏 |
Thanks for the ping and apologies for the delay, this dropped off my radar >< I'll review today! |
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.
LGTM aside from a minor nit.
var defaultSandboxPermissions = strings.Join( | ||
[]string{ | ||
"allow-scripts", | ||
"allow-top-navigation", | ||
"allow-popups", | ||
"allow-same-origin", | ||
}, | ||
" ", | ||
) |
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.
Arrays sound reasonable to me, and I think it's easier to catch differences.
And that sounds good to me.
@@ -61,6 +62,14 @@ func TestGetConfig(t *testing.T) { | |||
} | |||
return d | |||
}(), | |||
}, { |
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.
nit: Add test case verifying what the iframe permissions are if none are specified.
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.
Added test @michelle192837 , good nit 👍
fe2591e
to
1cd2aad
Compare
if providing sandbox iframe sandbox permissions configuration which is empty, it should provide no prvileges for the sandbox and not fall back to the defaults. if you want defaults, you should not configure the iframe.sandbox_permissions. Signed-off-by: Roy Sindre Norangshol <[email protected]>
1cd2aad
to
44d0098
Compare
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.
Neat, thanks again for the changes!
Seems like we need an approval from cmd/checkconfig/OWNERS: @chases2 , @stevekuznetsov or @cjwagner |
Those folks are no longer working on Prow unfortunately. I think this should get approval from someone in https://github.com/kubernetes-sigs/prow/blob/main/OWNERS until that OWNERS file is fixed. (Pulling randomly) @petr-muller or @matthyx ? |
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.
/lgtm
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: matthyx, michelle192837, norrs The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
This provides the ability to configure iframe sandbox permissions pr lense. This allows the operator of the prow installation to define which permissions it trust to each lense.
PR comes from the ideas and discussions in
#294