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

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

    Comments

    • mbologna
      over 3 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
      over 3 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
      over 3 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
        over 3 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
          over 3 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
            over 3 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
              over 3 years ago by moio | Reply

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

          • moio
            over 3 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
              over 3 years ago by atgracey | Reply

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

    • joachimwerner
      over 3 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

    Enable the containerized Uyuni server to run on different host OS by j_renner

    Description

    The Uyuni server is provided ...


    ADS-B receiver with MicroOS by epaolantonio

    I would like to put one of my spare Raspberry P...


    Technical talks at universities by agamez

    Description

    This project aims to empower ...


    ClusterOps - Easily install and manage your personal kubernetes cluster by andreabenini

    Description

    ClusterOps is a Kubernetes ...


    Improve Development Environment on Uyuni by mbussolotto

    Description

    Currently create a dev environm...


    Extending KubeVirtBMC's capability by adding Redfish support by zchang

    Description

    In Hack Week 23, we delivered...


    Setup Kanidm as OIDC provider on Kubernetes by jkuzilek

    Description

    I am planning to upgrade my hom...


    A CLI for Harvester by mohamed.belgaied

    [comment]: # Harvester does not officially come...


    Install Uyuni on Kubernetes in cloud-native way by cbosdonnat

    Description

    For now installing Uyuni on K...


    Introducing "Bottles": A Proof of Concept for Multi-Version CRD Management in Kubernetes by aruiz

    Description

    As we delve deeper into the c...


    Edge Image Builder and mkosi for Uyuni by oholecek

    Description

    One part of [Uyuni system man...


    Improve Development Environment on Uyuni by mbussolotto

    Description

    Currently create a dev environm...


    Run local LLMs with Ollama and explore possible integrations with Uyuni by PSuarezHernandez

    Description

    Using Ollama you can easily run...


    Uyuni developer-centric documentation by deneb_alpha

    Description

    While we currently have exten...


    Install Uyuni on Kubernetes in cloud-native way by cbosdonnat

    Description

    For now installing Uyuni on K...


    Improve Development Environment on Uyuni by mbussolotto

    Description

    Currently create a dev environm...


    Testing and adding GNU/Linux distributions on Uyuni by juliogonzalezgil

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


    Saline (state deployment control and monitoring tool for SUSE Manager/Uyuni) by vizhestkov

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


    Cluster API Provider for Harvester by rcase

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


    Rancher/k8s Trouble-Maker by tonyhansen

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


    Enabling Rancher as an OIDC Provider by rcabello

    Description

    Kubernetes supports OpenID Conn...


    Introducing "Bottles": A Proof of Concept for Multi-Version CRD Management in Kubernetes by aruiz

    Description

    As we delve deeper into the c...


    CVE portal for SUSE Rancher products by gmacedo

    Description

    Currently it's a bit difficul...