New Open Source Projects from SUSE / Rancher

The first have of 2021 has been quite a half year at SUSE / Rancher. Numerous new open source projects have been launched covering a wide array of areas. I’m enjoying seeing all the innovation taking place as these new projects try to find their footing. These are in addition to projects like Harvester that started in 2020. Let’s take a look at some of these projects…

Continue Reading »

How We Did Logging Differently In Hypper

When we started working on Hypper we knew there would be an SDK and a client in the codebase. From the beginning, we wanted the core business logic to be easily accessible for other applications to use.

This meant we needed to have logging that worked for a CLI application and when the SDK was pulled into an app. All of this written in Go due to the need to pull in some outside libraries only available in Go.

The problems began to show up when I discovered that logrus, the popular logging library that we regularly go to, was in maintenance mode. The readme specifically says,

Logrus is in maintenance-mode. We will not be introducing new features. It’s simply too hard to do in a way that won’t break many people’s projects, which is the last thing you want from your Logging library (again…).

This does not mean Logrus is dead. Logrus will continue to be maintained for security, (backwards compatible) bug fixes, and performance (where we are limited by the interface).

Did I really want to start a new project with a logging library that’s in maintenance mode? Logrus recommends some other logging packages to use instead. Should I start with one of those? What about the apps I hope Hypper integrates with? How do I bridge the old and new logging along with logging that works well for a CLI?

Continue Reading »

What Are Operators? A Look At The Definition

In November 2016, Operators came on the scene. They have since been embraced by the Kubernetes community for many use cases where there are frameworks and ecosystems surrounding them.

In the years after the announcement, CoreOS, the company that started the operator craze, has been bought and that company has been bought. The CoreOS website and docs, where all of this came out, are no longer available on the general Internet and can’t be found in search engines.

In place of what CoreOS shared we have marketing and docs from frameworks and companies. While that marketing and documentation can excel at pointing people to those frameworks and companies, the simple explanations of what an operator is can be easily lost.

With that in mind, let’s go back and take a look at the simple definition from Brandon Philips, then CTO at CoreOS, who shared the idea of operators with the world.

Continue Reading »

Helm - A Look At The Code For The Kubernetes Package Manager

Have you ever wondered how Helm’s source code was organized? Or wanted to know where to start when fixing a bug or creating a new feature for Helm? Trying to learn a new codebase can take some time and feel daunting.

To help with that problem I created a short series of short videos that walk through the code organization, life of a command, testing, layout of the package library, and more.

Continue Reading »

Other Recent Posts: