Switching from nil to nixd Language Server for Better Nix Development Experience
I was using nil language server for a while, and it was working fine.
I was using nil language server for a while, and it was working fine.
Testcontainers is great framework for replacing complicated mocks in tests with the real dependencies like databases, message queues, etc.. in containers.
I really enjoyed using nvim-jenkinsfile-linter when I was writing Jenkinsfiles. Simple yet useful, this plugin helped to speed up writing Jenkins pipelines a...
Introduction
NixOs is gaining a lot of attentions right now. I’ve also decided to try to use is as my daily driver. I won’t go into the details of installation of nixos, ...
When writing markdown, it’s super common that you need numbered lists. (Neo)Vim has built-in support which makes creating numbered lists like a breeze.
If you’re interested in Testing Infrastructure as Code, join me Feb 27 2023, 1:00pm with the
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.
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’s an online UPS it ...
TrueNas Scale uses k3s, which is a lightweight Kubernetes distribution. It’s intended to be used only as platform for APPS, but I don’t see why you can’t use...
Recently I bought a server that I will be using as NAS/HomeLab. My OS of choice for this server is TrueNas Scale.
I’ve passed the course GitOps at Scale and follow up exam:
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...
Today I learned that since 1.14, ‘kubectl’ has Kustomize integrated in it:
Monitoring of each Kubernetes component is very important, and Calico is not exception. Today I learned that Calico provides capabilities to export Prometheu...
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
Today I learned that you can embed maps in geoJSON and topoJSON format into your markdown files.
I’ve passed some free courses and corresponding certifications, which I find pretty useful.
In one of our production clusters, we’ve faced the issue of depleting the IP addresses, due to how ENI assigns and reserves IP addresses. You can check out E...
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.
Today I learned that Keda and DataDog don’t work together. I was trying to implement automatic scaling based on the AWS SQS Queue.
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.
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’ll share in this blog...
Today I learned a pretty cool LSP feature - automatic highlighting of references for the current text position:
I’ve became a technical reviewer for the book Kubernetes – An Enterprise Guide - Second Edition
When I saw that Digital Ocean @digitalocean is organizing a Kubernetes Challenge I decided that I’ll participate.
When you use Neovim LSP functions like vim.lsp.buf.definition() or vim.lsp.buf.implementation(), your cursor jumps to the corresponding position. Your previo...
To understand what’s going on on the market, it’s useful to apply to open positions from time to time.
In the beginning of 2021, Nat Friedman announced that Video files that you drop onto markdown files are now automatically embedded!
I’ve passed the course GitOps Fundamentals and follow up exam:
While everyone is hyped about GitHub’s Copilot, I’ve discovered TabNine, an AI completion that I enjoy a lot.
In my daily work, I try to use sane commits messages.
I’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 j...
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’d like to see f...
During my investigation of Pods taking a long time to start (20+ minutes) I saw following message in Pod’s logs:
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 yo...
When you upgrade deployed Helm chart, you probably have replicas defined in values or pass it through set.
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.
If you’re managing a lot of GitHub repositories you’re probably using GitHub Actions. One extremely powerful action is github-script. Using this script you ...
If you’re an active user of GitHub API, pretty soon you’ll reach your account’s rate limit - 5000 requests per hour for authenticated user.
I was reading through the list of changes of new fzf version and, as it sometimes happened, found myself in a different place.
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...
I don’t think that there is a single person who likes Vim’s Ex mode. And keymapping used to trigger this shortcut, Q regularly gets occasionally triggered.
It’s been a week since I entirely switched my keyboard layout to Colemak-DH. If you have never heard of it, it’s an alternative to QWERTY 12 finger keys move...
I’ve passed Certified Kubernetes Security Specialist Exam with score 84%: This also means that now I obtain all three Kubernetes Certifications from LinuxFo...
Today I discovered that command, which you are typing in shell(fish or bash) can be quickly commented via ALT-SHIFT-3 key mapping.
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 ...
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
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...
During my CKS preparations, I’ve faced with one not obvious thing - selection apiGroups in RBAC rules.
I’ve found very interesting but little known neovim plugin, train.nvim. It’s readme is pretty confusing, so I’ll describe it here.
One of the topics for the Certifies Kubernetes Security Exam(CKS) is usage of gVisor as container runtime. While in theory configuring gVisor shouldn’t be ha...
As a Senior Engineer at EPAM who works with Kubernetes on a daily basis I was invited to take CKS beta exam. I didn’t have time to prepare for the exam and, ...
If you use Azure RM Compute Module from Terraform Registry you were probably thinking of ways to configure VM during provisioning. And there’s a bunch of, on...
Today I’ve learned that Azure Container Registry can build Docker images for you. Using az cli you’re sending Dockerfile and contents of folder you’re trying...
Today I’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 a...
My team is continuing migration to GitHub Actions, and one of the pipelines we are working on is Terraform validation pipeline. I’ve described this pipeline ...
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...
I’m a long-time Jenkins user. And I always thought that it’s only possible to get secrets via some kind of expose from runner.
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 mo...
Recently I was very annoyed by random TLS errors, for example:
My project is migrating to github, and one of team intentions was to use github actions instead of Jenkins.
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’t convinced that time...
Recently I was evaluating MongoDB Kubernetes operators, as one possible way to migrate On-Prem MongoDB servers. I weren’t able to find any comparison, so I h...
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 al...
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 ...
I’ve passed the course Certified Rancher Operator: Level 1 and follow up exam:
I was pretty impressed by the article fzf-live-repl and decide to adapt these techniques in my daily work with Kubernetes.
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’ve decided to summarize my knowledge i...
Last week I’ve updated my working machine to Fedora 32. Upgrade went smoothly and, after a week, I thought that I wouldn’t face any issues.
I have a bad habit of visually selecting text in (neo)vim before yanking it. I know that it’s not efficient and always wanted to get rid of this habit.
Today I learned super useful shortcut in Firefox to quickly access Clear Recent History menu.
I’ve been aware that there is such thing as kubectl plugin manager - krew. But plugins available didn’t make much sense for me, at least until now.
This is part 7, last one of my personal notes I’ve written during preparation to CKAD. State persistence
Finished reading “The Complete Software Developers Career Guide” by John Sonmez.
Couple weeks ago I had a discussion on HR’s activity in LinkedIn and location in your profile there.
I’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’t working, bash ...
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 an...
I’m a long time user of Makefiles.
This is part 6 of my personal notes I’ve written during preparation to CKAD.
This is part 5 of my personal notes I’ve written during preparation to CKAD.
I’ve added blog to Google and Yandex search engines. This was by no mean an easy task. I’ve went throught following steps: Add Google Analytics to blog ...
This is part 4 of my personal notes I’ve written during preparation to CKAD.
During last couple of days I’ve been developing Jenkins CI and CD pipelines. Since I’m get used to Python’s linting tools like flake8 workflow where you have...
This is part 3 of my personal notes I’ve written during preparation to CKAD.
Many guys who work with Kubernetes don’t know that you can mount ConfigMap into existing folder inside a Pod as a single file.
Just finished reading “Harry Potter and the Methods of Rationality”. This is by far the best funfic I’ve ever read.
This is part 2 of my personal notes I’ve written during preparation to CKAD.
I thought that I could publish my CKA/CKAD preparation notes, maybe it will be useful for someone. Mostly it’s a compilation of already existing articles, bu...
I’m constantly being asked, which resources I’ve used to prepare to CKA/CKAD exams.
I’ve always wanted to start a blog, and finally I had some time to investigate github pages and create this awesome blog. We’ll see if I’ll have enought time...