Redhat-like Operating System V10

Rocky Linux v10.2 has been out for a while now, and my current setup only runs CentOS v9. Rocky 10 has a few interesting features, such as an image mode that greatly speeds up installations based on immutable images. Since we're using that at work, We need to acquaint myself with it. So we are at this very moment downloading both the full DVD install and the minimal install. We intend to install that on Paya, my little Intel NUC.

While we can at this moment manually install several different versions of Linux, we want to expand the automated installs so we can automatically install both Debian-like operating systems (such as Linux Mint) and Redhat-like operating systems such as Rocky Linux and CentOS Stream.

We want to make my setups more structured. At the moment, adding a new host to the system is a manual operation that we also want to automate. We want to make the inevitable upgrade to V11 more smooth.

We need to upgrade service management so that we can install, move, and redesign services at will, including runnning Kubernetes clusters, Docker, and other cloud features. We also want a fully fledged CI/CD pipeline based on Gitlab.

Flatpak applications are becoming more and more common these days and we want to support them as widely as possible. For that reason, Flatpak support will be a standard feature of any N-SCHOOL installation.

The machines

The machines involved in this project are:

Paya - main server

  • Intel NUC
  • 4 CPUs, Intel(R) Core(TM) i3-8109U CPU @ 3.00GHz
  • 8GB RAM
  • 1x 1Gb Ethernet adapter
  • 250GB NvME boot drive
  • 400GB HDD data drive for boot/install services.

Emerald - Workstation/KVM host

  • Acer PC
  • 8 CPUs AMD
  • 12GB RAM
  • 1x Gb Ethernet adapter

The software

This is the software involved in this project:

Operating systems

Rocky Linux v10.2 - main operating system

We will upgrade the main server to Rocky Linux. The main server will be installed using a normal Anaconda-based procedure with Kickstart. Subsequent installations will optionally be in image mode or package mode. Rocky 10 will be the default installation for a new machine, virtual or otherwise.

Rocky Linux v9.8 - compatibility testing

In some cases we may want a Rocky 9 installation for compatibility testing or for building packages against the V9 libraries. We will try to keep the installation procedures as similar to Rocky 10 as possible,

Linux Mint Debian Edition v7 - laptops or workstations

It is essential that we can support Linux distributions not only based on Redhat but also on Debian. The main differences are that Debian uses a different package manager. Linux Mint is also better positioned for end users, in that user applications are more likely to exist for Mint than for Redhat.

Ubuntu - curiosity

We will download and network-boot enable Ubuntu, but not make any efforts to automate that installation.

Omarchy Linux

This is an interesting distribution that aims to radically change the way we work with computers. It is highl;y dependent on local Artificial Intelligence and uses a tiling window manager by default. We will download and network-boot an image, but not automate anything.

Support software

This is the software that we use as a base for our infrastructure. Some of these products are a combination of packages.

FreeIPA 1.16 - User authentication and authorisation

We will continue to use FreeIPA to manage user accounts on most of our Linux systems. We will also use it to manage SSH host keys and the Sudo configuration. While we could run FreeIPA in a container, we will wait to implement this and keep the current setup.

Ansible v3.

Our current version of Ansible (2.14) is starting to complain about being too old to be supported by certain community packages. We will change this to using the most recent version available.

We will be using Ansible extensively to solidify our installation procedures. This is an opportunity to upgrade our setup such that it will be able to support multiple teams within the Nerdhole.

Docker Community Edition v29.5

Containers are becoming more and more common in today's computing environment, and this very website comes to you through a Docker container. We will continue to support this.

Gitlab v18

We want to support the popular paradigm of Continuous Integration and Continuous Deployment (CI/CD). Since Gitlab is aiming to become the solution for this, we will use that for support.

Facilities

The facilities available to N-SCHOOL based architectures will include the following:

  • One shared file tree
  • One home directory on all local machines
  • One mobile home directory on mobile devices
  • Regular backups, initially using rsync, but eventually using a more advanced product.
  • Access to printer queues from all workstations
  • Automated procedures to support machine life cycles
  • NFS shared file systems
  • CIFS shared file systems (with limitations)
  • Local web server

Things we won't work with

N-SCHOOL will not include support for the following:

  • Public cloud systems such as Azure, Google Cloud, or Amazon Web Services. We run all of our services on our own hardware, using only open-source software.
  • Any version of Windows. This is Nerdhole Small Company or Home Office On Linux after all.