major.io https://major.io/ Recent content on major.io Hugo -- gohugo.io en-us Made with 🥰 by Major Hayden and Hugo Wed, 11 Sep 2019 00:00:00 +0000 Deploy monit in OpenShift https://major.io/2019/09/11/deploy-monit-in-openshift/ Wed, 11 Sep 2019 00:00:00 +0000 https://major.io/2019/09/11/deploy-monit-in-openshift/ Monit is a tried-and-true method for monitoring all kinds of systems, services, and network endpoints. Deploying monit is easy. There&rsquo;s only one binary daemon to run and it reads monitoring configuration from files in a directory you specify. Most Linux distributions have a package for monit and the package usually contains some basic configuration along with a systemd unit file to run the daemon reliably. However, this post is all about how to deploy it inside OpenShift. Get faster GitLab runners with a ramdisk https://major.io/2019/08/16/get-faster-gitlab-runners-with-a-ramdisk/ Fri, 16 Aug 2019 00:00:00 +0000 https://major.io/2019/08/16/get-faster-gitlab-runners-with-a-ramdisk/ When you build tons of kernels every day like my team does, you look for speed improvements anywhere you can. Caching repositories, artifacts, and compiled objects makes kernel builds faster and it reduces infrastructure costs. Need for speed We use GitLab CI in plenty of places, and that means we have a lot of gitlab-runner configurations for OpenShift (using the kubernetes executor) and AWS (using the docker-machine executor). The runner&rsquo;s built-in caching makes it easy to upload and download cached items from object storage repositories like Google Cloud Storage or Amazon S3. buildah error: vfs driver does not support overlay.mountopt options https://major.io/2019/08/13/buildah-error-vfs-driver-does-not-support-overlay-mountopt-options/ Tue, 13 Aug 2019 00:00:00 +0000 https://major.io/2019/08/13/buildah-error-vfs-driver-does-not-support-overlay-mountopt-options/ Buildah and podman make a great pair for building, managing and running containers on a Linux system. You can even use them with GitLab CI with a few small adjustments, namely the switch from the overlayfs to vfs storage driver. I have some regularly scheduled GitLab CI jobs that attempt to build fresh containers each morning and I use these to get the latest packages and find out early when something is broken in the build process. Fedora 30 on Google Compute Engine https://major.io/2019/08/07/fedora-30-on-google-compute-engine/ Wed, 07 Aug 2019 00:00:00 +0000 https://major.io/2019/08/07/fedora-30-on-google-compute-engine/ Fedora 30 is my primary operating system for desktops and servers, so I usually try to take it everywhere I go. I was recently doing some benchmarking for kernel compiles on different cloud plaforms and I noticed that Fedora isn&rsquo;t included in Google Compute Engine&rsquo;s default list of operating system images. (Note: Fedora does include links to quick start an Amazon EC2 instance with their pre-built AMI&rsquo;s. They are superb! Ham Radio FAQ https://major.io/ham-radio-faq/ Thu, 06 Jun 2019 00:00:00 +0000 https://major.io/ham-radio-faq/ Welcome! This page is a work in progress! The world of amateur, or ham, radio is huge and it&rsquo;s what you want to make of it. The itch struck me in the middle of 2017 and I learned a lot since then. People often ask me questions about all kinds of amateur radio topics and I decided to compile all of the answers into a big page that I can update over time. Texas Linux Fest 2019 Recap https://major.io/2019/06/02/texas-linux-fest-2019-recap/ Sun, 02 Jun 2019 00:00:00 +0000 https://major.io/2019/06/02/texas-linux-fest-2019-recap/ Another Texas Linux Fest has come and gone! The 2019 Texas Linux Fest was held in Irving at the Irving Convention Center. It was a great venue surrounded by lots of shops and restaurants. If you haven&rsquo;t attended one of these events before, you really should! Attendees have varying levels of experience with Linux and the conference organizers (volunteers) work really hard to ensure everyone feels included. The event usually falls on a Friday and Saturday. Build containers in GitLab CI with buildah https://major.io/2019/05/24/build-containers-in-gitlab-ci-with-buildah/ Fri, 24 May 2019 00:00:00 +0000 https://major.io/2019/05/24/build-containers-in-gitlab-ci-with-buildah/ My team at Red Hat depends heavily on GitLab CI and we build containers often to run all kinds of tests. Fortunately, GitLab offers up CI to build containers and a container registry in every repository to hold the containers we build. This is really handy because it keeps everything together in one place: your container build scripts, your container build infrastructure, and the registry that holds your containers. Better yet, you can put multiple types of containers underneath a single git repository if you need to build containers based on different Linux distributions. Inspecting OpenShift cgroups from inside the pod https://major.io/2019/04/05/inspecting-openshift-cgroups-from-inside-the-pod/ Fri, 05 Apr 2019 00:00:00 +0000 https://major.io/2019/04/05/inspecting-openshift-cgroups-from-inside-the-pod/ My team at Red Hat builds a lot of kernels in OpenShift pods as part of our work with the Continuous Kernel Integration (CKI) project. We have lots of different pod sizes depending on the type of work we are doing and our GitLab runners spawn these pods based on the tags in our GitLab CI pipeline. Compiling with make When you compile a large software project, such as the Linux kernel, you can use multiple CPU cores to speed up the build. Running Ansible in OpenShift with arbitrary UIDs https://major.io/2019/03/22/running-ansible-in-openshift-with-arbitrary-uids/ Fri, 22 Mar 2019 00:00:00 +0000 https://major.io/2019/03/22/running-ansible-in-openshift-with-arbitrary-uids/ My work at Red Hat involves testing lots and lots of kernels from various sources and we use GitLab CE to manage many of our repositories and run our CI jobs. Those jobs run in thousands of OpenShift containers that we spawn every day. OpenShift has some handy security features that we like. First, each container is mounted read-only with some writable temporary space (and any volumes that you mount). Get a /56 from Spectrum using wide-dhcpv6 https://major.io/2019/03/19/get-a-slash-56-from-spectrum-using-wide-dhcpv6/ Tue, 19 Mar 2019 00:00:00 +0000 https://major.io/2019/03/19/get-a-slash-56-from-spectrum-using-wide-dhcpv6/ After writing my last post on my IPv6 woes with my Pixel 3, some readers asked how I&rsquo;m handling IPv6 on my router lately. I wrote about this previously when Spectrum was Time Warner Cable and I was using Mikrotik network devices. There is a good post from 2015 on the blog and it still works today: Time Warner Road Runner, Linux, and large IPv6 subnets I am still using that same setup today, but some readers found it difficult to find the post since Time Warner Cable has renamed to Spectrum. Pixel 3 Wi-Fi drops constantly https://major.io/2019/03/17/pixel-3-wifi-drops-constantly/ Sun, 17 Mar 2019 00:00:00 +0000 https://major.io/2019/03/17/pixel-3-wifi-drops-constantly/ We have two Google Pixel phones in our house: a Pixel 2 and a Pixel 3. Both of them drop off our home wireless network regularly. It causes lots of problems with various applications on the phones, especially casting video via Chromecast. At the time when I first noticed the drops, I was using a pair of wireless access points (APs) from Engenius: EAP600 EAP1200H Also, here&rsquo;s what I knew at the time: Stop audio pops on Intel HD Audio https://major.io/2019/03/04/stop-audio-pops-on-intel-hd-audio/ Mon, 04 Mar 2019 00:00:00 +0000 https://major.io/2019/03/04/stop-audio-pops-on-intel-hd-audio/ I recently picked up a Dell Optiplex 7060 and I&rsquo;m using it as my main workstation now. The Fedora installation was easy, but I noticed a variety of &ldquo;pop&rdquo; or clicking sounds when audio played, especially terminal bells. If everything was quiet and I triggered a terminal bell, I would hear a loud pop just before the terminal bell sound. However, if I played music and then triggered a terminal bell, the pop was gone. Automatic floating windows in i3 https://major.io/2019/02/08/automatic-floating-windows-in-i3/ Fri, 08 Feb 2019 00:00:00 +0000 https://major.io/2019/02/08/automatic-floating-windows-in-i3/ The i3 window manager is a fast window manager that helps you keep all of your applications in the right place. It automatically tiles windows and can manage those tiles across multiple virtual desktops. However, there are certain applications that I really prefer in a floating window. Floating windows do not get tiled and they can easily be dragged around with your mouse. They&rsquo;re the type of windows you expect to see on other non-tiling desktops such as GNOME or KDE. DevConf.CZ 2019 Recap https://major.io/2019/01/31/devconf.cz-2019-recap/ Thu, 31 Jan 2019 00:00:00 +0000 https://major.io/2019/01/31/devconf.cz-2019-recap/ DevConf.CZ 2019 wrapped up last weekend and it was a great event packed with lots of knowledgeable speakers, an engaging hallway track, and delicious food. This was my first trip to any DevConf and it was my second trip to Brno. Lots of snow showed up on the second day and more snow arrived later in the week! First talk of 2019 I co-presented a talk with one of my teammates, Nikolai, about some of the fun work we&rsquo;ve been doing at Red Hat to improve the quality of the Linux kernel in an automated way. Using the pressure stall information interface in kernel 4.20 https://major.io/2019/01/27/using-the-pressure-stall-information-interface-in-kernel-4.20/ Sun, 27 Jan 2019 00:00:00 +0000 https://major.io/2019/01/27/using-the-pressure-stall-information-interface-in-kernel-4.20/ Fedora 29 now has kernel 4.20 available and it has lots of new features. One of the more interesting and easy to use features is the pressure stall information interface. Load average We&rsquo;re all familiar with the load average measurement on Linux machines, even if the numbers do seem a bit cryptic: $ w 10:55:46 up 11 min, 1 user, load average: 0.42, 0.39, 0.26 The numbers denote how many processes were active over the last one, five and 15 minutes. Running Home Assistant in a Docker container with a Z-Wave USB stick https://major.io/2019/01/14/running-home-assistant-in-a-docker-container-with-zwave-usb-stick/ Mon, 14 Jan 2019 00:00:00 +0000 https://major.io/2019/01/14/running-home-assistant-in-a-docker-container-with-zwave-usb-stick/ The Home Assistant project provides a great open source way to get started with home automtion that can be entirely self-contained within your home. It already has plenty of integrations with external services, but it can also monitor Z-Wave devices at your home or office. Here are my devices: Monoprice Z-Wave Garade Door Sensor Aeotec Z-Stick Gen5 (ZW090) Fedora Linux server with Docker installed Install the Z-Wave stick Start by plugging the Z-Stick into your Linux server. Allow a port range with firewalld https://major.io/2019/01/04/allow-port-range-with-firewalld/ Fri, 04 Jan 2019 00:00:00 +0000 https://major.io/2019/01/04/allow-port-range-with-firewalld/ Managing iptables gets a lot easier with firewalld. You can manage rules for the IPv4 and IPv6 stacks using the same commands and it provides fine-grained controls for various &ldquo;zones&rdquo; of network sources and destinations. Quick example Here&rsquo;s an example of allowing an arbitrary port (for netdata) through the firewall with iptables and firewalld on Fedora: ## iptables iptables -A INPUT -j ACCEPT -p tcp --dport 19999 ip6tables -A INPUT -j ACCEPT -p tcp --dport 19999 service iptables save service ip6tables save ## firewalld firewall-cmd --add-port=19999/tcp --permanent In this example, firewall-cmd allows us to allow a TCP port through the firewall with a much simpler interface and the change is made permanent with the --permanent argument. Disable autoplay for videos in Firefox 65 https://major.io/2018/12/18/disable-autoplay-for-videos-in-firefox-65/ Tue, 18 Dec 2018 00:00:00 +0000 https://major.io/2018/12/18/disable-autoplay-for-videos-in-firefox-65/ Firefox has some great features, but one of my favorites is the ability to disable autoplay for videos. We&rsquo;ve all had one of those moments: your speakers are turned up and you browse to a website with an annoying advertisement that plays immediately. This feature stopped working for me somewhere in the Firefox 65 beta releases. Also, the usual setting in the preference page (under Privacy &amp; Security) seems to be missing. Getting started with ham radio repeaters https://major.io/2018/12/13/getting-started-with-ham-radio-repeaters/ Thu, 13 Dec 2018 00:00:00 +0000 https://major.io/2018/12/13/getting-started-with-ham-radio-repeaters/ Amateur radio is a fun way to mess around with technology, meet new people, and communicate off the grid. Talking directly to another radio on a single frequency (also called simplex) is the easiest way to get started. However, it can be difficult to communicate over longer distances without amplifiers, proper wiring, and antennas. This is where a radio repeater can help. What&rsquo;s in scope This post is focused on fairly local communication on VHF/UHF bands. Use a secret as an environment variable in OpenShift deployments https://major.io/2018/12/06/use-secret-as-environment-variable-in-openshift-deployments/ Thu, 06 Dec 2018 00:00:00 +0000 https://major.io/2018/12/06/use-secret-as-environment-variable-in-openshift-deployments/ OpenShift deployments allow you to take a container image and run it within a cluster. You can easily add extra items to the deployment, such as environment variables or volumes. The best practice for sensitive environment variables is to place them into a secret object rather than directly in the deployment configuration itself. Although this keeps the secret data out of the deployment, the environment variable is still exposed to the running application inside the container. Make alt-arrow keys work with terminator and weechat https://major.io/2018/09/05/make-alt-arrow-keys-work-with-terminator-and-weechat/ Thu, 06 Sep 2018 03:43:30 +0000 https://major.io/2018/09/05/make-alt-arrow-keys-work-with-terminator-and-weechat/ <p>As I make the move from the world of GNOME to i3, I found myself digging deeper into the <a href="https://terminator-gtk3.readthedocs.io/en/latest/">terminator</a> preferences to make it work more like <a href="https://help.gnome.org/users/gnome-terminal/stable/">gnome-terminal</a>.</p> How to thrive at a technical conference https://major.io/2018/05/09/how-to-thrive-at-a-tech-conference/ Wed, 09 May 2018 23:54:28 +0000 https://major.io/2018/05/09/how-to-thrive-at-a-tech-conference/ I&rsquo;m at the 2018 Red Hat Summit this week in San Francisco and I am enjoying the interactions between developers, executives, vendors, and engineers. It&rsquo;s my seventh Summit (but my first as a Red Hat employee!), but I regularly meet people who are attending their first technical conference. The question inevitably comes up: &ldquo;I&rsquo;m so tired. How do you survive these events?&rdquo; One attendee asked me to write a blog post on my tips and tricks. Reaching the fork in the road https://major.io/2018/03/07/reaching-the-fork-in-the-road/ Wed, 07 Mar 2018 16:18:51 +0000 https://major.io/2018/03/07/reaching-the-fork-in-the-road/ Walt Disney said it best: We keep moving forward, opening new doors, and doing new things, because we&rsquo;re curious and curiosity keeps leading us down new paths. The world of technology is all about change. We tear down the old things that get in our way and we build new technology that takes us to new heights. Tearing down these old things can often be difficult and that forces us to make difficult choices. Install testing kernels in Fedora https://major.io/2018/02/28/install-testing-kernels-in-fedora/ Wed, 28 Feb 2018 13:53:48 +0000 https://major.io/2018/02/28/install-testing-kernels-in-fedora/ If you&rsquo;re on the latest Fedora release, you&rsquo;re already running lots of modern packages. However, there are those times when you may want to help with testing efforts or try out a new feature in a newer package. Most of my systems have the updates-testing repository enabled in one way or another. This repository contains packages that package maintainers have submitted to become the next stable package in Fedora. For example, if there is a bug fix for nginx, the package maintainer submits the changes and publish a release. Takeaways from my foray into amateur radio https://major.io/2018/01/06/takeaways-from-my-foray-into-amateur-radio/ Sat, 06 Jan 2018 19:26:53 +0000 https://major.io/2018/01/06/takeaways-from-my-foray-into-amateur-radio/ The Overland Expo in Asheville last year was a great event, and one of my favorite sessions covered the basics about radio communications while overlanding. The instructors shared their radios with us and taught us some tips and tricks for how to save power and communicate effectively on the trail. Back at the office, I was surprised to discover how many of my coworkers had an FCC license already. They gave me tips on getting started and how to learn the material for the exam.