From: "'MOESSBAUER, Felix' via isar-users" <isar-users@googlegroups.com>
To: "isar-users@googlegroups.com" <isar-users@googlegroups.com>
Cc: "Gylstorff, Quirin" <quirin.gylstorff@siemens.com>,
"Kiszka, Jan" <jan.kiszka@siemens.com>
Subject: Re: [PATCH v2 00/16] add support to build isar unprivileged
Date: Tue, 17 Mar 2026 18:41:55 +0000 [thread overview]
Message-ID: <6f5e70f4bffa0b21b3956f64d3699856bd2734a0.camel@siemens.com> (raw)
In-Reply-To: <20260227145716.3794146-1-felix.moessbauer@siemens.com>
On Fri, 2026-02-27 at 15:57 +0100, Felix Moessbauer wrote:
> Dear isar-users,
>
> currently isar requires password-less sudo and an environment
> where mounting file systems is possible. This has proven problematic
> for security reasons, both when running in a privileged container or
> locally.
>
> To solve this, we implement fully rootless builds that rely on the
> unshare syscall which allows us to avoid sudo and instead operate in
> temporary kernel namespaces as a user that is just privileged within
> that namespace. This comes with some challenges regarding the handling
> of mounts (they are cleared when leaving the namespace), as well as
> cross namespace deployments (the outer user might not be able to access
> the inner data). For that, we rework the handling of mounts and artifact
> passing to make it compatible with both chroot modes (schroot and
> unshare).
>
> Note, that this series can be tested on a custom kas-container build
> provided in [1]. Hints how to migrate downstream layers are provided
> in the API changelog.
>
Dear isar-users,
I'm currently waiting for the isar release and then plan to send out a
v3 that adds support for the cached-base-repo and src / dbg package
downloading. By that, the series should be feature complete.
The last remaining aspect I don't have a solution to (yet) is the
sbuild_dpkg_log_export in dpkg.bbclass. To me it looks like the dpkg
dump is generated but never consumed anywhere. If someone could guide
me how this is processed, I'll implement support for this as well.
We further need to clarify the interface between kas and isar. The
current proposal is as following:
In isar, the rootless mode is activated by setting ISAR_ROOTLESS = "1".
In kas, the rootless mode is selected by setting build_system: isar-
rootless, which then sets the ISAR_ROOTLESS bitbake variable. We need
this two-staged approach, as kas-container needs to be able to parse
the top-level kas file and extract the isar / isar-privileged / isar-
rootless mode so that it can start the container accordingly.
Best regards,
Felix
--
Siemens AG
Linux Expert Center
Friedrich-Ludwig-Bauer-Str. 3
85748 Garching, Germany
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/6f5e70f4bffa0b21b3956f64d3699856bd2734a0.camel%40siemens.com.
next prev parent reply other threads:[~2026-03-17 18:42 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-27 14:57 'Felix Moessbauer' via isar-users
2026-02-27 14:57 ` [PATCH v2 01/16] refactor bootstrap: store rootfs tar with user permissions 'Felix Moessbauer' via isar-users
2026-02-27 14:57 ` [PATCH v2 02/16] deb-dl-dir: export without root privileges 'Felix Moessbauer' via isar-users
2026-02-27 14:57 ` [PATCH v2 03/16] download debs without locking 'Felix Moessbauer' via isar-users
2026-02-27 14:57 ` [PATCH v2 04/16] introduce wrappers for privileged execution 'Felix Moessbauer' via isar-users
2026-02-27 14:57 ` [PATCH v2 05/16] bootstrap: move cleanup trap to function 'Felix Moessbauer' via isar-users
2026-02-27 14:57 ` [PATCH v2 06/16] rootfs: rework sstate caching of rootfs artifact 'Felix Moessbauer' via isar-users
2026-02-27 14:57 ` [PATCH v2 07/16] rootfs_generate_initramfs: rework deployment to avoid chowning 'Felix Moessbauer' via isar-users
2026-02-27 14:57 ` [PATCH v2 08/16] use bitbake function to generate mounting scripts 'Felix Moessbauer' via isar-users
2026-02-27 14:57 ` [PATCH v2 09/16] apt-fetcher: prepare for chroot specific fetching 'Felix Moessbauer' via isar-users
2026-02-27 14:57 ` [PATCH v2 10/16] add support for fully rootless builds 'Felix Moessbauer' via isar-users
2026-02-27 14:57 ` [PATCH v2 11/16] add helper script to clean artifacts in build dir 'Felix Moessbauer' via isar-users
2026-02-27 14:57 ` [PATCH v2 12/16] apt-fetcher: implement support for unshare backend 'Felix Moessbauer' via isar-users
2026-02-27 14:57 ` [PATCH v2 13/16] dpkg-source: implement multiarch " 'Felix Moessbauer' via isar-users
2026-02-27 14:57 ` [PATCH v2 14/16] use copy of sbom-chroot for sbom creation 'Felix Moessbauer' via isar-users
2026-02-27 14:57 ` [PATCH v2 15/16] add support for devshell on unshare backend 'Felix Moessbauer' via isar-users
2026-02-27 14:57 ` [PATCH v2 16/16] compat: handle user errors gracefully to avoid parser splat 'Felix Moessbauer' via isar-users
2026-03-17 18:41 ` 'MOESSBAUER, Felix' via isar-users [this message]
2026-03-18 6:02 ` [PATCH v2 00/16] add support to build isar unprivileged 'Jan Kiszka' via isar-users
2026-03-18 8:04 ` 'MOESSBAUER, Felix' via isar-users
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6f5e70f4bffa0b21b3956f64d3699856bd2734a0.camel@siemens.com \
--to=isar-users@googlegroups.com \
--cc=felix.moessbauer@siemens.com \
--cc=jan.kiszka@siemens.com \
--cc=quirin.gylstorff@siemens.com \
/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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox