Is microOS stable enough for use in production?

Hey openSUSE folks :wave:,

I would like to use microOS as an OS for a Single Board Computer and configure it as a datalogger (no desktop environment). These dataloggers are installed on various remote locations and therefore I would like to avoid on-site repairs of broken operating systems. My hopes are that with microOS I can meet all my requirements (rolling release, transactional updates, automatic system configuration at installation). I only want to run a few programs in containers to log data.

I really like the concepts of microOS, but I was wondering if the project is still in a beta phase or if it is stable enough to use it in production. I couldn’t find any information about that.

My specific questions are:

  • Is microOS in general considered as stable for my use case (no desktop environment)?
  • Is especially BTRFS considered as stable? I used it a few years ago but did not have a good experience with it.
  • Is Combustion working reliable?
  • As the project is comparatively young, is everything well documented or is it a pain in the ass to configure everything and find related information?

Thanks in advance! :slightly_smiling_face:

Yes, even though i don’t use it. It updates automatically and rolls back if it detects something wrong during booting, plus its specifically designed to be zero-maintenance.

@Yannik Hi and welcome to the Forum :smile:
Perhaps a peruse here https://en.opensuse.org/Portal:MicroOS

I’ve been using btrfs for many years without problems…

I use Combustion (and also ignition) with vagrant and bare-metal (SelfInstall) images, works fine. I do have an open bug for my recent install https://bugzilla.opensuse.org/show_bug.cgi?id=1212959 but it can be worked around.

There is also Leap Micro which may fit your needs?

Best way, try it out on a test system… :wink:

1 Like

A fairly good example of a similar project.

1 Like

Thanks for your answers!

How would you guys recommend installing applications in my use case?

I think the documentation of microOS is lacking a site on Portal:MicroOS - openSUSE Wiki which describes how to install and update applications. Some open questions I have:

  • Can I only install applications with podman or also with the transactional-update command? Or is transactional-update only recommended for system packages? If no, where will these applications be installed?

  • I read at the documentation that there will be a systemd service set up at installation to update all packages with the transactional-update command automatically with atomic updates and rollbacks etc. Is it also pre-configured that all podman containers will be updated? I never used podman before, but read at What is Podman? (redhat.com):

    Automatically update containers. Podman detects if an updated container fails to start and automatically rolls back to the last working version.

    Is this configured by default or do I have to set-up podman manually to get automatic updates with rollbacks etc.?

@Yannik I see the following;

systemctl status rebootmgr

â—Ź rebootmgr.service - Reboot Manager
     Loaded: loaded (/usr/lib/systemd/system/rebootmgr.service; enabled; preset: enabled)
     Active: active (running) since Wed 2023-07-05 06:54:48 CDT; 4min 6s ago
       Docs: man:rebootmgrd(8)
             man:rebootmgrctl(1)
   Main PID: 1320 (rebootmgrd)
      Tasks: 1 (limit: 4915)
        CPU: 5ms
     CGroup: /system.slice/rebootmgr.service
             └─1320 /usr/sbin/rebootmgrd

Jul 05 06:54:48 kermit systemd[1]: Starting Reboot Manager...
Jul 05 06:54:48 kermit systemd[1]: Started Reboot Manager.

rebootmgrctl get-window
Maintenance window is set to *-*-* 03:30:00, lasting 01h30m.

So I can manually perform a transactional-update dup, then at 3:30am the system should reboot…

I would look at using podman as a user, not system wide. Then also look at distrobox, AFAIK the goal is to only use system rpms as a last resort, but I do think that depends on the use case…