<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Cloud Alchemist</title><description>Personal blog with emphasis on cloud-native technologies, by a Senior DevOps Engineer experienced in AWS, Kubernetes, Terraform, ArgoCD, and NixOS.</description><link>https://sbulav.github.io/</link><language>en-us</language><item><title>jira-oil.nvim — Edit Jira like a Neovim buffer</title><link>https://sbulav.github.io/neovim/plugins/jira-oil-nvim/</link><guid isPermaLink="true">https://sbulav.github.io/neovim/plugins/jira-oil-nvim/</guid><description>As a team lead, managing and creating Jira tasks is something I have to do on a daily basis. Jumping between the code in my editor and the Jira web interface often breaks my flow, so I&apos;ve spent a lot of time looking for a better way to handle my backlog. Over the years, I&apos;ve tried multiple…</description><pubDate>Mon, 02 Mar 2026 00:00:00 GMT</pubDate><category>neovim</category><category>jira</category><category>productivity</category></item><item><title>How I record clean GIF demos for Neovim plugins</title><link>https://sbulav.github.io/neovim/plugins/neovim-beautiful-plugin-demos/</link><guid isPermaLink="true">https://sbulav.github.io/neovim/plugins/neovim-beautiful-plugin-demos/</guid><description>When I released jira oil.nvim, I wanted a demo that looked clean and was easy to maintain. At first it sounded simple: open Neovim, do a few actions, record screen, publish GIF. In practice, there were three problems: 1. I could not expose real Jira issues from work. 2. Recording a good GIF from a…</description><pubDate>Mon, 02 Mar 2026 00:00:00 GMT</pubDate><category>neovim</category><category>jira</category><category>vhs</category><category>demo</category><category>automation</category></item><item><title>Post #100 and a full blog redesign</title><link>https://sbulav.github.io/blog/100th-post-and-blog-redesign/</link><guid isPermaLink="true">https://sbulav.github.io/blog/100th-post-and-blog-redesign/</guid><description>This is the 100th post on this blog. I wrote the first one on April 15, 2020, mostly to see if I&apos;d stick with it. Turns out I did, almost six years and a hundred posts later. To celebrate post 100, I decided to rebuild the entire site from scratch. Why redesign now The blog has been running on…</description><pubDate>Mon, 16 Feb 2026 00:00:00 GMT</pubDate><category>blog</category><category>astro</category><category>thoughts</category></item><item><title>Calico Network Policy Visualiser</title><link>https://sbulav.github.io/kubernetes/calico-policy-visualiser/</link><guid isPermaLink="true">https://sbulav.github.io/kubernetes/calico-policy-visualiser/</guid><description>At work, we use Calico network policies extensively. Between NetworkPolicy and GlobalNetworkPolicy resources across multiple clusters, keeping track of what&apos;s allowed and what&apos;s blocked gets complicated fast. Reading raw YAML works when you have one simple policy, but once you&apos;re dealing with…</description><pubDate>Tue, 10 Feb 2026 00:00:00 GMT</pubDate><category>kubernetes</category><category>calico</category></item><item><title>snacks-tea.nvim — Forgejo integration for Neovim</title><link>https://sbulav.github.io/neovim/plugins/neovim-snacks-tea/</link><guid isPermaLink="true">https://sbulav.github.io/neovim/plugins/neovim-snacks-tea/</guid><description>Lately, I’ve been spending most of my time working with Forgejo — a great self hosted Git service I use for both personal and work projects. Since almost all my coding happens inside Neovim , I rely heavily on a tight workflow between my editor and Git hosting. I’ve been using folke/snacks.nvim for…</description><pubDate>Mon, 26 Jan 2026 00:00:00 GMT</pubDate><category>neovim</category><category>forgejo</category><category>tea</category><category>snacks</category></item><item><title>TIL - WebRTC landing page for testing webcam and screen sharing</title><link>https://sbulav.github.io/til/til-webrtc-landing-page/</link><guid isPermaLink="true">https://sbulav.github.io/til/til-webrtc-landing-page/</guid><description>I discovered a useful WebRTC testing page created by Mozilla: https://mozilla.github.io/webrtc landing/gum test.html. This page is designed to demonstrate and test the getUserMedia (gUM) API — part of the WebRTC suite of browser APIs that let web applications access a user&apos;s camera and microphone…</description><pubDate>Mon, 22 Dec 2025 00:00:00 GMT</pubDate><category>webrtc</category><category>webcam</category><category>screen-sharing</category><category>wayland</category></item><item><title>Running Rootless Forgejo Runners in Kubernetes on Ubuntu 24.04</title><link>https://sbulav.github.io/kubernetes/running-rootless-forgejo-runners-kubernetes-ubuntu/</link><guid isPermaLink="true">https://sbulav.github.io/kubernetes/running-rootless-forgejo-runners-kubernetes-ubuntu/</guid><description>Forgejo is a self hosted Git service that provides a powerful CI/CD system through Forgejo Actions. However, running Forgejo runners in Kubernetes, especially in rootless mode, presents several challenges that require careful configuration. In this post, I&apos;ll walk you through setting up rootless…</description><pubDate>Wed, 26 Nov 2025 00:00:00 GMT</pubDate><category>kubernetes</category><category>forgejo</category><category>docker</category></item><item><title>Obsidian Sync Between Devices Using Nextcloud</title><link>https://sbulav.github.io/obsidian/nextcloud/obsidian-sync-between-devices-using-nextcloud/</link><guid isPermaLink="true">https://sbulav.github.io/obsidian/nextcloud/obsidian-sync-between-devices-using-nextcloud/</guid><description>I&apos;ve been using Obsidian for managing notes across multiple devices for a while now. Initially, I relied on remote sync via Yandex Disk, mostly because it was convenient and free. However, recently I&apos;ve encountered significant issues with it, primarily due to frequent HTTP 429 &quot;Too Many Requests&quot;…</description><pubDate>Thu, 10 Jul 2025 00:00:00 GMT</pubDate><category>obsidian</category><category>nextcloud</category></item><item><title>(Re)Packaging Linux/Mac Kontur Talk Application with Nix</title><link>https://sbulav.github.io/nix/repackaging-linux-mac-kontur-talk-with-nix/</link><guid isPermaLink="true">https://sbulav.github.io/nix/repackaging-linux-mac-kontur-talk-with-nix/</guid><description>Our company recently decided to transition from Zoom to Kontur Talk (ktalk) for voice and video communications. Kontur provides official application packages as Linux AppImage and macOS DMG files, but to ensure consistency across developer workstations running both Linux and macOS, I set out to…</description><pubDate>Tue, 13 May 2025 00:00:00 GMT</pubDate><category>nix</category></item><item><title>Understanding ZFS-ZED Service Failures on NixOS</title><link>https://sbulav.github.io/nix/understanding-zfs-zed-failures-nixos/</link><guid isPermaLink="true">https://sbulav.github.io/nix/understanding-zfs-zed-failures-nixos/</guid><description>Understanding ZFS ZED Service Failures on NixOS I&apos;m running NixOS with ZFS, and couple timed during updates I&apos;ve faced an issue with the ZFS Event Daemon ( zfs zed ) service. A typical error message looks like this: Why Does This Happen? When the Linux kernel updates on NixOS, the corresponding ZFS…</description><pubDate>Tue, 06 May 2025 00:00:00 GMT</pubDate><category>nix</category><category>zfs</category></item><item><title>Using renovate to update Nix flakes</title><link>https://sbulav.github.io/nix/renovate-update-nix-flake/</link><guid isPermaLink="true">https://sbulav.github.io/nix/renovate-update-nix-flake/</guid><description>Renovate is an essential tool for managing dependencies automatically. Integrating Renovate with your Nix Flake based project ensures timely updates, maintains security, and keeps your project streamlined. Here&apos;s how to onboard your repository and configure Renovate effectively. Step by Step…</description><pubDate>Mon, 05 May 2025 00:00:00 GMT</pubDate><category>nix</category></item><item><title>Switching from nil to nixd Language Server for Better Nix Development Experience</title><link>https://sbulav.github.io/vim/neovim-setting-up-nixd/</link><guid isPermaLink="true">https://sbulav.github.io/vim/neovim-setting-up-nixd/</guid><description>I was using nil language server for a while, and it was working fine. However, after a great video from vimjoyer&apos;s new video nixd seems to have more features, as it is in very active development state right now. Among the killer features for me was options auto completion. While vimjoyer did a…</description><pubDate>Fri, 25 Oct 2024 00:00:00 GMT</pubDate><category>vim</category></item><item><title>Running testcontainers in Kubernetes with KubeDock</title><link>https://sbulav.github.io/kubernetes/running-testcontainers-in-kubernetes/</link><guid isPermaLink="true">https://sbulav.github.io/kubernetes/running-testcontainers-in-kubernetes/</guid><description>Testcontainers is great framework for replacing complicated mocks in tests with the real dependencies like databases, message queues, etc.. in containers. Developers love this framework, and it&apos;s really easy to get it running on the local machine. However, running testcontainers in Kubernetes, as…</description><pubDate>Tue, 20 Aug 2024 00:00:00 GMT</pubDate><category>kubernetes</category><category>containers</category></item><item><title>Validating Gitlab CI in Neovim</title><link>https://sbulav.github.io/vim/neovim-validating-gitlab-ci/</link><guid isPermaLink="true">https://sbulav.github.io/vim/neovim-validating-gitlab-ci/</guid><description>I really enjoyed using nvim jenkinsfile linter when I was writing Jenkinsfiles. Simple yet useful, this plugin helped to speed up writing Jenkins pipelines as I didn&apos;t have to to Jenkins Web UI to check if my pipeline is correct. Now I&apos;m writing Gitlab CI, and I couldn&apos;t find any plugin with such…</description><pubDate>Mon, 15 Apr 2024 00:00:00 GMT</pubDate><category>vim</category></item><item><title>Fingerprint Authentication with fprintd on NixOS</title><link>https://sbulav.github.io/nix/nix-fingerprint-authentication/</link><guid isPermaLink="true">https://sbulav.github.io/nix/nix-fingerprint-authentication/</guid><description>Introduction If you&apos;re running NixOs on your laptop, and your laptop have fingrerprint scanner, it can be very convenient to use it for authentication. I couldn&apos;t find any articles on setting up fprintd on NixOS, so I&apos;ll share how I&apos;ve done it. I am using regreet for my login manager, and, while it…</description><pubDate>Wed, 18 Oct 2023 00:00:00 GMT</pubDate><category>nix</category><category>authentication</category></item><item><title>Nix Colemak-DH layout</title><link>https://sbulav.github.io/nix/nix-colemak-dh/</link><guid isPermaLink="true">https://sbulav.github.io/nix/nix-colemak-dh/</guid><description>NixOs is gaining a lot of attentions right now. I&apos;ve also decided to try to use is as my daily driver. I won&apos;t go into the details of installation of nixos, or setting up flake. Check out Introduction to Nix &amp; NixOS free ebook and Nix starter configis As I use Colemak Mod DH layout, this was must…</description><pubDate>Fri, 29 Sep 2023 00:00:00 GMT</pubDate><category>nix</category><category>colemak</category></item><item><title>Vim numbered lists</title><link>https://sbulav.github.io/vim/neovim-numbered-lists/</link><guid isPermaLink="true">https://sbulav.github.io/vim/neovim-numbered-lists/</guid><description>When writing markdown, it&apos;s super common that you need numbered lists. (Neo)Vim has built in support which makes creating numbered lists like a breeze. Making a list of numbers article covers many approaches to creating lists, but it&apos;s hard to find the true gem automatic numbering. See :help v g…</description><pubDate>Tue, 07 Feb 2023 00:00:00 GMT</pubDate><category>vim</category></item><item><title>Testing Infrastructure as Code: How to Solve The Common Challenges</title><link>https://sbulav.github.io/webinar/testing-infrastructure-as-a-code/</link><guid isPermaLink="true">https://sbulav.github.io/webinar/testing-infrastructure-as-a-code/</guid><description>If you&apos;re interested in Testing Infrastructure as Code, join me Feb 27 2023, 1:00pm with the By watching this webinar, you will learn: The importance of testing infrastructure code with Terraform How to use TFTest to test your devops infra modules Techniques for running tests in parallel and…</description><pubDate>Mon, 06 Feb 2023 00:00:00 GMT</pubDate><category>terraform</category><category>infrastructure</category><category>presentation</category></item><item><title>Truenas Scale UPS reporting</title><link>https://sbulav.github.io/truenas/truenas-ups-reporting/</link><guid isPermaLink="true">https://sbulav.github.io/truenas/truenas-ups-reporting/</guid><description>I continue my adventures with TrueNas Scale. After configuring UPS I wanted to see the UPS graphs on the reporting page, but they were empty. As it turns out, now reporting for UPS is broken, and you have to dig deep to make it work due to the following reasons: CollectD Debian maintainers disabled…</description><pubDate>Thu, 17 Nov 2022 00:00:00 GMT</pubDate><category>truenas</category><category>ups</category></item><item><title>Truenas Scale monitoring Huawei UPS2000G</title><link>https://sbulav.github.io/truenas/truenas-ups-huawei2000/</link><guid isPermaLink="true">https://sbulav.github.io/truenas/truenas-ups-huawei2000/</guid><description>To protect my TrueNas Scale installation from power outage, I bought a UPS. I had a good deal on Huawei UPS2000G, and considering that it&apos;s an online UPS it was a no brainer for me. However, with all it&apos;s advantages, it has some drawbacks: Pretty loud fans, which doesn&apos;t make it a good fit for home…</description><pubDate>Tue, 15 Nov 2022 00:00:00 GMT</pubDate><category>truenas</category><category>ups</category></item><item><title>Truenas Scale configure kubectl k9s</title><link>https://sbulav.github.io/truenas/truenas-installing-kubectl/</link><guid isPermaLink="true">https://sbulav.github.io/truenas/truenas-installing-kubectl/</guid><description>TrueNas Scale uses k3s, which is a lightweight Kubernetes distribution. It&apos;s intended to be used only as platform for APPS, but I don&apos;t see why you can&apos;t use it as your playground. Connecting to TrueNas k3s locally This way you connect to k3s locally, which is more secure than exposing your…</description><pubDate>Thu, 10 Nov 2022 00:00:00 GMT</pubDate><category>truenas</category><category>kubectl</category><category>k9s</category></item><item><title>Truenas scale install fish</title><link>https://sbulav.github.io/truenas/truenas-install-fish/</link><guid isPermaLink="true">https://sbulav.github.io/truenas/truenas-install-fish/</guid><description>Recently I bought a server that I will be using as NAS/HomeLab. My OS of choice for this server is TrueNas Scale. It&apos;s a great OS with a polished web interface, but for HomeLab you want to play around with it and customize a lot of things. So I thought that I&apos;ll write a series of blog posts sharing…</description><pubDate>Wed, 09 Nov 2022 00:00:00 GMT</pubDate><category>truenas</category><category>fish</category></item><item><title>GitOps Certified for Argo II</title><link>https://sbulav.github.io/certifications/gitops-at-scale/</link><guid isPermaLink="true">https://sbulav.github.io/certifications/gitops-at-scale/</guid><description>I&apos;ve passed the course GitOps at Scale and follow up exam: This is a second course on ArgoCD. It has short and precise materials, useful pieces of advice on deploying and managing ArgoCD. The team did a great job on this course! During this course you&apos;ll learn: How to manage external clusters with…</description><pubDate>Tue, 04 Oct 2022 00:00:00 GMT</pubDate><category>kubernetes</category><category>gitops</category><category>certifications</category></item><item><title>TIL - Terraform refactor resources without recreation</title><link>https://sbulav.github.io/til/terraform/til-terraform-refactor-without-recreation/</link><guid isPermaLink="true">https://sbulav.github.io/til/terraform/til-terraform-refactor-without-recreation/</guid><description>Today I learned that since v1.1 , you can move Terraform resources into modules without recreation using moved block. Refactoring doc covers such use cases as renaming resources, enabling count or for each and splitting module into multiple modules. But this doc don&apos;t cover my use case, move one or…</description><pubDate>Fri, 30 Sep 2022 00:00:00 GMT</pubDate><category>terraform</category></item><item><title>TIL - Kubectl integrated Kustomize</title><link>https://sbulav.github.io/til/kubernetes/til-kubectl-integrated-kustomize/</link><guid isPermaLink="true">https://sbulav.github.io/til/kubernetes/til-kubectl-integrated-kustomize/</guid><description>Today I learned that since 1.14, &apos;kubectl&apos; has Kustomize integrated in it: I don&apos;t know how I&apos;ve missed this change, but it&apos;s nice to know. More info: Declarative Management of Kubernetes Objects Using Kustomize</description><pubDate>Fri, 09 Sep 2022 00:00:00 GMT</pubDate><category>kubernetes</category></item><item><title>Monitoring Calico with kube-stack-prometheus</title><link>https://sbulav.github.io/kubernetes/monitoring-calico-kube-stack-prometheus/</link><guid isPermaLink="true">https://sbulav.github.io/kubernetes/monitoring-calico-kube-stack-prometheus/</guid><description>Monitoring of each Kubernetes component is very important, and Calico is not exception. Today I learned that Calico provides capabilities to export Prometheus metrics out of the box. However, Official documentation is a bit misleading and examples from it doesn&apos;t work with Prometheus installed via…</description><pubDate>Thu, 04 Aug 2022 00:00:00 GMT</pubDate><category>calico</category><category>kubernetes</category><category>prometheus</category></item><item><title>Neovim opening GitHub repos URLs</title><link>https://sbulav.github.io/vim/neovim-opening-github-repos/</link><guid isPermaLink="true">https://sbulav.github.io/vim/neovim-opening-github-repos/</guid><description>I have a very useful mapping in my Neovim: gx , which opens the URL under the cursor in the browser. I even wrote a blog post on it: Neovim Opening URLs This blog post is a bit outdated,especially with the newly introduced way of setting up mappings through vim.keymap.set , but still works like a…</description><pubDate>Wed, 27 Jul 2022 00:00:00 GMT</pubDate><category>vim</category><category>git</category></item><item><title>TIL - Adding maps to Github markdown files/blog posts</title><link>https://sbulav.github.io/til/til-adding-maps-to-github-markdown/</link><guid isPermaLink="true">https://sbulav.github.io/til/til-adding-maps-to-github-markdown/</guid><description>Today I learned that you can embed maps in geoJSON and topoJSON format into your markdown files. For example, you can select desired area in the geojson.io, copy the code and embed it like this: This snippet will be rendered automatically in your markdown files. To paste this in GitHub Pages, use…</description><pubDate>Wed, 29 Jun 2022 00:00:00 GMT</pubDate><category>github</category></item><item><title>Passed a few free Kubernetes Certifications</title><link>https://sbulav.github.io/certifications/passed-few-free-kubernetes-certifications/</link><guid isPermaLink="true">https://sbulav.github.io/certifications/passed-few-free-kubernetes-certifications/</guid><description>I&apos;ve passed some free courses and corresponding certifications, which I find pretty useful. Certified Calico Operator: Level 1 CCO L1 course will arm you with the knowledge you need to understand how Kubernetes networking works, how to configure and manage a Calico network, and how to secure your…</description><pubDate>Thu, 09 Jun 2022 00:00:00 GMT</pubDate><category>kubernetes</category><category>calico</category><category>certifications</category></item><item><title>Implementing Calico CNI on existing cluster</title><link>https://sbulav.github.io/aws/aws-calico-implementing-on-existing-cluster/</link><guid isPermaLink="true">https://sbulav.github.io/aws/aws-calico-implementing-on-existing-cluster/</guid><description>In one of our production clusters, we&apos;ve faced the issue of depleting the IP addresses, due to how ENI assigns and reserves IP addresses. You can check out ENI Max Pods for the numbers. The most obvious choice is to use a different CNI plugin for the EKS, with Calico being the most popular one.…</description><pubDate>Tue, 07 Jun 2022 00:00:00 GMT</pubDate><category>aws</category><category>calico</category></item><item><title>Signing Git commits in NeoVim</title><link>https://sbulav.github.io/vim/neovim-signing-git-commits/</link><guid isPermaLink="true">https://sbulav.github.io/vim/neovim-signing-git-commits/</guid><description>While all commits to GitHub through the web interface are automatically signed, you have to do some configuration to make it work in the console. Signing Git commits might be a requirement for your job, OpenSource maintainers might only accept signed contributions or you might just want to increase…</description><pubDate>Mon, 16 May 2022 00:00:00 GMT</pubDate><category>vim</category><category>git</category></item><item><title>TIL - Keda and DataDog don&apos;t work together</title><link>https://sbulav.github.io/til/aws/til-keda-datadog-dont-work-together/</link><guid isPermaLink="true">https://sbulav.github.io/til/aws/til-keda-datadog-dont-work-together/</guid><description>Today I learned that Keda and DataDog don&apos;t work together. I was trying to implement automatic scaling based on the AWS SQS Queue. While according to the Scaler Documentation, everything should work, I kept receiving weird error messages. After some in depth investigation, I’ve figured out that…</description><pubDate>Wed, 27 Apr 2022 00:00:00 GMT</pubDate><category>aws</category></item><item><title>Two years to the blog</title><link>https://sbulav.github.io/blog/two-years-to-blog/</link><guid isPermaLink="true">https://sbulav.github.io/blog/two-years-to-blog/</guid><description>Today marks two years of this blog. I wrote my first post on this blog on 2020.04.15. For two years, I wrote 73 posts, some of which become popular. In this post, I&apos;ll share some statistics about my blog, and I will use Google Analytics for that. Audience My audience slowly grew from zero, recently…</description><pubDate>Fri, 15 Apr 2022 00:00:00 GMT</pubDate><category>blog</category></item><item><title>Improving work with Terraform in Neovim</title><link>https://sbulav.github.io/vim/neovim-improving-work-with-terraform/</link><guid isPermaLink="true">https://sbulav.github.io/vim/neovim-improving-work-with-terraform/</guid><description>Working with Terraform on a daily basis and using Neovim as my main and only editor, I recently figured out a few improvements, which I&apos;ll share in this blog post. Correctly detecting TF filetype Many users of NeoVim use filetype.nvim, which replaces native filetype detection and speeds up Neovim…</description><pubDate>Wed, 06 Apr 2022 00:00:00 GMT</pubDate><category>vim</category></item><item><title>Becoming Packt&apos;s technical reviewer</title><link>https://sbulav.github.io/kubernetes/becoming-packt-technical-reviewer/</link><guid isPermaLink="true">https://sbulav.github.io/kubernetes/becoming-packt-technical-reviewer/</guid><description>I&apos;ve became a technical reviewer for the book Kubernetes – An Enterprise Guide Second Edition Today I&apos;ve received my printed copy of the book: I thought that I should share my thoughts if it&apos;s worth it. When you agree to became a technical reviewer, you sign a contract with Packt. For me, the…</description><pubDate>Thu, 20 Jan 2022 00:00:00 GMT</pubDate><category>kubernetes</category><category>packt</category></item><item><title>TIL - Neovim automatic highlighting references with LSP</title><link>https://sbulav.github.io/til/til-neovim-highlight-references/</link><guid isPermaLink="true">https://sbulav.github.io/til/til-neovim-highlight-references/</guid><description>Today I learned a pretty cool LSP feature automatic highlighting of references for the current text position: To make it work, a few requirements have to be met: Your LSP must support such capabilities Your colorscheme must support highlight groups defined Make it work by introducing autocommands…</description><pubDate>Thu, 20 Jan 2022 00:00:00 GMT</pubDate><category>vim</category></item><item><title>Participating in Digital Ocean Kubernetes Challenge</title><link>https://sbulav.github.io/kubernetes/participating-in-do-k8s-challenge/</link><guid isPermaLink="true">https://sbulav.github.io/kubernetes/participating-in-do-k8s-challenge/</guid><description>When I saw that Digital Ocean @digitalocean is organizing a Kubernetes Challenge I decided that I&apos;ll participate. The idea behind the challenge is pretty cool you pick one of the proposed scenarios, DO give you some credit to implement this scenario, you create a write up describing your…</description><pubDate>Wed, 19 Jan 2022 00:00:00 GMT</pubDate><category>kubernetes</category><category>digital-ocean</category></item><item><title>TIL - Neovim lsp uses tag stack</title><link>https://sbulav.github.io/til/til-neovim-lsp-tagstack/</link><guid isPermaLink="true">https://sbulav.github.io/til/til-neovim-lsp-tagstack/</guid><description>When you use Neovim LSP functions like vim.lsp.buf.definition() or vim.lsp.buf.implementation() , your cursor jumps to the corresponding position. Your previous position is added to the jumplist. However, if you start jumping around, your jumplist quickly becomes populated with irrelevant jumps and…</description><pubDate>Thu, 13 Jan 2022 00:00:00 GMT</pubDate><category>vim</category></item><item><title>Kubernetes debug autoscaler issues</title><link>https://sbulav.github.io/kubernetes/kubernetes-troubleshooting-autoscaler/</link><guid isPermaLink="true">https://sbulav.github.io/kubernetes/kubernetes-troubleshooting-autoscaler/</guid><description>To understand what&apos;s going on on the market, it&apos;s useful to apply to open positions from time to time. This provides an opportunity to: figure out your weak spots understand fair pay for your skills and knowledge solve interesting technical challenges One of such interesting technical challenges…</description><pubDate>Wed, 22 Dec 2021 00:00:00 GMT</pubDate><category>kubernetes</category></item><item><title>TIL - Adding mp4 mov to Github markdown files/blog posts</title><link>https://sbulav.github.io/til/til-adding-video-to-github-markdown/</link><guid isPermaLink="true">https://sbulav.github.io/til/til-adding-video-to-github-markdown/</guid><description>In the beginning of 2021, Nat Friedman announced that Video files that you drop onto markdown files are now automatically embedded! While that sounded pretty cool, there were 2 things which didn&apos;t let me try this feature: 1. All demos showed that .mp4 files were added to the README.md, so I thought…</description><pubDate>Tue, 21 Dec 2021 00:00:00 GMT</pubDate><category>github</category></item><item><title>GitOps Certified for Argo</title><link>https://sbulav.github.io/certifications/gitops-certified-for-argo/</link><guid isPermaLink="true">https://sbulav.github.io/certifications/gitops-certified-for-argo/</guid><description>I&apos;ve passed the course GitOps Fundamentals and follow up exam: The course is free, and all you need to pass the Exam is some time and patience. The course gives some insights how ArgoCD and Argo Rollouts works. In a simple way. Even if you never worked with ArgoCD you&apos;ll be taught how to install…</description><pubDate>Mon, 20 Dec 2021 00:00:00 GMT</pubDate><category>kubernetes</category><category>gitops</category><category>certifications</category></item><item><title>Neovim enhancing completion with TabNine</title><link>https://sbulav.github.io/vim/neovim-enhancing-completion-with-tabnine/</link><guid isPermaLink="true">https://sbulav.github.io/vim/neovim-enhancing-completion-with-tabnine/</guid><description>While everyone is hyped about GitHub&apos;s Copilot, I&apos;ve discovered TabNine, an AI completion that I enjoy a lot. When Copilot is aiming to write the whole function for you, TabNine just tries to intelligently complete the current line. Furthermore, the current implementation of Copilot for vim looks…</description><pubDate>Thu, 09 Dec 2021 00:00:00 GMT</pubDate><category>vim</category></item><item><title>TIL - Conventional Commits</title><link>https://sbulav.github.io/til/til-conventional-commits/</link><guid isPermaLink="true">https://sbulav.github.io/til/til-conventional-commits/</guid><description>In my daily work, I try to use sane commits messages. Here&apos;s a typical example of my commit messages: While they&apos;re make sense, there&apos;s a better approach to writing commit messages. Today I learned that there&apos;s a whole specification for writing Conventional Commits. They provide a nice and…</description><pubDate>Tue, 30 Nov 2021 00:00:00 GMT</pubDate><category>git</category></item><item><title>Neovim setting up snippets with luasnip</title><link>https://sbulav.github.io/vim/neovim-setting-up-luasnip/</link><guid isPermaLink="true">https://sbulav.github.io/vim/neovim-setting-up-luasnip/</guid><description>I&apos;ve wanted to start using snippets for a while, but never actually invest time into figuring out how snippets work. The idea to expand blocks of text/code just but pressing a few key strokes seems very interesting. At the time of writing, there&apos;s a good amount of snippet plugins available for…</description><pubDate>Mon, 22 Nov 2021 00:00:00 GMT</pubDate><category>vim</category></item><item><title>TIL - Kubernetes slow PV mount</title><link>https://sbulav.github.io/til/til-kubernetes-slow-pv-mount/</link><guid isPermaLink="true">https://sbulav.github.io/til/til-kubernetes-slow-pv-mount/</guid><description>During my investigation of Pods taking a long time to start (20+ minutes) I saw following message in Pod&apos;s logs: I figured out that PVs are unavailable for reattaching as, due to enforced fsGroup , every time before mounting PV, SetVolumeOwnership() is run against the volume. For small volumes,…</description><pubDate>Wed, 15 Sep 2021 00:00:00 GMT</pubDate><category>kubernetes</category></item><item><title>Using ArgoCD with Azure ACR</title><link>https://sbulav.github.io/azure/using-argocd-with-azure-acr/</link><guid isPermaLink="true">https://sbulav.github.io/azure/using-argocd-with-azure-acr/</guid><description>If you want to feel the taste of the GitOps approach one of the best tools on the market at the moment is ArgoCD. It has all the features you&apos;d like to see from such tool and is stable enough to use it in production. As I&apos;m a huge fan of Helm, the ability to deploy Helm charts is a killer feature…</description><pubDate>Wed, 15 Sep 2021 00:00:00 GMT</pubDate><category>kubernetes</category><category>argocd</category></item><item><title>TIL - Helm chart-testing custom values</title><link>https://sbulav.github.io/til/til-helm-chart-testing-custom-values/</link><guid isPermaLink="true">https://sbulav.github.io/til/til-helm-chart-testing-custom-values/</guid><description>Testing your changes to the Helm chart is a must if you want to minimize the risk of failure. There are a set of techniques, which you may use to validate your chart: Running helm lint Running helm template Running helm upgrade dry run against real installation Installing helm chart to Kubernetes…</description><pubDate>Mon, 02 Aug 2021 00:00:00 GMT</pubDate><category>helm</category><category>kubernetes</category></item><item><title>TIL - Helm respect current replicas</title><link>https://sbulav.github.io/til/til-helm-respect-current-replicas/</link><guid isPermaLink="true">https://sbulav.github.io/til/til-helm-respect-current-replicas/</guid><description>When you upgrade deployed Helm chart, you probably have replicas defined in values or pass it through set . But sometimes it&apos;s useful to respect the current amount of replicas, for example: If you&apos;re using Horizontal Pod Autoscaler If you&apos;re managing replicas through external automatization/script.…</description><pubDate>Fri, 18 Jun 2021 00:00:00 GMT</pubDate><category>helm</category><category>kubernetes</category></item><item><title>Neovim Telescope Github plugin</title><link>https://sbulav.github.io/vim/neovim-writing-lua-plugins/</link><guid isPermaLink="true">https://sbulav.github.io/vim/neovim-writing-lua-plugins/</guid><description>As an active user and developer of Github Actions, I spend a lot of time watching how the run goes on and reviewing logs of unsuccessful runs. So far I had to constantly hop between Neovim and Browser with opened runs. I was looking into how my workflow can be improved and usage of CLI tool gh was…</description><pubDate>Mon, 07 Jun 2021 00:00:00 GMT</pubDate><category>vim</category><category>github actions</category></item><item><title>TIL - Learning github script</title><link>https://sbulav.github.io/til/til-learning-github-script/</link><guid isPermaLink="true">https://sbulav.github.io/til/til-learning-github-script/</guid><description>If you&apos;re managing a lot of GitHub repositories you&apos;re probably using GitHub Actions. One extremely powerful action is github script. Using this script you can access any of GitHub APIs to do such things as modify repository permissions, manage GitHub App Installations, spread secrets, and many…</description><pubDate>Wed, 26 May 2021 00:00:00 GMT</pubDate><category>github</category><category>typescript</category></item><item><title>Monitoring GitHub Rate limits</title><link>https://sbulav.github.io/monitoring/monitoring-github-rate-limits/</link><guid isPermaLink="true">https://sbulav.github.io/monitoring/monitoring-github-rate-limits/</guid><description>If you&apos;re an active user of GitHub API, pretty soon you&apos;ll reach your account&apos;s rate limit 5000 requests per hour for authenticated user. To overcome this limitation, you can split your workload among different workloads, use conditional requests which does not count against your Rate Limit or use…</description><pubDate>Tue, 18 May 2021 00:00:00 GMT</pubDate><category>github</category><category>prometheus</category></item><item><title>Git fzf wrappers for fish</title><link>https://sbulav.github.io/fish/git-fzf-wrappers-for-fish/</link><guid isPermaLink="true">https://sbulav.github.io/fish/git-fzf-wrappers-for-fish/</guid><description>I was reading through the list of changes of new fzf version and, as it sometimes happened, found myself in a different place. This time, it was Key bindings for git with fzf Gist. Unfortunately, since I&apos;m using fish, those functions didn&apos;t work for me and I&apos;ve to adapt them to fish. Also, I added…</description><pubDate>Mon, 12 Apr 2021 00:00:00 GMT</pubDate><category>til</category><category>fzf</category><category>fish</category></item><item><title>Restarting GitHub action from CLI</title><link>https://sbulav.github.io/til/restarting-github-action-from-cli/</link><guid isPermaLink="true">https://sbulav.github.io/til/restarting-github-action-from-cli/</guid><description>GitHub Actions is still pretty new and missing a lot of functionality. One of such missing features was the ability to interact with Actions from the command line. gh is the CLI for GitHub and for GitHub Actions. With the latest gh release (1.8.1 at the time of writing), developers added gh rerun…</description><pubDate>Thu, 08 Apr 2021 00:00:00 GMT</pubDate><category>github</category><category>github actions</category></item><item><title>Vim my favourite keymapping</title><link>https://sbulav.github.io/vim/neovim-my-favourite-keymapping/</link><guid isPermaLink="true">https://sbulav.github.io/vim/neovim-my-favourite-keymapping/</guid><description>I don&apos;t think that there is a single person who likes Vim&apos;s Ex mode. And keymapping used to trigger this shortcut, Q regularly gets occasionally triggered. A lot of people unmap it to prevent accidentally entering Ex mode, but for myself I found a better solution: This keymap: Lets me close any…</description><pubDate>Fri, 02 Apr 2021 00:00:00 GMT</pubDate><category>vim</category></item><item><title>Switch to Colemak</title><link>https://sbulav.github.io/typing/switch-to-colemak/</link><guid isPermaLink="true">https://sbulav.github.io/typing/switch-to-colemak/</guid><description>It&apos;s been a week since I entirely switched my keyboard layout to Colemak DH. If you have never heard of it, it&apos;s an alternative to QWERTY 12 finger keys moved. This move is carefully designed to make typing more comfortable by placing most used keys on a home row so that your fingers remain on the…</description><pubDate>Fri, 26 Mar 2021 00:00:00 GMT</pubDate><category>colemak</category><category>layout</category></item><item><title>Passed Certified Kubernetes Security Exam</title><link>https://sbulav.github.io/certifications/passed-certified-kubernetes-security-exam/</link><guid isPermaLink="true">https://sbulav.github.io/certifications/passed-certified-kubernetes-security-exam/</guid><description>I&apos;ve passed Certified Kubernetes Security Specialist Exam with score 84%: This also means that now I obtain all three Kubernetes Certifications from LinuxFoundation(CKAD, CKA and CKS). Compared to my previous attempt on beta exam I was well prepared, but still could feel time pressure. Exam itself…</description><pubDate>Fri, 19 Mar 2021 00:00:00 GMT</pubDate><category>kubernetes</category><category>certifications</category><category>cks</category></item><item><title>TIL - Commenting current command in shell</title><link>https://sbulav.github.io/til/til-commenting-current-line-in-shell/</link><guid isPermaLink="true">https://sbulav.github.io/til/til-commenting-current-line-in-shell/</guid><description>Today I discovered that command, which you are typing in shell(fish or bash) can be quickly commented via ALT SHIFT 3 key mapping. If command already starts with &quot; &quot;, the same mapping will remove comment.</description><pubDate>Fri, 26 Feb 2021 00:00:00 GMT</pubDate><category>fish</category></item><item><title>Neovim writing LUA plugins</title><link>https://sbulav.github.io/vim/neovim-telescope-github/</link><guid isPermaLink="true">https://sbulav.github.io/vim/neovim-telescope-github/</guid><description>Recently the Neovim community has been experiencing a boom in new plugins. Those plugins are written in LUA, which is much, much more pleasant to write than VimL. In this post, I&apos;ll share my experience with writing my plugins and share some suggestions how developer can improve writing experience.…</description><pubDate>Mon, 22 Feb 2021 00:00:00 GMT</pubDate><category>vim</category></item><item><title>Neovim opening URLs</title><link>https://sbulav.github.io/vim/neovim-opening-urls/</link><guid isPermaLink="true">https://sbulav.github.io/vim/neovim-opening-urls/</guid><description>Vim has built in functionality to open URLs directly by executing gx in normal mode. This functionality is provided by netrw plugin :h netrw gx However, in MacOS this functionality is buggy or don&apos;t work at all, see Related BUG. Furthermore, if you&apos;re using different from netrw file browser(for…</description><pubDate>Mon, 08 Feb 2021 00:00:00 GMT</pubDate><category>vim</category></item><item><title>CKS preparation - abusing ServiceAccount to grant privileges</title><link>https://sbulav.github.io/certifications/cks-abusing-serviceaccount-to-grant-privileges/</link><guid isPermaLink="true">https://sbulav.github.io/certifications/cks-abusing-serviceaccount-to-grant-privileges/</guid><description>In this article I will show how Kubernetes ServiceAccount can used to gain privileges. Of course, all this information should be only used for preparation to CKS exam. Let&apos;s say that we have a developer John, who has limited privileged in namespace frontend : But for debugging purposes, he was…</description><pubDate>Wed, 03 Feb 2021 10:00:00 GMT</pubDate><category>kubernetes</category><category>certifications</category><category>cks</category></item><item><title>CKS preparation - RBAC apiGroups</title><link>https://sbulav.github.io/certifications/cks-rbac-apigroups/</link><guid isPermaLink="true">https://sbulav.github.io/certifications/cks-rbac-apigroups/</guid><description>During my CKS preparations, I&apos;ve faced with one not obvious thing selection apiGroups in RBAC rules. Resources in Kubernetes are associated with API Groups (for example, Pods belong to the core API group whereas Deployments belong to the apps API group). As an illustration: this example will not…</description><pubDate>Thu, 28 Jan 2021 10:00:00 GMT</pubDate><category>kubernetes</category><category>certifications</category><category>cks</category></item><item><title>Neovim train motions</title><link>https://sbulav.github.io/vim/neovim-train-motions/</link><guid isPermaLink="true">https://sbulav.github.io/vim/neovim-train-motions/</guid><description>I&apos;ve found very interesting but little known neovim plugin, train.nvim. It&apos;s readme is pretty confusing, so I&apos;ll describe it here. Introduction Vim movements can be grouped as: Left/Right &apos;h&apos;, &apos;l&apos;, &apos;0&apos;, &apos;gm&apos;, &apos;gM&apos;, &apos;^&apos;, &apos;$&apos;, they move your cursor across the line :h left right motions Up/Down &apos;k&apos;,…</description><pubDate>Thu, 21 Jan 2021 00:00:00 GMT</pubDate><category>vim</category></item><item><title>CKS preparation - setting up gVisor</title><link>https://sbulav.github.io/certifications/cks-gvisor/</link><guid isPermaLink="true">https://sbulav.github.io/certifications/cks-gvisor/</guid><description>One of the topics for the Certifies Kubernetes Security Exam(CKS) is usage of gVisor as container runtime. While in theory configuring gVisor shouldn&apos;t be hard, I&apos;ve found it difficult to get up and running. gVisor documentation alone is definitely not enough to configure gVisor as runtime. In this…</description><pubDate>Thu, 17 Dec 2020 10:00:00 GMT</pubDate><category>kubernetes</category><category>certifications</category><category>cks</category></item><item><title>My attempt on Certified Kubernetes Security beta Exam</title><link>https://sbulav.github.io/certifications/certified-kubernetes-security-beta/</link><guid isPermaLink="true">https://sbulav.github.io/certifications/certified-kubernetes-security-beta/</guid><description>As a Senior Engineer at EPAM who works with Kubernetes on a daily basis I was invited to take CKS beta exam. I didn&apos;t have time to prepare for the exam and, considering that there were almost no information at the time except for curriculum, I think I did pretty well. I didn&apos;t pass the exam, but…</description><pubDate>Fri, 20 Nov 2020 00:00:00 GMT</pubDate><category>kubernetes</category><category>certifications</category><category>cks</category></item><item><title>Passing Custom Data to Terraform Azure RM Compute Module</title><link>https://sbulav.github.io/terraform/terraform-azurerm-compute-custom-data/</link><guid isPermaLink="true">https://sbulav.github.io/terraform/terraform-azurerm-compute-custom-data/</guid><description>If you use Azure RM Compute Module from Terraform Registry you were probably thinking of ways to configure VM during provisioning. And there&apos;s a bunch of, one of which is to use Azure Compute module&apos;s custom data to pass configuration script: As you can see, documentation is really sparse, and if…</description><pubDate>Fri, 13 Nov 2020 00:00:00 GMT</pubDate><category>terraform</category><category>azure</category></item><item><title>TIL - Building Docker Images remotely in ACR</title><link>https://sbulav.github.io/til/til-building-docker-images-in-acr/</link><guid isPermaLink="true">https://sbulav.github.io/til/til-building-docker-images-in-acr/</guid><description>Today I&apos;ve learned that Azure Container Registry can build Docker images for you. Using az cli you&apos;re sending Dockerfile and contents of folder you&apos;re trying to build image from. Azure will do the actual build and store resulting image in ACR. This is pretty useful for me, since often I work from…</description><pubDate>Fri, 23 Oct 2020 00:00:00 GMT</pubDate><category>docker</category><category>azure</category></item><item><title>Github actions cancelled terraform jobs</title><link>https://sbulav.github.io/terraform/github-actions-cancelled-terraform-jobs/</link><guid isPermaLink="true">https://sbulav.github.io/terraform/github-actions-cancelled-terraform-jobs/</guid><description>Today I&apos;ve faced small but nasty bug in my Terraform solution. You can read about solution in Terraform vs Github Actions and Github actions matrix secrets articles. After one unsuccessful run, Terraform state became locked. Pipeline had following message: As it turned out, Github actions uses fail…</description><pubDate>Wed, 21 Oct 2020 00:00:00 GMT</pubDate><category>terraform</category><category>github actions</category></item><item><title>Github actions matrix secrets</title><link>https://sbulav.github.io/terraform/github-actions-matrix-secrets/</link><guid isPermaLink="true">https://sbulav.github.io/terraform/github-actions-matrix-secrets/</guid><description>My team is continuing migration to GitHub Actions, and one of the pipelines we are working on is Terraform validation pipeline. I&apos;ve described this pipeline in Terraform vs Github Actions article. This pipeline worked great for one environment, but how do you run it to validate multiple…</description><pubDate>Thu, 08 Oct 2020 00:00:00 GMT</pubDate><category>terraform</category><category>github actions</category></item><item><title>Terraform and Azure CosmosDB</title><link>https://sbulav.github.io/terraform/terraform-azure-cosmosdb/</link><guid isPermaLink="true">https://sbulav.github.io/terraform/terraform-azure-cosmosdb/</guid><description>Recently I was creating Terraform IaaC solution for Azure CosmosDB. First step was to find if there is en exising terraform module, which I could use for our needs. Unfortunately, there is no official module in Terraform Registry, like one for Azure PostgreSQL. After some searching, I&apos;ve found…</description><pubDate>Mon, 28 Sep 2020 00:00:00 GMT</pubDate><category>terraform</category><category>cosmosdb</category></item><item><title>TIL - Retrieving Jenkins secrets</title><link>https://sbulav.github.io/til/til-retrieving-jenkins-secrets/</link><guid isPermaLink="true">https://sbulav.github.io/til/til-retrieving-jenkins-secrets/</guid><description>I&apos;m a long time Jenkins user. And I always thought that it&apos;s only possible to get secrets via some kind of expose from runner. However, there&apos;s an easy way(even scary how easy it is). If you have access to Script Console /scripts , you can run following snippet to retrieve ALL secrets: Taken from…</description><pubDate>Wed, 23 Sep 2020 00:00:00 GMT</pubDate><category>jenkins</category></item><item><title>Passed RedHat PE180 exam</title><link>https://sbulav.github.io/certifications/passed-redhat-pe180-exam/</link><guid isPermaLink="true">https://sbulav.github.io/certifications/passed-redhat-pe180-exam/</guid><description>I have successfully passed Red Hat PE180 and earn Red Hat Certified Specialist in Containers for Kubernetes. In this post I will share my experience about motivation, purchasing and preparation for this exam. Motivation Though PE180 is a preliminary exam, according to Red Hat site: Furthermore, in…</description><pubDate>Wed, 16 Sep 2020 00:00:00 GMT</pubDate><category>redhat</category><category>pe180</category></item><item><title>WSL2/VM TLS Handhake failed</title><link>https://sbulav.github.io/wsl/wsl2-vm-tls-handshake-failed/</link><guid isPermaLink="true">https://sbulav.github.io/wsl/wsl2-vm-tls-handshake-failed/</guid><description>Recently I was very annoyed by random TLS errors, for example: I was receiving those errors during executing kubectl commands, pulling docker images, execuing curl or even while copying data via ssh. And what&apos;s worse, those errors were random, without any regularity. I&apos;ve even spin up totally new…</description><pubDate>Mon, 31 Aug 2020 00:00:00 GMT</pubDate><category>fish</category><category>tls</category><category>wsl</category></item><item><title>Terraform vs Github Actions</title><link>https://sbulav.github.io/terraform/terraform-vs-github-actions/</link><guid isPermaLink="true">https://sbulav.github.io/terraform/terraform-vs-github-actions/</guid><description>My project is migrating to github, and one of team intentions was to use github actions instead of Jenkins. However, while building pipeline for Terraform in GitHub actions, things did not went well. In this article I will try to describe issues I&apos;ve faced and how I mitigated them Issue 1: setup…</description><pubDate>Wed, 26 Aug 2020 00:00:00 GMT</pubDate><category>terraform</category><category>github actions</category></item><item><title>Switch to fish shell</title><link>https://sbulav.github.io/fish/switch-to-fish-shell/</link><guid isPermaLink="true">https://sbulav.github.io/fish/switch-to-fish-shell/</guid><description>I had some free time and decide that I should try different shell, specifically fish. I wanted to try it for a long time, but just wasn&apos;t convinced that time investment worth it. But the setup went pretty well, quickly I was able to make it work good enough to make it default shell for my user.…</description><pubDate>Fri, 14 Aug 2020 00:00:00 GMT</pubDate><category>fish</category><category>shell</category></item><item><title>Comparing Enterprise vs Community MongoDB K8S Operators</title><link>https://sbulav.github.io/kubernetes/comparing-mongodb-operators/</link><guid isPermaLink="true">https://sbulav.github.io/kubernetes/comparing-mongodb-operators/</guid><description>Recently I was evaluating MongoDB Kubernetes operators, as one possible way to migrate On Prem MongoDB servers. I weren&apos;t able to find any comparison, so I had to did it on my own. Enterprise vs Community MongoDB K8s Operators Criteria mongodb kubernetes operator mongodb enterprise kubernetes URL…</description><pubDate>Mon, 03 Aug 2020 00:00:00 GMT</pubDate><category>kubernetes</category><category>mongodb</category><category>operators</category></item><item><title>TIL - Neovim automatically wrapping long lines</title><link>https://sbulav.github.io/til/til-neovim-autoformatting-markdown/</link><guid isPermaLink="true">https://sbulav.github.io/til/til-neovim-autoformatting-markdown/</guid><description>While editing markdown files, I try to make them nicely formatted. For me, 80 characters is a good line length. Wrapping text can be boring, especially on already written long non formatted texts. Recently I&apos;ve figured out a few tricks on how to work with such texts. Highlighting 80 characters with…</description><pubDate>Mon, 20 Jul 2020 00:00:00 GMT</pubDate><category>vim</category></item><item><title>Rancher Certified Operator</title><link>https://sbulav.github.io/certifications/rancher-certified-operator/</link><guid isPermaLink="true">https://sbulav.github.io/certifications/rancher-certified-operator/</guid><description>I&apos;ve passed the course Certified Rancher Operator: Level 1 and follow up exam: The course is free, and all you need to pass the Exam is some time and patience. I figured out couple of new concepts about Rancher and clarify confusion about Rancher, RKE and rke. If you work with Rancher on a daily…</description><pubDate>Fri, 03 Jul 2020 00:00:00 GMT</pubDate><category>kubernetes</category><category>rancher</category><category>certifications</category></item><item><title>TIL - Free wildcard domain xip.io</title><link>https://sbulav.github.io/til/til-xip-io/</link><guid isPermaLink="true">https://sbulav.github.io/til/til-xip-io/</guid><description>Sometimes you need to test your application quickly, and setting up new DNS domain, especially in Enterprise, can take ages. Today I learned about xip.io, a magic domain name that provides wildcard DNS for any IP address. Example from their web site: if you IP address is 10.0.0.1. What&apos;s even…</description><pubDate>Fri, 03 Jul 2020 00:00:00 GMT</pubDate><category>dns</category></item><item><title>Using fzf with kubectl as REPL</title><link>https://sbulav.github.io/kubernetes/using-fzf-with-kubectl/</link><guid isPermaLink="true">https://sbulav.github.io/kubernetes/using-fzf-with-kubectl/</guid><description>I was pretty impressed by the article fzf live repl and decide to adapt these techniques in my daily work with Kubernetes. Using fzf as JQ repl Command in the article above didn&apos;t work for me: After some investigation, it turned out that FZF DEFAULT OPTS , which I&apos;ve described in FZF on Fedora were…</description><pubDate>Mon, 08 Jun 2020 00:00:00 GMT</pubDate><category>kubernetes</category><category>til</category><category>fzf</category></item><item><title>Fedora 32 and github pages</title><link>https://sbulav.github.io/blog/fedora32-and-github-pages/</link><guid isPermaLink="true">https://sbulav.github.io/blog/fedora32-and-github-pages/</guid><description>Last week I&apos;ve updated my working machine to Fedora 32. Upgrade went smoothly and, after a week, I thought that I wouldn&apos;t face any issues. However, when today I tried to write a new post to my blog, following error appeared: The file was clearly there and all the permissions were in place. After…</description><pubDate>Wed, 03 Jun 2020 00:00:00 GMT</pubDate><category>blog</category></item><item><title>Kubernetes rewrites</title><link>https://sbulav.github.io/kubernetes/kubernetes-rewrites/</link><guid isPermaLink="true">https://sbulav.github.io/kubernetes/kubernetes-rewrites/</guid><description>As I work with nginx Ingress and rewrite rules on a daily basis, I spend a good amount of time working with them. So I&apos;ve decided to summarize my knowledge in this article. Rewrite Rewrite via annotation nginx.ingress.kubernetes.io/rewrite target is useful when you have some kind of generic…</description><pubDate>Wed, 03 Jun 2020 00:00:00 GMT</pubDate><category>kubernetes</category><category>ingress</category></item><item><title>TIL - Firefox clear recent history</title><link>https://sbulav.github.io/til/til-firefox-clear-recent-history/</link><guid isPermaLink="true">https://sbulav.github.io/til/til-firefox-clear-recent-history/</guid><description>Today I learned super useful shortcut in Firefox to quickly access Clear Recent History menu. Press CTRL SHIFT DELETE and you should see following menu: For me, this shortcut is really useful to quickly clean up stale redirects or cache when developing Nginx Ingress.</description><pubDate>Mon, 25 May 2020 00:00:00 GMT</pubDate><category>firefox</category></item><item><title>TIL - Neovim Highlight yanked text</title><link>https://sbulav.github.io/til/til-neovim-highlight-yanked-text/</link><guid isPermaLink="true">https://sbulav.github.io/til/til-neovim-highlight-yanked-text/</guid><description>I have a bad habit of visually selecting text in (neo)vim before yanking it. I know that it&apos;s not efficient and always wanted to get rid of this habit. Neovim has merged cool PR that I hope could help me hightlight on yank. If you&apos;re on Neovim v0.5.0 519+, you can set up something like: To achieve:</description><pubDate>Mon, 25 May 2020 00:00:00 GMT</pubDate><category>vim</category></item><item><title>Kubectl plugin manager</title><link>https://sbulav.github.io/tools/kubectl-plugin-manager/</link><guid isPermaLink="true">https://sbulav.github.io/tools/kubectl-plugin-manager/</guid><description>I&apos;ve been aware that there is such thing as kubectl plugin manager krew. But plugins available didn&apos;t make much sense for me, at least until now. Lastly I&apos;m digging into nginx ingress and do a lot of troubleshooting of generated nginx configuration files,so I found really useful plugin for that…</description><pubDate>Mon, 18 May 2020 00:00:00 GMT</pubDate><category>kubectl</category><category>krew</category></item><item><title>CKAD theory pt.7 - State persistence</title><link>https://sbulav.github.io/certifications/ckad-state-persistence/</link><guid isPermaLink="true">https://sbulav.github.io/certifications/ckad-state-persistence/</guid><description>This is part 7, last one of my personal notes I&apos;ve written during preparation to CKAD. State persistence Volumes PersistentVolume and PersistentVolumeClaims Volumes The internal storage of a container is ephemeral , meaning that it is designed to be temporary. Ephemeral storage will disappear with…</description><pubDate>Fri, 08 May 2020 00:00:00 GMT</pubDate><category>kubernetes</category><category>certifications</category><category>ckad</category></item><item><title>Book - The Complete Software Developers Career Guide</title><link>https://sbulav.github.io/books/book-the-complete-software-developers-career-guide/</link><guid isPermaLink="true">https://sbulav.github.io/books/book-the-complete-software-developers-career-guide/</guid><description>Finished reading &quot;The Complete Software Developers Career Guide&quot; by John Sonmez. Not the newest one, but it&apos;s still pretty actual. Author is pretty biased and narcissus, but he has many good ideas in his book. For example, I liked the life work balance sections, how to deal with coworkers, how to…</description><pubDate>Thu, 07 May 2020 00:00:00 GMT</pubDate><category>books</category></item><item><title>Setting up FZF on Fedora</title><link>https://sbulav.github.io/tools/fzf-on-fedora/</link><guid isPermaLink="true">https://sbulav.github.io/tools/fzf-on-fedora/</guid><description>I&apos;m using fzf for fuzzy finding in vim, and I am very happy with it. But for bash in Fedora it was a frustrating experience. Shortcuts weren&apos;t working, bash completion, etc.. Ofcourse it was due to me not reading carefully through the documentation, but it&apos;s sparse and it&apos;s easy to get lost. That&apos;s…</description><pubDate>Wed, 06 May 2020 00:00:00 GMT</pubDate><category>fzf</category><category>ripgrep</category></item><item><title>Linkedin location and HR activity</title><link>https://sbulav.github.io/blog/linkedin-location/</link><guid isPermaLink="true">https://sbulav.github.io/blog/linkedin-location/</guid><description>Couple weeks ago I had a discussion on HR&apos;s activity in LinkedIn and location in your profile there. For the sake of curiosity I&apos;ve changed my Location to Minsk, Belarus. Ofcourse, times now are pretty rough and HR activity is at it&apos;s minimum but I haven&apos;t noticed any differences whether it&apos;s…</description><pubDate>Wed, 06 May 2020 00:00:00 GMT</pubDate><category>thoughts</category><category>update</category></item><item><title>TIL - Makefiles advanced usage</title><link>https://sbulav.github.io/til/til-makefiles-advanced/</link><guid isPermaLink="true">https://sbulav.github.io/til/til-makefiles-advanced/</guid><description>I&apos;m a long time user of Makefiles. They&apos;re can be really useful to remember, parametrize, and document long command or chains of commands. I think that Makefiles are underestimated in DevOps world and thought of something like compilers for C. This is not true and Makefiles can be useful for…</description><pubDate>Thu, 30 Apr 2020 00:00:00 GMT</pubDate><category>make</category><category>makefiles</category></item><item><title>TIL - Pasting into Teams</title><link>https://sbulav.github.io/til/til-pasting-into-teams/</link><guid isPermaLink="true">https://sbulav.github.io/til/til-pasting-into-teams/</guid><description>We are using Microsoft Teams as our main collaboration tool. It was really killing me, when I select and copy text from Terminal, paste it into Teams chat and receive some weird looking message: I was thinking that the issue was related with Microsoft Terminal, but it turns out it&apos;s Teams who paste…</description><pubDate>Thu, 30 Apr 2020 00:00:00 GMT</pubDate><category>teams</category></item><item><title>CKAD theory pt.6 - Service Networking</title><link>https://sbulav.github.io/certifications/service-networking/</link><guid isPermaLink="true">https://sbulav.github.io/certifications/service-networking/</guid><description>This is part 6 of my personal notes I&apos;ve written during preparation to CKAD. Configuration Understand Services Demonstrate basic understanding of NetworkPolicies Services Services provides an abstraction layer which provides network access to a dynamic set of pods. Most services use selector to…</description><pubDate>Mon, 27 Apr 2020 00:00:00 GMT</pubDate><category>kubernetes</category><category>certifications</category><category>ckad</category></item><item><title>Adding blog to search engines.</title><link>https://sbulav.github.io/blog/adding-blog-to-search/</link><guid isPermaLink="true">https://sbulav.github.io/blog/adding-blog-to-search/</guid><description>I&apos;ve added blog to Google and Yandex search engines. This was by no mean an easy task. I&apos;ve went throught following steps: Add Google Analytics to blog Validate site and add sitemap to Google Search Console Validate site and add sitemap to Yandex Webmaster Suddenly I realized that many many…</description><pubDate>Fri, 24 Apr 2020 00:00:00 GMT</pubDate><category>thoughts</category></item><item><title>CKAD theory pt.5 - Observability</title><link>https://sbulav.github.io/certifications/ckad-pod-design/</link><guid isPermaLink="true">https://sbulav.github.io/certifications/ckad-pod-design/</guid><description>This is part 5 of my personal notes I&apos;ve written during preparation to CKAD. Configuration Understand how to use Labels, Selectors, and Annotations Understand Deployments and how to perform rolling updates Understand Jobs and CronJobs Labels Selectors and Annotations ConfigMaps allow you to inject…</description><pubDate>Fri, 24 Apr 2020 00:00:00 GMT</pubDate><category>kubernetes</category><category>certifications</category><category>ckad</category></item><item><title>CKAD theory pt.4 - Observability</title><link>https://sbulav.github.io/certifications/ckad-observability/</link><guid isPermaLink="true">https://sbulav.github.io/certifications/ckad-observability/</guid><description>This is part 4 of my personal notes I&apos;ve written during preparation to CKAD. Multi Container Pods Understand LivenessProbes and ReadinessProbes Understand container logging Monitoring applications Debugging Liveness and Readiness Probes Probes allow you to change how k8s treats state of your…</description><pubDate>Thu, 23 Apr 2020 10:00:00 GMT</pubDate><category>kubernetes</category><category>certifications</category><category>ckad</category></item><item><title>TIL - Validating Jenkins Pipeline from CLI</title><link>https://sbulav.github.io/til/til-validating-jenkins-pipelines/</link><guid isPermaLink="true">https://sbulav.github.io/til/til-validating-jenkins-pipelines/</guid><description>During last couple of days I&apos;ve been developing Jenkins CI and CD pipelines. Since I&apos;m get used to Python&apos;s linting tools like flake8 workflow where you have to modify your pipeline in Jenkins &quot;replay&quot;, validate there and only then copy to Jenkinsfile was just killing me. Today I learned that you…</description><pubDate>Thu, 23 Apr 2020 00:00:00 GMT</pubDate><category>jenkins</category></item><item><title>CKAD theory pt.3 - Multi Container Pods</title><link>https://sbulav.github.io/certifications/ckad-multi-container-pods/</link><guid isPermaLink="true">https://sbulav.github.io/certifications/ckad-multi-container-pods/</guid><description>This is part 3 of my personal notes I&apos;ve written during preparation to CKAD. Multi Container Pods Understand Multi Container Pods Patterns Multi Container Pods Multi container pods provide an opportunity to enhance containers with helper containers. Multi container Pods runs in the same namespaces,…</description><pubDate>Wed, 22 Apr 2020 10:00:00 GMT</pubDate><category>kubernetes</category><category>certifications</category><category>ckad</category></item><item><title>Mounting ConfigMap as single file</title><link>https://sbulav.github.io/kubernetes/kubernetes-mounting-config-map-as-single-file/</link><guid isPermaLink="true">https://sbulav.github.io/kubernetes/kubernetes-mounting-config-map-as-single-file/</guid><description>Many guys who work with Kubernetes don&apos;t know that you can mount ConfigMap into existing folder inside a Pod as a single file. In order to do so, you have to specify subPath. For example, to replace nginx&apos;s config with one from ConfigMap:</description><pubDate>Tue, 21 Apr 2020 10:00:00 GMT</pubDate><category>kubernetes</category></item><item><title>Book - Harry Potter and the Methods of Rationality</title><link>https://sbulav.github.io/books/book-harry-potter-and-the-methods-of-rationality/</link><guid isPermaLink="true">https://sbulav.github.io/books/book-harry-potter-and-the-methods-of-rationality/</guid><description>Just finished reading &quot;Harry Potter and the Methods of Rationality&quot;. This is by far the best funfic I&apos;ve ever read. If you love Harry Potter&apos;s universe and ever wondered, what if: Harry would try to analyze magic using science Harry would be smart badass Harry would had his own dark side then this…</description><pubDate>Mon, 20 Apr 2020 09:00:00 GMT</pubDate><category>books</category></item><item><title>CKAD theory pt.2 - Configuration</title><link>https://sbulav.github.io/certifications/ckad-configuration/</link><guid isPermaLink="true">https://sbulav.github.io/certifications/ckad-configuration/</guid><description>This is part 2 of my personal notes I&apos;ve written during preparation to CKAD. Configuration Understand ConfigMaps Understand SecurityContexts Define an application’s resource requirements Create &amp; consume Secrets Understand ServiceAccounts ConfigMaps ConfigMaps allow you to inject text key:value…</description><pubDate>Fri, 17 Apr 2020 10:00:00 GMT</pubDate><category>kubernetes</category><category>certifications</category><category>ckad</category></item><item><title>CKAD theory pt.1 - Core Concepts</title><link>https://sbulav.github.io/certifications/ckad-core_concepts/</link><guid isPermaLink="true">https://sbulav.github.io/certifications/ckad-core_concepts/</guid><description>I thought that I could publish my CKA/CKAD preparation notes, maybe it will be useful for someone. Mostly it&apos;s a compilation of already existing articles, but somewhere I&apos;ve added my own notes. So enjoy pt 1 core components!. Core Components Master Components kube apiserver exposes Kubernetes API…</description><pubDate>Thu, 16 Apr 2020 10:00:00 GMT</pubDate><category>kubernetes</category><category>certifications</category><category>ckad</category></item><item><title>Preparation for CKA/CKA</title><link>https://sbulav.github.io/certifications/cka-preparation/</link><guid isPermaLink="true">https://sbulav.github.io/certifications/cka-preparation/</guid><description>I&apos;m constantly being asked, which resources I&apos;ve used to prepare to CKA/CKAD exams. That&apos;s why I&apos;ve prepared such list. Theory: Courses on Linux Academy: CKA and CKAD. CKA course is pretty poor, practice is sparse. CKAD course here is much better. Kubernetes in Action by Marko Luksa the best book…</description><pubDate>Wed, 15 Apr 2020 10:00:00 GMT</pubDate><category>kubernetes</category><category>certifications</category><category>cka</category><category>ckad</category></item><item><title>Initial post</title><link>https://sbulav.github.io/blog/initial-post/</link><guid isPermaLink="true">https://sbulav.github.io/blog/initial-post/</guid><description>I&apos;ve always wanted to start a blog, and finally I had some time to investigate github pages and create this awesome blog . We&apos;ll see if I&apos;ll have enought time and courage to constantly write posts, but I have serious intention to do so. I&apos;ll start by reponting my linkedin certification&apos;s posts and…</description><pubDate>Wed, 15 Apr 2020 09:00:00 GMT</pubDate><category>thoughts</category><category>update</category></item></channel></rss>