Looks like this thread is touching a few different issues: - Process documentation: I was trying to learn the details behind the automation, release signatures, etc in the Spark release management official documentation (http://spark.apache.org/release-process.html) , and it looks like not much is described there.
- Sharing release keys: As described in the Apache Release Creation Process (http://www.apache.org/dev/release-publishing.html#signed) it is recommended that, "If you plan to serve as a release manager, you should generate a key and publish it well in advance of creating a release." which clearly recommends an individual key per RM. If the keys are going to be shared (which I don't recommend) it should at least be an "Apache Spark" key, instead of an individual person key. IMHO sharing a key, particularly when this key is available in a non-apache managed infrastructure, makes it much more susceptible to become compromised, particularly because the PMC does not control who has access to the environment. - Inability to customize the release automation by the RM: Looks like the Jenkins jobs that are responsible for automating the spark releases are created/updated by private scripts that are not available to all Spark PMC and/or RMs, this also makes the ability to improve the release process a lot more complicated. Would the Spark PMC please look into addressing these issues asap. Thanks On Sun, Sep 17, 2017 at 10:12 PM, Patrick Wendell <patr...@databricks.com> wrote: > Sparks release pipeline is automated and part of that automation includes > securely injecting this key for the purpose of signing. I asked the ASF to > provide a service account key several years ago but they suggested that we > use a key attributed to an individual even if the process is automated. > > I believe other projects that release with high frequency also have > automated the signing process. > > This key is injected during the build process. A really ambitious release > manager could reverse engineer this in a way that reveals the private key, > however if someone is a release manager then they themselves can do quite a > bit of nefarious things anyways. > > It is true that we trust all previous release managers instead of only > one. We could probably rotate the jenkins credentials periodically in order > to compensate for this, if we think this is a nontrivial risk. > > - Patrick > > On Sun, Sep 17, 2017 at 7:04 PM, Holden Karau <hol...@pigscanfly.ca> > wrote: > >> Would any of Patrick/Josh/Shane (or other PMC folks with >> understanding/opinions on this setup) care to comment? If this is a >> blocking issue I can cancel the current release vote thread while we >> discuss this some more. >> >> On Fri, Sep 15, 2017 at 5:18 PM Holden Karau <hol...@pigscanfly.ca> >> wrote: >> >>> Oh yes and to keep people more informed I've been updating a PR for the >>> release documentation as I go to write down some of this unwritten >>> knowledge -- https://github.com/apache/spark-website/pull/66 >>> >>> >>> On Fri, Sep 15, 2017 at 5:12 PM Holden Karau <hol...@pigscanfly.ca> >>> wrote: >>> >>>> Also continuing the discussion from the vote threads, Shane probably >>>> has the best idea on the ACLs for Jenkins so I've CC'd him as well. >>>> >>>> >>>> On Fri, Sep 15, 2017 at 5:09 PM Holden Karau <hol...@pigscanfly.ca> >>>> wrote: >>>> >>>>> Changing the release jobs, beyond the available parameters, right now >>>>> depends on Josh arisen as there are some scripts which generate the jobs >>>>> which aren't public. I've done temporary fixes in the past with the Python >>>>> packaging but my understanding is that in the medium term it requires >>>>> access to the scripts. >>>>> >>>>> So +CC Josh. >>>>> >>>>> On Fri, Sep 15, 2017 at 4:38 PM Ryan Blue <rb...@netflix.com> wrote: >>>>> >>>>>> I think this needs to be fixed. It's true that there are barriers to >>>>>> publication, but the signature is what we use to authenticate Apache >>>>>> releases. >>>>>> >>>>>> If Patrick's key is available on Jenkins for any Spark committer to >>>>>> use, then the chance of a compromise are much higher than for a normal RM >>>>>> key. >>>>>> >>>>>> rb >>>>>> >>>>>> On Fri, Sep 15, 2017 at 12:34 PM, Sean Owen <so...@cloudera.com> >>>>>> wrote: >>>>>> >>>>>>> Yeah I had meant to ask about that in the past. While I presume >>>>>>> Patrick consents to this and all that, it does mean that anyone with >>>>>>> access >>>>>>> to said Jenkins scripts can create a signed Spark release, regardless of >>>>>>> who they are. >>>>>>> >>>>>>> I haven't thought through whether that's a theoretical issue we can >>>>>>> ignore or something we need to fix up. For example you can't get a >>>>>>> release >>>>>>> on the ASF mirrors without more authentication. >>>>>>> >>>>>>> How hard would it be to make the script take in a key? it sort of >>>>>>> looks like the script already takes GPG_KEY, but don't know how to >>>>>>> modify >>>>>>> the jobs. I suppose it would be ideal, in any event, for the actual >>>>>>> release >>>>>>> manager to sign. >>>>>>> >>>>>>> On Fri, Sep 15, 2017 at 8:28 PM Holden Karau <hol...@pigscanfly.ca> >>>>>>> wrote: >>>>>>> >>>>>>>> That's a good question, I built the release candidate however the >>>>>>>> Jenkins scripts don't take a parameter for configuring who signs them >>>>>>>> rather it always signs them with Patrick's key. You can see this from >>>>>>>> previous releases which were managed by other folks but still signed by >>>>>>>> Patrick. >>>>>>>> >>>>>>>> On Fri, Sep 15, 2017 at 12:16 PM, Ryan Blue <rb...@netflix.com> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> The signature is valid, but why was the release signed with >>>>>>>>> Patrick Wendell's private key? Did Patrick build the release >>>>>>>>> candidate? >>>>>>>>> >>>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Ryan Blue >>>>>> Software Engineer >>>>>> Netflix >>>>>> >>>>> -- >>>>> Twitter: https://twitter.com/holdenkarau >>>>> >>>> -- >>>> Twitter: https://twitter.com/holdenkarau >>>> >>> -- >>> Twitter: https://twitter.com/holdenkarau >>> >> -- >> Twitter: https://twitter.com/holdenkarau >> > > -- Luciano Resende http://twitter.com/lresende1975 http://lresende.blogspot.com/