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

    Comments

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

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

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

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

    • joachimwerner
      almost 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

    Building a container bootloader by flonnegren

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


    Package MONAI Machine Learning Models for Medical Applications by jordimassaguerpla

    Project Description

    MONAI Deploy aims to ...


    Exploring DPDK within containers by paolodepa

    Project Description

    Containerization is h...


    Containerized home mirror by lkocman

    I'm running a simple home mirror, but I managed...


    Hangar: tool for mirror container images & generate rancher image lists. by StarryWang

    Project Description

    Hangar is a tool for ...


    RKE2/K3S working on IBM Power by tkelly

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


    A CLI for Harvester by mohamed.belgaied

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


    mikrolite - a cli to create lighweight Kubernetes clusters using microvms by rcase

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


    Predefined app security policy template for NeuVector by feih

    Project Description

    Idea is to predefin...


    RKE2/K3S working on IBM Power by tkelly

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


    Rancher Upgrader - Upgrades your rancher install via helm, and communicates critical changes from release A to B. by rweir

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


    Hangar: tool for mirror container images & generate rancher image lists. by StarryWang

    Project Description

    Hangar is a tool for ...


    A CLI for Harvester by mohamed.belgaied

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


    HAKube UI plugin for Rancher by epenchev

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