Hi all,

This is a simple proposal / heads up about adding some basic "mirror
plugins" to the buildstream-plugins repo.


After implementing and merging the Mirror plugins proposals: 

  https://lists.apache.org/thread/6rzvd3fd162p8653wyhwdkcy4k5h7k0h
  https://lists.apache.org/thread/nlcyvopoqrt3ngkhjrrk7hpnp05b7ndb


We've been playing with these in practice, and find ourselves in a bind
where we really want to have some mirror plugins in the upstream
blessed plugin repository.

Since we usually recommend and use the junction method of loading
plugins:

  https://docs.buildstream.build/master/format_project.html#junction-plugins  

We find ourselves with a circular dependency when we want to build
projects from strictly on premise mirrored sources, including plugins
(if we need the mirror plugins to load the mirror plugins, that is a
bit problematic). 

So we are intending to add the two plugins we've been using to
upstream, this way we can bake in `buildstream-plugins` in our build
images (docker / podman) and access them as `pip` plugins, with the
confidence that these are going to be API stable at least.

This is the relevant MR:

  https://github.com/apache/buildstream-plugins/pull/80


The two plugins are:

  SimpleMirror: Allows more flexible formatting of the URL, over simple
                source aliasing

  GitlabLfsMirror: A source mirror which uses gitlab restful APIs to
                   download tarballs and such which have been mirrored 
                   to a gitlab project repository.


Aside from the fact that buildstream-plugins CI is currently failing
due to problems in the infra (we expect that we are not getting the
appropriate privileged runners for the plugins repo which we are using
for the buildstream repo), we expect to be merging these soon, barring
any pushback from other contributors.

Cheers,
    -Tristan
 

Reply via email to