[pkg-go] Bug#894131: Bug#894131: prometheus-alertmanager: New upstream release 0.14.0 available. Please package and backport to stretch.

Martín Ferrari tincho at tincho.org
Mon Mar 26 20:23:21 UTC 2018


Hi Daniel,

On 26/03/18 20:34, Daniel Swarbrick wrote:

> I was a bit too hasty in my previous reply. It appears that Alertmanager
> compresses and encodes all the web UI assets a Go "blob"
> (https://github.com/prometheus/alertmanager/blob/master/ui/bindata.go).
> Elm libraries are only needed if you intend to hack / develop the web UI.

Exactly. Prometheus itself does the same thing.

The approach I took was to remove the blob and patch the web serving
code to read the files directly from disk, and then to do al the JS
processing at build time from source.

I would do the same for alertmanager, but for that I need a working Elm
stack to generate the JS from source, otherwise it is a serious
violation of Debian policy.

> I just built a fully functional alertmanager binary from a git clone,
> with no Elm or Haskell or Node.js anywhere to be seen on my system. This
> is why I mistakenly thought that the aforementioned RPMs had stripped
> the UI completely, when in fact it is simply compiled into the
> alertmanager binary.
> 
> Does this simplify things somewhat? I suppose it just leaves the
> vendored Go libs as a possible sticking point.

Vendoring Go libs would not be a direct violation of policy, but it is
something we try hard to avoid as it becomes a maintenance problem.
Vendoring pre-generated pre-minified code, on the other hand, is not
possible in Debian, and that's how we ended in the current situation :-)

It is because of this that I thought of stripping the UI away, and
replacing it with something bare-bones. This would not be that difficult
to do, it is just a matter of writing some html and JS.

If you could help me with that, I would take care of integrating the
replacement UI, and I could get a new release out of the door pretty
quickly.


-- 
Martín Ferrari (Tincho)



More information about the Pkg-go-maintainers mailing list