The idea is to create a bootable medium (eg. pendrive) that allows:

  • Selection of either SLES, Leap or Tumbleweed.
  • Autoinstallation of the OS.
  • NIS setup if workstation, unison/sync setup if laptop.
  • Corporate VPN setup in the default desktop (GNOME).
  • Thunderbird setup.
  • IRC setup (eg. X-chat GNOME).
  • Shortcuts.
  • Browser bookmarks, intranet or bookmark page as home-page.
  • Mumble
  • VoIP
  • etc

The goal is to have the employee being to work and participate from day #1. More unusual customisations can be done by the employee later (alternative WMs, mail clients, etc).

Implementation ideas:

  • Create a Salt formula that can be managed as an integral opensource project and enhanced over time.
    • Initial test infrastructure with terraform/vagrant so that it can be run in a VM or dry-run mode.
  • Enhance YaST/AutoYaST to be able to apply the formula at boot/firstboot (a project on its own)

Looking for hackers with the skills:

salt saltstack autoyast boot linux

This project is part of:

Hack Week 15 Hack Week 16

Activity

  • over 7 years ago: okurz liked this project.
  • about 8 years ago: jbyers left this project.
  • about 8 years ago: dmaiocchi liked this project.
  • about 8 years ago: TBro liked this project.
  • about 8 years ago: ancorgs liked this project.
  • about 8 years ago: mlin7442 liked this project.
  • about 8 years ago: paper318 liked this project.
  • about 8 years ago: paper318 joined this project.
  • about 8 years ago: jbyers joined this project.
  • about 8 years ago: jbyers liked this project.
  • about 8 years ago: dmaiocchi disliked this project.
  • over 8 years ago: teclator liked this project.
  • over 8 years ago: dmacvicar joined this project.
  • almost 9 years ago: dmaiocchi liked this project.
  • almost 9 years ago: dmaiocchi liked this project.
  • almost 9 years ago: dmaiocchi liked this project.
  • almost 9 years ago: dmaiocchi liked this project.
  • almost 9 years ago: dmaiocchi liked this project.
  • almost 9 years ago: dmaiocchi liked this project.
  • almost 9 years ago: dmaiocchi disliked this project.
  • almost 9 years ago: dmaiocchi liked this project.
  • almost 9 years ago: mbologna started this project.
  • almost 9 years ago: joachimwerner liked this project.
  • almost 9 years ago: diegoakechi liked this project.
  • almost 9 years ago: mbologna liked this project.
  • All Activity

    Comments

    • joachimwerner
      almost 9 years ago by joachimwerner | Reply

      Duncan, would the YaST/AutoYaST approach be mandatory? I'm thinking of an image-based install (via Kiwi's OEM USB image) plus Salt as an alternative. May be a bit less flexible with detecting all the hardware, but easier to maintain. The image would only have to be minimal, because all other patterns/packages can be installed later from a Salt state.

    • cschum
      almost 9 years ago by cschum | Reply

      Mauro also has looked into that topic as part of our setup of developer work stations for Cloud Foundry development. Maybe there is some synergy?

    • lrupp
      about 8 years ago by lrupp | Reply

      Providing an OBS image should be possible as well as providing the needed autoyast profiles. Just ping the DevOPS team once you finished, so we can populate your results :-)

      Additional topic: think about the differences between our offices ... ;-)

    Similar Projects

    Testing and adding GNU/Linux distributions on Uyuni by juliogonzalezgil

    Join the Gitter channel! https://gitter.im/uyuni-project/hackweek

    Uyuni is a configuration and infrastructure management tool that saves you time and headaches when you have to manage and update tens, hundreds or even thousands of machines. It also manages configuration, can run audits, build image containers, monitor and much more!

    Currently there are a few distributions that are completely untested on Uyuni or SUSE Manager (AFAIK) or just not tested since a long time, and could be interesting knowing how hard would be working with them and, if possible, fix whatever is broken.

    For newcomers, the easiest distributions are those based on DEB or RPM packages. Distributions with other package formats are doable, but will require adapting the Python and Java code to be able to sync and analyze such packages (and if salt does not support those packages, it will need changes as well). So if you want a distribution with other packages, make sure you are comfortable handling such changes.

    No developer experience? No worries! We had non-developers contributors in the past, and we are ready to help as long as you are willing to learn. If you don't want to code at all, you can also help us preparing the documentation after someone else has the initial code ready, or you could also help with testing :-)

    The idea is testing Salt and Salt-ssh clients, but NOT traditional clients, which are deprecated.

    To consider that a distribution has basic support, we should cover at least (points 3-6 are to be tested for both salt minions and salt ssh minions):

    1. Reposync (this will require using spacewalk-common-channels and adding channels to the .ini file)
    2. Onboarding (salt minion from UI, salt minion from bootstrap scritp, and salt-ssh minion) (this will probably require adding OS to the bootstrap repository creator)
    3. Package management (install, remove, update...)
    4. Patching
    5. Applying any basic salt state (including a formula)
    6. Salt remote commands
    7. Bonus point: Java part for product identification, and monitoring enablement
    8. Bonus point: sumaform enablement (https://github.com/uyuni-project/sumaform)
    9. Bonus point: Documentation (https://github.com/uyuni-project/uyuni-docs)
    10. Bonus point: testsuite enablement (https://github.com/uyuni-project/uyuni/tree/master/testsuite)

    If something is breaking: we can try to fix it, but the main idea is research how supported it is right now. Beyond that it's up to each project member how much to hack :-)

    • If you don't have knowledge about some of the steps: ask the team
    • If you still don't know what to do: switch to another distribution and keep testing.

    This card is for EVERYONE, not just developers. Seriously! We had people from other teams helping that were not developers, and added support for Debian and new SUSE Linux Enterprise and openSUSE Leap versions :-)

    Pending

    In progress

    FUSS

    FUSS is a complete GNU/Linux solution (server, client and desktop/standalone) based on Debian for managing an educational network.

    https://fuss.bz.it/

    Seems to be a Debian 12 derivative, so adding it could be quite easy.

    • [W] Reposync (this will require using spacewalk-common-channels and adding channels to the .ini file)
    • [W] Onboarding (salt minion from UI, salt minion from bootstrap script, and salt-ssh minion) (this will probably require adding OS to the bootstrap repository creator) --> Working for all 3 options (salt minion UI, salt minion bootstrap script and salt-ssh minion from the UI).
    • [W] Package management (install, remove, update...) --> Installing a new package works, needs to test the rest.
    • [I] Patching (if patch information is available, could require writing some code to parse it, but IIRC we have support for Ubuntu already). No patches detected. Do we support patches for Debian at all?
    • [W] Applying any basic salt state (including a formula)


    Testing and adding GNU/Linux distributions on Uyuni by juliogonzalezgil

    Join the Gitter channel! https://gitter.im/uyuni-project/hackweek

    Uyuni is a configuration and infrastructure management tool that saves you time and headaches when you have to manage and update tens, hundreds or even thousands of machines. It also manages configuration, can run audits, build image containers, monitor and much more!

    Currently there are a few distributions that are completely untested on Uyuni or SUSE Manager (AFAIK) or just not tested since a long time, and could be interesting knowing how hard would be working with them and, if possible, fix whatever is broken.

    For newcomers, the easiest distributions are those based on DEB or RPM packages. Distributions with other package formats are doable, but will require adapting the Python and Java code to be able to sync and analyze such packages (and if salt does not support those packages, it will need changes as well). So if you want a distribution with other packages, make sure you are comfortable handling such changes.

    No developer experience? No worries! We had non-developers contributors in the past, and we are ready to help as long as you are willing to learn. If you don't want to code at all, you can also help us preparing the documentation after someone else has the initial code ready, or you could also help with testing :-)

    The idea is testing Salt and Salt-ssh clients, but NOT traditional clients, which are deprecated.

    To consider that a distribution has basic support, we should cover at least (points 3-6 are to be tested for both salt minions and salt ssh minions):

    1. Reposync (this will require using spacewalk-common-channels and adding channels to the .ini file)
    2. Onboarding (salt minion from UI, salt minion from bootstrap scritp, and salt-ssh minion) (this will probably require adding OS to the bootstrap repository creator)
    3. Package management (install, remove, update...)
    4. Patching
    5. Applying any basic salt state (including a formula)
    6. Salt remote commands
    7. Bonus point: Java part for product identification, and monitoring enablement
    8. Bonus point: sumaform enablement (https://github.com/uyuni-project/sumaform)
    9. Bonus point: Documentation (https://github.com/uyuni-project/uyuni-docs)
    10. Bonus point: testsuite enablement (https://github.com/uyuni-project/uyuni/tree/master/testsuite)

    If something is breaking: we can try to fix it, but the main idea is research how supported it is right now. Beyond that it's up to each project member how much to hack :-)

    • If you don't have knowledge about some of the steps: ask the team
    • If you still don't know what to do: switch to another distribution and keep testing.

    This card is for EVERYONE, not just developers. Seriously! We had people from other teams helping that were not developers, and added support for Debian and new SUSE Linux Enterprise and openSUSE Leap versions :-)

    Pending

    In progress

    FUSS

    FUSS is a complete GNU/Linux solution (server, client and desktop/standalone) based on Debian for managing an educational network.

    https://fuss.bz.it/

    Seems to be a Debian 12 derivative, so adding it could be quite easy.

    • [W] Reposync (this will require using spacewalk-common-channels and adding channels to the .ini file)
    • [W] Onboarding (salt minion from UI, salt minion from bootstrap script, and salt-ssh minion) (this will probably require adding OS to the bootstrap repository creator) --> Working for all 3 options (salt minion UI, salt minion bootstrap script and salt-ssh minion from the UI).
    • [W] Package management (install, remove, update...) --> Installing a new package works, needs to test the rest.
    • [I] Patching (if patch information is available, could require writing some code to parse it, but IIRC we have support for Ubuntu already). No patches detected. Do we support patches for Debian at all?
    • [W] Applying any basic salt state (including a formula)


    pudc - A PID 1 process that barks to the internet by mssola

    Description

    As a fun exercise in order to dig deeper into the Linux kernel, its interfaces, the RISC-V architecture, and all the dragons in between; I'm building a blog site cooked like this:

    • The backend is written in a mixture of C and RISC-V assembly.
    • The backend is actually PID1 (for real, not within a container).
    • We poll and parse incoming HTTP requests ourselves.
    • The frontend is a mere HTML page with htmx.

    The project is meant to be Linux-specific, so I'm going to use io_uring, pidfs, namespaces, and Linux-specific features in order to drive all of this.

    I'm open for suggestions and so on, but this is meant to be a solo project, as this is more of a learning exercise for me than anything else.

    Goals

    • Have a better understanding of different Linux features from user space down to the kernel internals.
    • Most importantly: have fun.

    Resources