Hey Dave, Thanks for this. Having the ComDev/Infra repository where PMC can publish approved "Chart" and clear docs on what it means to follow the Release Policy is exactly what we need I think.
We have a heated debate within Airflow PMC and despite exchanging many messages and (sometimes heated) arguments we remain deeply divided on that. For me, that's a clear sign that we need the ASF help to resolve it. How can I help to make it happen? I am happy to devote quite a lot of my time - both infrastructure and policy discussions/writing as I think this is a very important subject to at least some commercial users of ASF software (and ASF being 'commercially friendly'). J. On Sun, Sep 6, 2020 at 1:19 AM Kaxil Naik <kaxiln...@gmail.com> wrote: > Great, thanks Dave > > On Sun, Sep 6, 2020, 00:17 Dave Fisher <wave4d...@comcast.net> wrote: > > > Every release must be made in SVN on dist.apache.org. All other channels > > are optional and may or may not have Infra support. > > > > I view this as a request to have ComDev or Infra manage a Gitbox/Github > > repository where any PMC can publish a PMC approved Helm Chart release > from > > their project. > > > > How to make a Helm Chart compliant with Apache Release Policy would part > > of the documentation. > > > > Sent from my iPhone > > > > > On Sep 5, 2020, at 3:30 PM, Kaxil Naik <kaxiln...@gmail.com> wrote: > > > > > > > > >> > > >> The point is that we MUST give the users possibility to (re)build > those > > > images on their own if they want. We > > > > > > > > > From http://www.apache.org/legal/release-policy.html#source-packages, > it > > > does not say it has to be on PyPI. I will reiterate what I said in the > > > Github issue, having a binary on PyPI is no guarantee that it will stay > > > there. Having a binary on Github releases > > > https://github.com/jbub/pgbouncer_exporter/tags also does not > guarantee > > it > > > would not change. If the license are correct and the source is > available > > I > > > definitely do not see this as a problem: > > > > > > Every ASF release MUST contain one or more source packages, which MUST > be > > >> sufficient for a user to build and test the release provided they have > > >> access to the appropriate platform and tools. > > > > > > > > > > > >> On Sat, Sep 5, 2020 at 10:33 PM Jarek Potiuk <ja...@potiuk.com> > wrote: > > >> > > >> @Matt Sicker <boa...@gmail.com> -> agree on both, central chart repo, > > and > > >> per-project sources for charts. Though packaging is a bit different > than > > >> Docker though. The packages contain tar.gz sources of the chart (which > > >> usually includes quite complex go templating logic, not just simple > yaml > > >> files) and those templates include names of the images used. This > makes > > >> the Helm chart much more close to the -src.tar.gz files we release now > > than > > >> to Docker Images we publish. So IMHO the .tgz part should follow the > > normal > > >> release process with voting @Kaxilnaik <kaxiln...@apache.org>. > > >> Unless those are the very same sources of product that are already > > formally > > >> released. But then @Gaetan Semet previously pointed out as bad > practice > > >> to bind the two together. > > >> IMHO that means that we have to vote on each Chart release. But I'd > love > > >> what others think - knowing this packaging details. > > >> > > >> @ermanndimb- my point for images pointed to by the helm chart is not > > about > > >> copying full sources (I think from this discussion I realised where > the > > >> main confusion was) . This is not needed. I just made a PR to show how > > this > > >> can be done with the pgbouncer-exporter. This is quite a good example > > to > > >> base our discussion on: https://github.com/apache/airflow/pull/10759 > > >> > > >> The point is that we MUST give the users possibility to (re)build > those > > >> images on their own if they want. They should be able to do that > using: > > >> > > >> a) official base images (DockerHub has the "official image program" > for > > >> platforms. openjdk, python,debian, alpine - those are all official > > images > > >> in DockerHub terms > > >> b) having access to properly licensed source code with some > guarantees > > >> that it will not disappear ("official" repo, multiple forks in Github, > > >> heavily used by others, fork under "apache" organisation) . > > >> c) instructions where to find the sources and build the images > > >> (Dockerfile + necessary scripts to build the image if in case it is > not > > >> straightforward). Similarly as we provide instructions on building the > > >> "product". > > >> > > >> If the first two are available but it's not obvious how the image was > > built > > >> - IMHO we need to provide the user instructions on how to build those > > >> images (ideally a script that does it automatically). > > >> > > >> This is all fulfilled by the PR above as an example: > > >> a) based on official, alpine image > > >> b) the pgbouncer code is properly licenced and we forked the sources > > >> several times to be sure it won't disappear > > >> c) we have a script that builds and publishes the image (image is > > published > > >> under apache/airflow DockerHub) > > >> > > >> IMHO - that's a very good example to show the kind of approach we can > > take, > > >> and shows that it isn't difficult to handle it well at all. > > >> > > >> The alternative that I am afraid of is - that we require our users to > > use > > >> binaries which are not "official" but maintained and controlled by > > >> 3rd-party (without a straightforward way of building the binary from > > >> official images + properly licensed sources + instructions). If we do > > not > > >> give those to the user but we simply point to a 3rd-party binary > bimage > > - > > >> we both endorse the 3rd party, and introduce dependency on the > > 3rd-party. > > >> The user then has to rely on the 3rd-party to use the Airflow Helm > > Chart - > > >> which I think is a very bad idea. > > >> > > >> J. > > >> > > >> > > >>> On Sat, Sep 5, 2020 at 7:42 PM Kaxil Naik <kaxiln...@gmail.com> > wrote: > > >>> > > >>> Does voting needs to happen for "releasing" the Helm chart ? Do we > any > > >>> guidelines from the ASF around releasing Helm Chart & Dockerfile? > > >>> > > >>>> On Sat, Sep 5, 2020, 17:36 Matt Sicker <boa...@gmail.com> wrote: > > >>> > > >>>> If packaging is similar to Docker, then our Helm charts will still > > >>>> need some third party base images and such for GPL licensed system > > >>>> dependencies (besides the kernel itself, there's OpenJDK which is > > >>>> definitely used in plenty of projects here). The bits we build on > top > > >>>> of external components becomes the Apache project that is ALv2 and > is > > >>>> distributed through source archives with convenience binaries (in > this > > >>>> case, the image layers and YAML files). > > >>>> > > >>>> I do like the idea of having a central Apache Helm chart repo where > > >>>> releases can be published. That makes it simpler for users to > combine > > >>>> multiple Apache charts together, too, based on my past experience > with > > >>>> using Helm (especially with the new decentralized charts > distribution > > >>>> model they've switched to). I do think it makes sense to try and > > >>>> maintain the sources and such for those charts in the individual > > >>>> projects since each PMC may have different workflows on how that's > > >>>> created, and it makes it easier to release alongside the normal > > >>>> project's releases. > > >>>> > > >>>> On Sat, 5 Sep 2020 at 11:13, Daniel Imberman <dimber...@apache.org> > > >>> wrote: > > >>>>> > > >>>>> While I understand the necessity for users to have access to all > > >> source > > >>>> code, I'm a bit concerned about the complexity this places on the > > >>>> open-source project. Let's take Airflow as an example. If we want to > > >> use > > >>>> pgbouncer in our home chart are we expected to be able to build this > > >>>> external project? > > >>>>> > > >>>>> I think that if this is ASF policy, then maybe we need to modify > the > > >>>> policy to meet the current ecosystem. Helm charts are made to handle > > >>>> complex deployments, and expecting a project to own every other > piece > > >> of > > >>>> their ecosystem is a pretty heavy burden. Is there some compromise > we > > >> can > > >>>> come to? Can we store certain pieces such as source code, > Dockerfile, > > >> and > > >>>> docker binary in some Apache cold storage to ensure they are > > >>> reproduceable? > > >>>>> > > >>>>> Ideally I'd just like to keep the burden on project maintainers to > a > > >>>> minimum. This could heavily discourage projects from creating > official > > >>> helm > > >>>> charts. > > >>>>> > > >>>>> > > >>>>> On 2020/09/04 15:05:56, Scott Rigby <sc...@r6by.com> wrote: > > >>>>>> Jarek, this is fantastic! Please let me know if I/we can help with > > >>>> this. The Helm team has written tools to make some of these > processes > > >>>> easier, including steps to preserve former git history, and GitHub > > >>> Actions > > >>>> for CI (chart testing) and CD (releasing chart version packages via > > >>> GitHub > > >>>> release artifacts). > > >>>>>> > > >>>>>> Bertrand, many orgs are adopting a git repo naming convention > > >>>> "helm-charts" to make this explicit. > > >>>>>> > > >>>>>> Fun follow-up question: a helm repo is really just an index (YAML) > > >>>> file of metadata in a format the helm client expects, including > links > > >> to > > >>>> packaged tarballs for each immutable version of a chart. The idea of > > >>> Apache > > >>>> mirror hosting is on the table, one issue we have is that the GCP > > >> object > > >>>> storage buckets that currently host all previous versions of stable > > and > > >>>> incubator repo charts will be deleted after support for these repos > > >> ends > > >>> on > > >>>> Nov 13th ( > > >>>> > > >>> > > >> > > > https://github.com/helm/charts/blob/master/README.md#deprecation-timeline > > >>> ). > > >>>> Would it be possible for Apache to host a mirror of all these > packages > > >>>> (note, they are all Apache licenced), or only chart packages related > > to > > >>>> Apache software (airflow, solr, spark, etc)? > > >>>>>> > > >>>>>> Scott > > >>>>>> > > >>>>>> On 2020/09/04 08:47:30, Jarek Potiuk <ja...@potiuk.com> wrote: > > >>>>>>> Big +1 for doing this within existing ASF infrastructure. Maybe > > >>>> indeed > > >>>>>>> current SVN publishing a release snapshot + mirroring is the > > >> best > > >>>> way. > > >>>>>>> > > >>>>>>> IMHO such 'released' charts do not have to have commit history at > > >>> all > > >>>>>>> (except 'release' commits) - just release 'snapshots' is enough. > > >>> For > > >>>> all > > >>>>>>> the other development uses, whatever the source repository is, > > >> you > > >>>> will be > > >>>>>>> able too install 'development' chart from the sources. > > >>>>>>> > > >>>>>>> Still having clear guidelines on how to approach Docker images > > >> and > > >>>>>>> 'rebuildability' by the users from sources is an important aspect > > >>>> IMHO. > > >>>>>>> J. > > >>>>>>> > > >>>>>>> pt., 4 wrz 2020, 10:15 użytkownik Bertrand Delacretaz < > > >>>>>>> bdelacre...@apache.org> napisał: > > >>>>>>> > > >>>>>>>> Hi, > > >>>>>>>> > > >>>>>>>> On Fri, Sep 4, 2020 at 9:22 AM Jarek Potiuk <ja...@potiuk.com> > > >>>> wrote: > > >>>>>>>>> ...I think having ASF "apache/chart" for all "officially > > >>>> released" helm > > >>>>>>>>> charts is the best solution.... > > >>>>>>>> > > >>>>>>>> Sounds like a good idea but please use a more specific name, > > >>>> "charts" > > >>>>>>>> is very generic. > > >>>>>>>> > > >>>>>>>> If distributing those Helm charts does not requires more than a > > >>> web > > >>>>>>>> server (with some metadata files I suppose) that can probably > > >> go > > >>>> in a > > >>>>>>>> specific folder under > > >>> https://dist.apache.org/repos/dist/release/ > > >>>>>>>> > > >>>>>>>> The next question is what kind of traffic is expected there, > > >> and > > >>>> can > > >>>>>>>> the clients which will download those Helm charts handle > > >>> redirects > > >>>> to > > >>>>>>>> distribution mirrors? If yes the mechanism of > > >>>>>>>> http://www.apache.org/dev/release-download-pages.html comes to > > >>>> mind, > > >>>>>>>> if you can piggyback on that mirroring infrastructure that's a > > >>> big > > >>>>>>>> plus IMO. > > >>>>>>>> > > >>>>>>>> I guess the way to move forward is for the people interested in > > >>>> this > > >>>>>>>> to list the technical and licensing/legal requirements on a > > >> wiki > > >>>> page > > >>>>>>>> or equivalent, to discuss with the ASF infrastructure team how > > >> to > > >>>> best > > >>>>>>>> support them. > > >>>>>>>> > > >>>>>>>> -Bertrand > > >>>>>>>> > > >>>>>>>> > > >>>> > --------------------------------------------------------------------- > > >>>>>>>> To unsubscribe, e-mail: dev-unsubscr...@community.apache.org > > >>>>>>>> For additional commands, e-mail: dev-h...@community.apache.org > > >>>>>>>> > > >>>>>>>> > > >>>>>>> > > >>>>>> > > >>>>>> > > >> --------------------------------------------------------------------- > > >>>>>> To unsubscribe, e-mail: dev-unsubscr...@community.apache.org > > >>>>>> For additional commands, e-mail: dev-h...@community.apache.org > > >>>>>> > > >>>>>> > > >>>>> > > >>>>> > --------------------------------------------------------------------- > > >>>>> To unsubscribe, e-mail: dev-unsubscr...@community.apache.org > > >>>>> For additional commands, e-mail: dev-h...@community.apache.org > > >>>>> > > >>>> > > >>>> > > >>>> -- > > >>>> Matt Sicker <boa...@gmail.com> > > >>>> > > >>>> > --------------------------------------------------------------------- > > >>>> To unsubscribe, e-mail: dev-unsubscr...@community.apache.org > > >>>> For additional commands, e-mail: dev-h...@community.apache.org > > >>>> > > >>>> > > >>> > > >> > > >> > > >> -- > > >> +48 660 796 129 > > >> > > > > > -- +48 660 796 129