Deploy Uyuni as an app from the Rancher marketplace - or install via Helm on any Kubernetes cluster, on any OS, or any Public Cloud.

The dream

Allow Uyuni to be installable as "app": a Helm chart containerized application which can run on any K8s cluster, ideally from the Rancher Marketplace.

Fake screenshot of Uyuni appearing in the Rancher marketplace

It is a long road to get there, and this HackWeek project is to get started.

Project coordination is on the Wiki project page

Looking for hackers with the skills:

containers kubernetes k8s k3s helm uyuni susemanager rancher

This project is part of:

Hack Week 20

Activity

  • almost 2 years ago: dmaiocchi liked this project.
  • almost 2 years ago: RDiasMateus joined this project.
  • almost 2 years ago: PSuarezHernandez liked this project.
  • almost 2 years ago: oscar-barrios liked this project.
  • almost 2 years ago: oscar-barrios left this project.
  • almost 2 years ago: kmetz joined this project.
  • almost 2 years ago: dancermak liked this project.
  • almost 2 years ago: moio added keyword "containers" to this project.
  • almost 2 years ago: moio added keyword "kubernetes" to this project.
  • almost 2 years ago: moio added keyword "k8s" to this project.
  • almost 2 years ago: moio added keyword "k3s" to this project.
  • almost 2 years ago: moio added keyword "helm" to this project.
  • almost 2 years ago: moio added keyword "uyuni" to this project.
  • almost 2 years ago: moio added keyword "susemanager" to this project.
  • almost 2 years ago: moio added keyword "rancher" to this project.
  • almost 2 years ago: RDiasMateus liked this project.
  • almost 2 years ago: pagarcia liked this project.
  • almost 2 years ago: j_renner liked this project.
  • almost 2 years ago: j_renner joined this project.
  • almost 2 years ago: mbologna liked this project.
  • almost 2 years ago: ktsamis liked this project.
  • almost 2 years ago: mcalmer joined this project.
  • almost 2 years ago: oscar-barrios joined this project.
  • almost 2 years ago: moio started this project.
  • almost 2 years ago: moio liked this project.
  • All Activity

    Comments

    • mbologna
      almost 2 years ago by mbologna | Reply

      I started an attempt some years ago:

      https://gitlab.suse.de/mbologna/sumadocker/-/tree/saltcontainer

      You can use this as a starting point: it was working as a fat container.

    • j_renner
      almost 2 years ago by j_renner | Reply

      In case we wanted to build the containers in OBS, which would be my suggestion, there is some examples here of development containers we built so far, for example one that includes the database:

      https://build.opensuse.org/project/show/systemsmanagement:Uyuni:Master:Docker

    • pagarcia
      almost 2 years ago by pagarcia | Reply

      What does this mean? "we will need a solution about commandline tools. Would it be possible to create a UI around them like Rancher does?"

      Do you mean in order to avoid connecting to the container to run those CLI tools in there?

      One alternative would be to build such a UI but you still have the problem this still gives you access to the "internals" of Uyuni. Ideally, we want to use the CLI tools remotely (connecting to Uyuni, Salt, database or whatever, always via single ingress endpoint), or even to replace them with proper WebUI, API, etc calls.

      • moio
        almost 2 years ago by moio | Reply

        Yes, the point is that there is no way to "connect to a container", unless the container runs sshd which is not the norm. One can spin up a container with just one commandline tool inside (example) but that might be cumbersome or not possible depending on the tool.

        In principle, one wants any commandline tool's functionality to be equivalently exposed via a Web UI, which is of course a good long-term goal.

        In the meantime, a stopgap solution could be to offer some commandline tools inside a text area in the Web UI. That won't be a proper shell (say, bash), but something tailored to the app such as our spacecmd. Rancher does something similar with kubectl.

        Note that I am not even convinced this is the best solution for this case here, it's just something that could be viable to speed things up.

        • pagarcia
          almost 2 years ago by pagarcia | Reply

          I see your point. Makes sense. Maybe Ricardo's uyuni-cli can help here, otherwise there's a ton of tools to enable via WebUI.

          Another alternative would be to make all the CLI tools work remotely. Some of them already do.

          Another important case: logs. How to view them? Add them to the WebUI? Some tool to show logs remotely? Another thing to add to uyuni-cli?

          • atgracey
            almost 2 years ago by atgracey | Reply

            Another way to offer CLI tools is to build a container that gets run as a sidecar and can be turned on or off depending on context. Then if you wanted to give easy access, you could also package code-server in that tools container to give a nice IDE/terminal access in the browser.

            Eventually, K8s will offer ephemeral containers (alpha currently) and this would be even easier and more secure.

            (sorry if this gets duplicated, I apparently wasn't logged in while commenting the first attempt)

            • moio
              almost 2 years ago by moio | Reply

              That's also an interesting possibility, definitely something to consider, thanks!

          • moio
            almost 2 years ago by moio | Reply

            In a K8S environment, you expect the framework itself to take care of logs. It's similar to systemd - you just dump them all to stdout and then the framework handles it for you.

            Of course we might end up with fatter-than-ideal containers which contain multiple servers, and then we will need to expose logs in another way. The starting point will be a mounted directory inside of the container, then we can assess how big of a problem we actually have.

            In any case: it's a problem bleeping both under my radar and MC's!

            • atgracey
              almost 2 years ago by atgracey | Reply

              Loki can let you stream logs based on a set selector labels. https://grafana.com/oss/loki/

    • joachimwerner
      almost 2 years ago by joachimwerner | Reply

      I played with Rancher in my own hack week project, and I came up with that exact same idea, just to realize that you guys have already been working on it. add-emoji

      After this hack week, how far do you think you are away from a working helm-installable Uyuni server demo? Another hack week? Or is this a major undertaking?

    Similar Projects

    Generic Wrangler Controllers by kjoiner

    [comment]: # (Please use the project descriptio...


    Man pages in a container by doreilly

    [comment]: # (Please use the project descriptio...


    Real-time container runtime support by a_faerber

    [comment]: # (Please use the project descriptio...


    Hack on project MONAI (Medical Open Network for Artificial Intelligence) by jordimassaguerpla

    Project Description

    MONAI is a set of o...


    Run sandboxed Firefox with image and sound inside a container by nguyens

    [comment]: # (Please use the project descriptio...


    Samba in Kubernetes (for openSUSE) by dmulder

    [comment]: # (Please use the project descriptio...


    Containerized git server/client for playground and tutorials by mberti

    [comment]: # (Please use the project descriptio...


    K3S Control Planes as a service by ademicev0

    [comment]: # (Please use the project descriptio...


    operator for s3gw by gbaccini

    Project Description

    Create a K8s CRD for ...


    Hack on project MONAI (Medical Open Network for Artificial Intelligence) by jordimassaguerpla

    Project Description

    MONAI is a set of o...


    Vai: a Kubernetes API accelerator/cache by moio

    ![Kubernetes API caching layer according to Sta...


    K3S Control Planes as a service by ademicev0

    [comment]: # (Please use the project descriptio...


    Humidity sensors with dashboard by joachimwerner

    Build a network of ("edge") humidity sensors...


    Learn about kubernetes by creating a k3s HA setup by rsimai

    This is mostly a learning activity for myself, ...


    Hack on project MONAI (Medical Open Network for Artificial Intelligence) by jordimassaguerpla

    Project Description

    MONAI is a set of o...


    Real-time container runtime support by a_faerber

    [comment]: # (Please use the project descriptio...


    Rancher Token Revoker by mbolot

    [comment]: # (Please use the project descriptio...


    Humidity sensors with dashboard by joachimwerner

    Build a network of ("edge") humidity sensors...


    Hack on project MONAI (Medical Open Network for Artificial Intelligence) by jordimassaguerpla

    Project Description

    MONAI is a set of o...


    Testing and adding GNU/Linux distributions on Uyuni by juliogonzalezgil

    Join the Gitter channel! [https://gitter.im/uy...


    Deploy Uyuni proxy using Elemental and Fleet by cbosdonnat

    Project Description

    Now that Uyuni proxy ...


    Improve OpenSCAP support in Uyuni by admehmood

    [comment]: # (Please use the project descriptio...


    Uyuni test suite improvements by dgedon

    Project Description

    Uyuni is the upstream...


    Create tool to analyze supportconfig to spot common SUSE Manager issues by cbosdonnat

    [comment]: # (Please use the project descriptio...


    UYUNI - synchronize content between registry servers by RDiasMateus

    [comment]: # (Please use the project descriptio...


    Create tool to analyze supportconfig to spot common SUSE Manager issues by cbosdonnat

    [comment]: # (Please use the project descriptio...


    Code Coverage of spacewalk-java aka Suma Server after a full TestSuite execution by oscar-barrios

    Project Description

    GitHub Card: http...


    Spike about integrating Trento in SUMA by oscar-barrios

    Project Description

    • I would like to lea...


    Container images for building the Uyuni docs by juliogonzalezgil

    Project Description

    The Uyuni doc require...


    Rancher Manager of Managers with KCP by rcase

    [comment]: # (Please use the project descriptio...


    Generic Wrangler Controllers by kjoiner

    [comment]: # (Please use the project descriptio...


    Rancher QA Blog Space by jamcghee

    [comment]: # (Please use the project descriptio...


    K3S Control Planes as a service by ademicev0

    [comment]: # (Please use the project descriptio...


    Rancher Token Revoker by mbolot

    [comment]: # (Please use the project descriptio...