On Wed, Feb 7, 2018 at 4:45 PM, Dusty Mabe <du...@dustymabe.com> wrote:

> Note: I copied this email to the atomic-devel@projectatomic.io list. The
> ato...@lists.fedoraproject.org is mainly meant for automated emails.
>
> Thanks, I didn't realize that.


>
> On 02/07/2018 09:27 AM, Elad Alfassa wrote:
> > Hi all,
>
> Hi Elad!
>
> >
> > I have some questions regarding Fedora Atomic Workstation:
> >
> > 1) How do 3rd party repositories (such as ones providing nonfree
> drivers, which obviously can't be containerized) work with rpm-ostree?
> > If our end goal is for users to be able to use Fedora Atomic Workstation
> for every usecase they use Fedora Workstation for today, we need a plan for
> this.
>
> You can add a yum repo file into /etc/yum.repos.d/ and install software
> via `rpm-ostree install pkg.name.rpm`, which will pull the software from
> the 3rd party yum repositories. There are some issues with say kernel
> modules that need DKMS, but most rpms will work fine.
>

Oh, great! for some reason I assumed rpm-ostree can only download
pre-composed trees from Fedora.
In the future it might be worth to add some sort of compatibility wrapper
around "dnf install" (and such) like dnf has for yum - to show a message to
let you know that tool is "deprecated" and that rpm-ostree is what they
need to use now. Otherwise people might get confused about "how do I
install anything? non of the tools I'm used to are here".

>
> > 4) If I have a container for development, this means that I have to have
> two copies of coreutils, openssh, and most system libraries/utilities.
> >
> > One copy, the "host", is updated by rpm-ostree. But what about the copy
> on the container? I'll have to remember to manually rebuild it on every
> update, or manually run "dnf update" in the container, which is not ideal
> (i'll probably forget, and end up running insecure/buggy software).
>
> >
> > Would it be possible to build a container based on the host filesystem
> in such a way that all basic system libraries and utilities are accessible
> directly (not as a copy) for the container? Alternatively, would some
> mechanism for automatic re-building of the container images after every
> ostree update is done can be created?
>
> To date we haven't really explored this option as much. I have talked
> about it with Colin before and I like to call this type of container a
> 'host context' container. The idea is pretty much everything is shared with
> the host as well as a small overlay of packages that are specific to the
> current context you are in. You could have many contexts. Either way there
> will still be parts in each context that would still need to be
> updated/managed.


At the moment, I can have auto-updates for my host system and for my
Flatpaks, but there's no real mechanism to update containers. I assume
people will not be happy if we just automatically run "dnf update" inside
all their containers, but if you have a lot of "contexts" you'll have to
update all of them yourself.
I'm not sure what's the best approach here, but ideally I think the aim
should be for as little "maintenance overhead" as possible. If you have to
maintain your pet containers and update them manually, you're either going
to spend a lot of time on this, or not bother at all and run insecure
software.

Building on this "contexts" idea, maybe a "context" could be some sort of a
"managed container"  that will be automatically updated when you update
your host (both via graphical or cli tools)? Or at least give you a message
when you switch into that context suggesting you install security updates.



> >
> > 5) Do we expect every developer using Fedora to write their own
> Dockerfile / Buildah script for their development environment? I think
> that's a bit too much overhead and we need to at least have a utility to
> automatically generate these based on some common configurations, and the
> usage might look something like
> > create_dev_container --langauges=rust,python,c
> --additional-packages=ffmpeg
>
> interesting idea. we haven't really fleshed that out yet. most people are
> building their own pet containers because most peoples environments can be
> pretty unique to them.
>
>
Yeah, but even if you build a "pet container", you have to start somewhere.
If we have a tool to get you started more quickly, it could have a set of
reasonable, opinionated defaults that you can later add upon (either by
editing the Dockerfile / script that will be created by this command or by
running dnf on the newly created container).
I think I'm going to make a proof of concept for this later, to see if
people are interested in such a tool.

In case this is not clear, I'm not asking these questions just because I
just want to *use* Atomic Workstation, but also because I want to
contribute and help make it better.
-- 
-Elad.

Reply via email to