-
Notifications
You must be signed in to change notification settings - Fork 24
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
Use the latest released Craft version for publishing releases #666
Comments
This bit us in the 22.1.0 self-hosted release, because we didn't have the fix in getsentry/craft#335. |
@chadwhitacre It's actually the other way around. This issue suggests to use released versions as opposed to the latest master branch build. In the case of the 22.1.0 self-hosted release, |
Ah, good point. What do you think? Should we modify |
My thinking is to use latest The need for releases of craft originally arose when we were moving fast over in craft with insufficient CI. It simply broke repeatedly. The situation has improved, and there is no guarantee that if we require faster releases, that would also improve QA. In that sense, let's go with |
I started a PR: getsentry/action-prepare-release#22. |
Dialing back out from getsentry/action-prepare-release#22 ...
Because of this, I'm having second thoughts about modifying As a slight help, maybe |
This is just unnecessary friction. Craft repo is already well-protected through branch protection rules. If you are going with that argument, then any repo can steal credentials via their |
Ouch. Good point. |
The pre-release hook runs in the context of the releasing repo, not the |
I met with @alek-sentry on the security considerations with running Craft master vs. pinning a version (and only allowing Release Approvers (a team with 8 members, basically me, Dan, and SDK eng mgmt) to bump). On the prepare side craft is only run in the context of the releasing repo, so as with the pre-release hook there is no secrets concern one way or another. On the publish side, if we go with master then anyone who can get code into craft master and trigger a release and convince an approver to approve it can steal secrets. Yes? |
Yes 🙂
Yes. I don't think pinning a version necessarily reduces the risk though. It gives you equivalent protection with your branch protection rules which you rely on getsentry/sentry and getsentry/getsentry repos which are as equally sensitive as the SDKs (if not more as that code goes into prod and has potential access to customer data). |
Pinning the version of Of course it would also mean that anyone who lands a craft patch would have to convince someone in releng to approve a version bump PR in publish before being able to benefit. Tradeoff. Anyway @alek-sentry is chewing on this and we'll circle back in a bit. |
Key diff being that only three people can approve PRs in |
I deleted a previous comment here as it did not apply much. Right now we pick the latest release that made it to docker and not the latest master. This in turn means that there is not much more security benefit to pinning as the release already needs to be approved by a release manager. We do however want to make sure that the craft repo in general is sufficiently protected to what we like to avoid the likelihood that bad commits make it into it. |
The docker image ( |
Which makes it even more dangerous for
💯 |
I think a good middle-ground here would be to change the |
Fair.
lol you're still pretty involved @BYK 😁 🤗 |
Make the `:latest` tag on Docker Hub to mean latest release and introduce the `:nightly` tag for the per-master builds. This is in alignment with other Sentry projects. Should address getsentry/publish#666.
Originally posted by @BYK in #664 (comment)
The text was updated successfully, but these errors were encountered: