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

  • 6 months ago: dmaiocchi liked this project.
  • 6 months ago: RDiasMateus joined this project.
  • 6 months ago: PSuarezHernandez liked this project.
  • 6 months ago: oscar-barrios liked this project.
  • 6 months ago: oscar-barrios left this project.
  • 6 months ago: kmetz joined this project.
  • 6 months ago: dancermak liked this project.
  • 7 months ago: moio added keyword "containers" to this project.
  • 7 months ago: moio added keyword "kubernetes" to this project.
  • 7 months ago: moio added keyword "k8s" to this project.
  • All Activity

    Comments

    • mbologna
      7 months 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
      7 months 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
      7 months 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
        7 months 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
          6 months 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
            6 months 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
              6 months ago by moio | Reply

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

          • moio
            6 months 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
              6 months ago by atgracey | Reply

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

    • joachimwerner
      6 months 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

    Rancher & Gardener: Stronger Together by mlnoga

    Project Description

    Gardener is SAP's por...


    Near-zero downtime upgrades for stateful services with Rancher by mlnoga

    Project Description

    Containers are great ...


    multipath-tools: improve CI by mwilck

    Project Description

    multipath-tools is ...


    Hack current YES Certification SCK with containers and/or public cloud, seperately SLE Micro by Jackman1

    Project Description

    Using beta SCK 8.6, att...


    Migrate suntorytimed/resourcespace container to an openSUSE base by suntorytimed

    Project Description

    For quite some time I a...


    Bridle - Terraform remote backend in Kubernetes by nroberts

    Project Description

    Terraform's remote back...


    Workadventu.re at SUSE by jevrard

    For events like engineering summit or hackweeks...


    FuseML - accelerate your Hack Week ML projects by stefannica

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


    WASM Serverless by davidko

    Project Description

    Support WASM serverle...


    Test drive some Kubernetes network plugins by doreilly

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


    Get familiar with k3s by riafarov

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


    Family with Lightweight Kubernetes - K3s + Kebuvirt by xguo

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


    Exploring the Possibilities of Image Build and Management without Docker by jblainchristen

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


    Workadventu.re at SUSE by jevrard

    For events like engineering summit or hackweeks...


    Testing and adding GNU/Linux distributions on Uyuni by juliogonzalezgil

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


    Uyuni/SUSE Manager: Windows client support by pagarcia

    I'll continue the effort I started at last Hack...


    The Typescript Game by Etheryte

    Project Description

    Uyuni recently made t...


    Uyuni/SUSE Manager: build Python APE and a Salt+Python bundle to support ANY client operating system by pagarcia

    Uyuni/SUSE Manager build client tools for each ...


    Localize Uyuni - SUSE Manager in Italian by deneb_alpha

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


    Uyuni/SUSE Manager: Windows client support by pagarcia

    I'll continue the effort I started at last Hack...


    On-demand notification using spacewalk (SUMA) API by atighineanu

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


    Testing and adding GNU/Linux distributions on Uyuni by juliogonzalezgil

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


    Uyuni/SUSE Manager: build Python APE and a Salt+Python bundle to support ANY client operating system by pagarcia

    Uyuni/SUSE Manager build client tools for each ...


    Raspberry Pi and SUSE Manager by e_bischoff

    I have bought a Raspberry Pi 400 and would like...


    Zero Trust vSphere Provisioning from Rancher by wjimenez

    Currently, when Rancher tries to provision a Ku...


    Near-zero downtime upgrades for stateful services with Rancher by mlnoga

    Project Description

    Containers are great ...


    Rancher Releases by jpayne

    Project Description

    Releasing rancher is ...


    Rancher and cf-on-k8s by mgrifalconi

    Project Description

    Cloud Foundry For Kuber...


    Rancher & Gardener: Stronger Together by mlnoga

    Project Description

    Gardener is SAP's por...