Testing Helm Charts Part I

This article is also available on Substack. Before answering this question, we should decide why to test Helm chart? and if you even need to bother with that. Following an example from this xkcd comic, the real answer is: it depends. So, I want to share with you my story of Helm chart testing. How and, more importantly, why it started, and how it played out in the end. ...

July 11, 2024 · 9 min · Yurii Rochniak

How to add, use, and update `.terraform.lock.hcl` without pain

This is the first guest article in this blog. This is one is by Maksym Vlasov - my co-author of the CatOps channel. Pre-history As you may know, Terraform 1.4.0 has introduced changes, which break the previous unintentional behavior. Previously, you could ignore the lockfile and use cached providers as long as the version constraints in the code were okay with your local cache. Starting from 1.4.0, Terraform always checks the lockfile before going into your cache directory. In practice, it means that if you ignore the lockfile or remove it completely, Terraform will run full init, no matter what is in your TF_CACHE_DIR or the .terraform directory. ...

June 20, 2023 · 10 min · Maksym Vlasov

Kubernetes Operations Survey 2023

Annual Kubernetes Survey by CatOps It is the second time I run this survey. You can find the previous year’s results here. You can find the raw data in the Google Sheets. You can also read this article on Substack. Introduction This year, I ran this survey for two months: from the 14th of March to the 18th of May, and gathered 122 responses in total. Yet, I must admit that I only promoted this survey for a month. There are more responses than the last year (122 vs. 102). Some of the channels to share this survey were different this time. Also, I started later than the previous year (spring vs winter). Although, this difference should not impact the results. ...

June 2, 2023 · 9 min · Yurii Rochniak

Building a CLI application in Go: Part 0

Building a CLI application in Go: Part 0 Intro I have written a tiny CLI app that can update the storage class of objects in an AWS S3 Bucket. To be completely honest, this tool is rather useless in the wild. You can achieve the same results natively with AWS S3 Lifecycle policies. However, this app is my opportunity to talk about writing CLI applications in Go as well as speculate about pet projects in general. ...

September 2, 2022 · 6 min · Yurii Rochniak

The Results of My Kubernetes Survey

Kubernetes Survey Results Not so long ago, I created a survey to understand how people manage their Kubernetes clusters. I got more than a hundred responses from Telegram, Reddit, Twitter, and DOU, 102 to be precise. Now, I am ready to share it with you! You can find all the raw data via this link. This text is also available in Ukrainian. A backstory (skippable content) After, I wrote the article about Kubernetes backups - Why backup Kubernetes?, I got a few questions about the cluster topology we use. Especially on the “cluster as cattle” concept and technical struggles associated with it. I started writing a follow-up article on that topic, but then I realized that my view is limited by the experience at just a few companies. Thus, I decided to ask people about how they manage their clusters. So, here we are. ...

February 17, 2022 · 11 min · Yurii Rochniak