Automating bootc deployments using git

My last post walked through my migration to using fedora-bootc on my home server/NAS. In this follow up, I’m going to show you how I’ve automated the OS upgrades. I should note that while I’m a huge fan and believer in Git-Ops conceptually, I’m a noob at using the technology. Please leave a comment or ping me if you see improvements that can be made. I suspect there are many! Anyway, let’s dive in.

Here’s a glimpse of the result of going through everything in this post.
Continue reading “Automating bootc deployments using git”

Migrating my Fedora Server to fedora-bootc

Earlier this year I put together an upgraded home server. In all honesty, I’ve been loving it. Not only has the hardware & disk layout worked really, but deploying all my applications as containers has made everything just work and I haven’t had to put my hands on the system once. Everything is self updating. ….until something inevitably breaks, but I’ll worry about that later. ;)

My goal from the beginning was to deploy this using bootc, but due to some time pressure at work that wasn’t possible. I finally made some time and successfully moved the system over to fedora-bootc, and I’m going to share my experience for others considering doing the same. Keep in mind that I don’t expect details of this post to age very well as the tech is moving pretty fast.

Yes, I put this blog post together from a presentation I gave!
Continue reading “Migrating my Fedora Server to fedora-bootc”

Refreshing my Home Server/NAS

I’ve been running a little home server for probably close to twenty years. Originally, it was driven by my desire to learn Linux and run a whole-home MythTV setup. I still think that was an amazing setup for the time, but of course things change and broadcast TV just isn’t what it used to be. About five years ago, I decommissioned my server and moved my media library to a Helios4 by Kobol. My media frontends are now mainly built into our TVs, Fire TVs, or phones/tablets. The NAS was definitely a cool unit and helped my electric bill some, but ultimately the performance left a lot to be desired. ….using it for ostree commits the past few years was painful.

Continue reading “Refreshing my Home Server/NAS”

Using cgroup v2 w/ Containers on Fedora Silverblue

I’ve been really interested in the potential behind the unified cgroup hierarchy, aka cgroup v2, in the kernel for a while now. I even helped out with a talk on this subject earlier this year. It’s worth listening to Tejun’s part of the talk if you’re not familiar with the value behind v2. While a lot of user space, for example systemd, has really solid support for v2, there have been historic gaps around virt and containers. On the virt side, initial v2 support went into libvirt 4.9 or 5.0, and it’s continuing to be improved. For containers, we’re tracking the OCI progress here and here, and Giuseppe Scrivano has done some great v2 enablement with an alternative runtime he wrote called crun. crun is basically runc re-written in C, and while there are pros and cons on the language side, it’s ridiculously fast at instantiating containers compared to runc.

Continue reading “Using cgroup v2 w/ Containers on Fedora Silverblue”

Fedora 19. Making libvirt and firewalld play nice

I’ve been running Fedora for quite some type and it’s hands down my favorite bleeding-edge distro. Since I’ve been at Red Hat though, I’ve been using RHEL on my work laptops, and I’ve really enjoyed the experience and stability. So the past three years it’s been Fedora at home and RHEL at work, and that’s worked out perfectly. …..until now. Continue reading “Fedora 19. Making libvirt and firewalld play nice”

system-config??? More like sissy-config!

Sissy is a pejorative for a boy or man to indicate that he fails to behave according to the traditional male gender role. Generally, it implies a lack of the courage and stoicism which are thought important to the male role.

wikipedia

We all love the ease of a nice graphical interface. Often times GUIs (and TUIs) are great because they lower the barriers of technology, but sometimes this ease of use has a price. In the Linux world my gripes with GUIs are that sometimes they:

  1. lack features of their command line counter parts
  2. are cumbersome
  3. difficult/impossible to script.

RHEL & Fedora ship with a nice set of system tools that begin with the name system-config-*. Sometimes these tools really come in handy, but most of the time I use them I’m really just being lazy. In fact, I often feel a little guilty for “cheating” with these tools. I decided that I could do something about it. I wrote a little script today to help encourage myself and others to limit their use of these utils. It’s not that there’s anything wrong with using them, but that there’s often more efficient methods of accomplishing the end results. Like so many things in life I decided to address this head-on using mockery and sarcasm. This little script will create a symbolic link to a more appropriate command name, and if you chicken out, it will mock you. :)

#!/bin/bash
cmds=(`ls /usr/bin/system-config-*`)
num=${#cmds[*]}
i=0
echo -e "There are $num potential \e[01;35m sissy-config\e[00m commands on this system."
echo "Do you wish to convirt them?"
select yn in "Yes" "No"; do
  case $yn in
    Yes)
       while [ $i -lt $num ]; do
       c=$(echo ${cmds[$i]} | sed "s/system-config/sissy-config/g")
       ln -s ${cmds[$1]} $c
       let i++
done; exit;;
    No) echo "OMFG! You are a sissy!!"; exit;;
   esac
done

You can download the script here. Don’t forget to run it as root or use sudo.

Cheers.

***Update***

While the script functions perfectly, the links do not execute properly. I’ve tried substituting cp & mv and I get the same result. I don’t understand what I’m missing. I hope someone can comment and shed some light on this for me.

***Update 2***

The problem with this script is that for some it creates a symlink to a symlink for some of these utilities. For this to work properly the script would need to search for the actual binaries. Maybe one day I’ll have time to fix this.

Myth .22 upgrade

I couldn’t be happier w/ the new MythTV setup here at the house. The new version is a major improvement over the last release. I’m also really enjoying the mythbuntu theme.