Live data from Hacker News

We repurposed NPM to publish and distribute Go binaries for our internal CLI

medium.com

51–60 of 65 posts

Re: We repurposed NPM to publish and distribute Go binaries for our internal CLI

#53
At CERN we have an internal system to distribute software. It is mostly used to distribute software to production systems in the datacenters or to distribute nightlies and toolchains to developers. It replace standard package managers on most production systems.

It is a FUSE filesystem, where we can install software once and have it distributed to a practically unlimited number of clients thanks to a simple and performant cache system.

The filesystem is called CernVM-FileSystem, CVMFS for short.[1]

I maintain a public instance of it under https://packages.redbeardlab.com

It contains "common" software, like standard unix tools, compilers, webservers, etc...

I wrote a bit about it:

https://redbeardlab.com/2020/12/20/announcing-packages-redbe...

https://redbeardlab.com/2020/12/21/bootstrapping-packages-re...

https://redbeardlab.com/2020/12/21/packages-redbeardlab-com-...

https://redbeardlab.com/2020/12/23/packages-redbeardlab-com-...

[1]: https://cernvm.cern.ch/fs/

Re: We repurposed NPM to publish and distribute Go binaries for our internal CLI

#54
post #53

At CERN we have an internal system to distribute software. It is mostly used to distribute software to production systems in the datacenters or to distribute nightlies and toolchains to developers. It replace standard package managers on most production systems. It is a FUSE filesystem, where we can install software once and have it distributed to a practically unlimited number of clients thanks to a simple and perfo…

One of the best things about CVMFS is the idea of LCG views which are coherent installations of a large number of packages. This more or less eliminates the need for package management and guarantees that someone else can reproduce your environment.

It's like Stackage LTS releases, but everything's installed already.

Re: We repurposed NPM to publish and distribute Go binaries for our internal CLI

#56
There is obviously a need here that is not met by current tools.

I believe that Conda is the closest thing to an answer to this need.

It works on Windows, Mac and Linux. It supports packaging arbitrary binaries. It lets you specify dependencies that can be arbitrary libraries for arbitrary languages. And it has a relatively simple package format, build process, and repository format.

It's not the best piece of software when it comes to user experience, and its niche is still very much data science. But it is a glimpse of what should be possible, but is not currently available.

Re: We repurposed NPM to publish and distribute Go binaries for our internal CLI

#57
post #54
post #53

At CERN we have an internal system to distribute software. It is mostly used to distribute software to production systems in the datacenters or to distribute nightlies and toolchains to developers. It replace standard package managers on most production systems. It is a FUSE filesystem, where we can install software once and have it distributed to a practically unlimited number of clients thanks to a simple and perfo…

One of the best things about CVMFS is the idea of LCG views which are coherent installations of a large number of packages. This more or less eliminates the need for package management and guarantees that someone else can reproduce your environment. It's like Stackage LTS releases, but everything's installed already.

Unfortunately I am not familiar enough with LCG and LCGmake to actually build an outside-CERN release.

Fortunately Nix helped in creating the same coherent installation of packages.

Then `source /cvmfs/packages.redbeardbal.com/setup.sh` give you the same feel of an LCG view, but with more widespread packages.

Re: We repurposed NPM to publish and distribute Go binaries for our internal CLI

#59
post #46

Go supports native packages natively via go get, why the hell bring npm into the picture?!?

You'd use go get as a developer, not to update workstations and production machines.

Same applies to using npm on workstations and production machines.

Re: We repurposed NPM to publish and distribute Go binaries for our internal CLI

#60

Earlier quoted context omitted.

> "This is your last free member-only story this month. Sign up for Medium and get an extra one" Well, that's about the end of medium I think.

I wonder how “publishers” feel about that. I would feel rather angry if Medium dictated that people couldn’t access my blog posts.

But that's exactly what to expect when people donate their writings to a platform they have no control over. There are always those who need to learn the hard way.
Post reply on HN