
CFP: The CR that goes around in circles
April 13, 2021 1:18 pm Comments Off on CFP: The CR that goes around in circlesA tale of common pitfalls in operator and CRD design and how to avoid them Audience This talk is targeted at an audience that already made some experience or interest in designing and implementing Kubernetes operators. The terms Custom Resource Definition (CRD), Custom Resource (CR) and operator pattern should be known to them. For examples that are mentioned during the talk, it is based on the Operator SDK, however most patterns are independent of the framework in use. Outline When... View Article

Things I always search for when writing a new BASH script
November 25, 2020 8:16 am Comments Off on Things I always search for when writing a new BASH scriptGet the directory of the script When writing a bash script, especially when it is distributed via a git repository and depends on other files in the same repository, it is often important to know the location of the script to use relative paths to other files. Particularly, getting the directory of the current script allows users to execute the script from wherever they want and the script can still depend on files similar to using a relative path. This... View Article

Building Kubernetes Operators
November 17, 2020 4:33 pm Comments Off on Building Kubernetes OperatorsIn the past months ad Red Hat I dove a bit into operator development. During learning how to build Kubernetes operators myself I published a quick start article on opensource.com . Using Operator SDK is a good way to kick-start your own Kubernetes operator. While the post itself is based on an older version of the SDK and usage has changed, you should be able to get such an example operator up and running quickly using this post and a... View Article

CFP: How to build a Kubernetes operator that doesn’t break production
September 21, 2020 8:46 am Comments Off on CFP: How to build a Kubernetes operator that doesn’t break productionAudience This talk is targeted at software developers and SREs interested in development practices for Kubernetes operators. Are they interested in how development of an operator is different from other software projects? This project will give an outline of the operator pattern and how development looks like, focusing on the importance of good engineering practices. Are they writing a Kubernetes operator just to automate a simple task? They should write tests for it, and this talk will tell them why.... View Article

CFP: 5 agile practices and why they are useful to SRE teams
April 21, 2020 2:28 pm Comments Off on CFP: 5 agile practices and why they are useful to SRE teamsAs SRE (Site Reliability Engineering) teams contain a fair portion of software development work, and get filled up by software developers, it is a natural move to also adapt agile software development practices. The right agile model depends heavily on the percentage of development work vs. operations, which may be influenced by the team size. For example, in a small team where a high percentage of people is on call during the day, it might not make too much sense to plan... View Article

Guest article: Build a Kubernetes Operator in 10 minutes with Operator SDK
April 20, 2020 1:53 pm Comments Off on Guest article: Build a Kubernetes Operator in 10 minutes with Operator SDKIt’s been a while since I last submitted an article to opensource.com. This time it is about quickly kick-starting a Kubernetes Operator with Operator SDK. Click here to get to the article. When you start working on a new software project, often a bunch of code is already existing. That’s by no means different when joining development of a Kubernetes Operator. In the case of Operator SDK a good part of the code is additionally generated, so you also want... View Article

CFP: Things I love about SRE that I loathe about DevOps
January 28, 2020 8:32 pm Comments Off on CFP: Things I love about SRE that I loathe about DevOpsDevOps & SRE – what is it? Let’s define what those terms mean. DevOps means, the same team building the software is responsible for running it. This can be easiest imagined for software that is operated by the vendor themselves, i.e. cloud services. The idea is, no one knows the software better than the developers, so no one could better operate and fix in-flight issues than them. On the other hand, developers have high interest in building software that is... View Article

Ruby best practice: Implementing operator == and ensuring it doesn’t break
March 8, 2019 12:42 pm Comments Off on Ruby best practice: Implementing operator == and ensuring it doesn’t breakIn ruby, comparing hashes, strings and objects is a complicated topic. Should you use equal?, eql? or ==? There is plenty of help on this topic, but in this post, we will focus on the interesting behavior of the == operator and how you can make it behave as you need it for your use case. When comparing Hashes in Ruby, the == operator compares the content of a hash recursively. 1 2 3 4 5 6 7 8 9... View Article

Raspberry Pi powered Wifi Pictureframe
March 6, 2019 7:09 am Comments Off on Raspberry Pi powered Wifi PictureframeSome days ago I wrote an post about building a picture frame using a Raspberry Pi. The article has been published on opensource.com. The software to show the slideshow has been written by myself and published on github as I wasn’t happy with all the existing solutions. As they either involve using a GL rendered xscreensaver which was terribly slow on the Raspberry Pi or installing Kodi which I think is kind of overkill, just to get a slide show.Also I wanted the... View Article

Ansible: Passing arrays to BASH scripts
January 7, 2019 7:56 am Comments Off on Ansible: Passing arrays to BASH scriptsWhen using Ansible, it may become handy sooner or later to invoke a BASH script in one of you playbooks. Invoking a BASH script in Ansible can be done using a simple shell task: 1 2 3 4 5 6 --- - hosts: 127.0.0.1 connection: local tasks: - name: ensure stuff is done shell: ./do_stuff.sh This task will execute the bash script do_stuff.sh. Sometimes, it is also necessary to configure the behaviour of the BASH script you are executing. The simplest way... View Article