From: Giovanni Biscuolo <g@xelera.eu>
To: Joshua Marshall <j.marshall@arroyo.io>, guix-devel@gnu.org
Subject: Re: Feature requests
Date: Mon, 25 Mar 2019 10:40:00 +0100 [thread overview]
Message-ID: <87sgvbz40f.fsf@roquette.mug.biscuolo.net> (raw)
In-Reply-To: <CABDhO3CHXEhU2dCq1urujRfbVKKdaaynGRJ9MLHkPzeRWy+8KA@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3059 bytes --]
Hi Joshua,
Joshua Marshall <j.marshall@arroyo.io> writes:
[...]
> I'd like to see it take on
> the ability to have a per-installation target cgroup, network namespace,
> and filesystem chroot settings set with defaults which are overridable at
> invocation.
me too and the only missing point above (AFAIU) is network isolation for
Guix containers, I mean one created via `guix environment` or `guix
system container`)
having that, the "last mile" in *obsoleting* tools like Docker &
Co. (e.g. kubernetes, even openstack probably) is to have a declarative
way to setup containers, something like `containers.<name>` from NixOS
[1]
...and a set of Guix services to declaratively `scale out` an
infrastrtucture: a layer 4+7 proxy (e.g. haproxy, missing in Guix),
Software Defined Network (openvswitch, got it!), Software Defined
Storage (ceph: we have the pachage but missing the service AFAIU)
anyway: containers are here to solve infrastructural problems, not
development environments problems :-)
[1] https://nixos.org/nixos/manual/index.html#sec-declarative-containers
> In this way, a user could install and use packages with
> mutually incompatible dependencies (I talked about this with a few people
> on IRC) like what happens with python. If this kind of functionality were
> added, it would largely supplant Docker,
you cited Docker so I guess you are using containers as a mean to
isolate *development environment* each other and from the *production
environment*, not to build an insfrastructure of isolated set of
processes (including networking layer) - let's call them nodes -
possibly distributed on several hosts
in this thread Julien already explained how to achieve this with `guix
environment`: with Guix (and Nix, the *only* other sofware natively
permitting this) you don't need to install a container to have
*isolated* development environments
AFAIU in *many*, many, many use cases containers (Docker, LXC and so on)
are _not_ used as an infrastructural component but as a development
tool: Guix obsoletes this thanks to its native isolated environments
(made possible by The Store)
I hope more and more developers will realize this since this is
_for_sure_ a big win for the entire free software community (no more
python virtualenv clones, *please*)
> virtualenv, pip, poetry, apk,
> pacman, and probably a few other tools at my company which are there just
> to handle this kind of frailness.
`guix environment` and the package definition programming interface [2]
(it's really easy to learn, believe me :-) ) are your best friends here
you can even `guix pack` sofware bundles (e.g. in Docker format) and
distribute it to your internal/external customers who are still not able
to use Guix to install them
[2] https://www.gnu.org/software/guix/manual/en/html_node/Defining-Packages.html#Defining-Packages
[...]
HTH to better explain how development works in a Guix environment :-)
Gio
--
Giovanni Biscuolo
Xelera IT Infrastructures
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
next prev parent reply other threads:[~2019-03-25 9:40 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-22 17:47 Feature requests Joshua Marshall
2019-03-22 22:30 ` Julien Lepiller
2019-03-23 14:01 ` Joshua Marshall
2019-03-23 14:36 ` Julien Lepiller
2019-03-25 9:40 ` Giovanni Biscuolo [this message]
2019-03-25 17:38 ` Joshua Marshall
2019-03-26 17:19 ` Declarative containers Ludovic Courtès
2019-03-26 21:49 ` Giovanni Biscuolo
2019-03-27 11:18 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87sgvbz40f.fsf@roquette.mug.biscuolo.net \
--to=g@xelera.eu \
--cc=guix-devel@gnu.org \
--cc=j.marshall@arroyo.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).