Thomas, fully agree. :)

Rayson Ho, even with containers, distro packages are preferable. Its really 
difficult at the moment to ensure your containers don't have security 
vulnerabilities backed into them. None of the docker repo's I've seen really 
help you with automating this. The only trick I've found is to setup a jenkins 
server that tests a 'docker run -it --rm containername [apt-get upgrade -y || 
yum upgrade -y] periodically, check the results to see if it does anything, and 
if it does, force a rebuild of the container using the native tools. And then 
ensure you either get notified or have some kind of orchestration system that 
notices the new containers and does the right rolling upgrades for you.

This process gets much more complicated if your using, random language provided 
tool on top of the distro provided tools as there are increasing numbers of 
sources to check.

Thanks,
Kevin
________________________________________
From: Thomas Goirand [z...@debian.org]
Sent: Tuesday, May 10, 2016 5:01 PM
To: OpenStack Development Mailing List (not for usage questions)
Subject: Re: [openstack-dev] [tc] supporting Go

On 05/10/2016 04:19 PM, Rayson Ho wrote:
> I mentioned in earlier replies but I may as well mention it again: a
> package manager gives you no advantage in a language toolchain like Go

Oh... You mean just like in Python where we have pip, Perl where we have
CPAN, PHP where we have PEAR, or JavaScript where we have
gulp/npm/grunt/you-name-it?

Each and every language think it's "special" and that no distro should
be involved. Of course, the reality is different.

> IMO, the best use case of not using a package manager is when deploying
> into containers
> -- would you prefer to just drop a static binary of your
> Go code, or you would rather install "apt-get" into a container image,

For anything serious, the later, of course! The former is only for
hackers, calling themselves devs, who don't know about opts, playing and
thinking they're the cool guys. This fashion of "we're in a container,
so it's ok to do everything dirty" will soon be regarded by everyone as
one big mistake.

If you're using containers the wrong way, you loose:
1/ Version accountability
2/ Security audit
3/ Build reproducibility

Installing from $language manager instead of distro packages, be it in
containers or not, will almost always make you download random blobs
from the Internet, which are of course changing over time without any
notice, loosing the above 3 important features.

Cheers,

Thomas Goirand (zigo)


__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to