Having the newest operating system is a great thing, especially for all Apple fans. You know, all those fancy features, new design, fonts and so on. But unfortunately, Apple is getting worse and worse with their OSes even though the Beta tests take much time. You never know what will go wrong after the update. I faced the first problems very soon after the Big Sur installation, but most of them were not as… annoying as the problem with pyenv and python installation. Who should expect that during the installation process clang ends with “invalid version number in ‘MACOSX_DEPLOYMENT_TARGET=11.0’”? Pyenv Continue reading

How to run Discord bot on Cloud Run

One of my hobbies is playing Pokemon Go – yeah, I’m not a kid, but I grow up on Pokemons, so this game is my guilty pleasure. Of course, it’s a cooperation game, so some type of communicators is very nice to ensure, that the local community can communicate with each other. Most Pokemon Go communities use Discord as the main way of communication. So we do – out local groups from the city I live in. As you can guess, I’m that “tech guy”, who makes necessary changes in Discord configuration and so on. Moreover, I decided to create Continue reading

Why I decided to migrate my blog from VPS to hosting?

When I decided to create my blog, I was thinking about using hosting or buying my own VPS. Actually, you know, I’m an IT guy, right?! I can do magic with servers and so on! That was my thinking. So for a few years, I have been using VPS as the main source of my blog hosting. It’s a freedom with much flexibility – I’m sure that many people try to justify their decision like this one. It was worked, of course, for some time! Additionally, I was using this VPS as my minefield, and I had a Discord Bot Continue reading

Slack notifications in Jenkins

One of the most important things in Jenkins is the ability to being extended by plugins. Jenkins is an Open Source project, so we can see what happens inside, and we can not only contribute to the Jenkins core but also create our own plugins. But the popularity of Jenkins causes that many functionalities that we would like to implement, have been already developed! This situation we have with Slack – if we want Slack notifications in Jenkins, then we can just use a Slack plugin! When I’m writing this post, the Slack plugin is actively maintained. Why should I Continue reading

Force pods to restart when configmap is changed

Maybe some of you use Helm to make a new release of your application hosted on Kubernetes. Maybe some of you use just simple yaml manifests because Helm is too much for you. It doesn’t matter in our today topic, as this problem can be faced independently on what tool you use. In most cases, when you update ONLY a configmap, your pods won’t recognize that (especially when the content of the configmap is loaded to memory during pod start). One of the old ways to handle that is to create new configmap, add a new ID to your pods’ Continue reading

Update git config recursively

Git is the must-have tool for almost all IT positions. No matter if you’re Developer, Release Engineer or maybe classy SysOp, you arguably have to use git (or any other Source Control tool). I use git, so I can tell you have I solved my problem with working with multiple git configurations. You know, when you work only for one company, it’s not a big deal – especially when you have business devices. One configuration, one account, and no problems. But the situation changes once you need to work for multiple companies and you are a part of multiple teams Continue reading

Ansible-vault password in Jenkins

Ansible is one of my favorite tools. I use them for almost everything – system configuration, servers provisioning, serverless services provisioning and even for calling API that hasn’t its own Ansible module. You can do everything with Ansible! Moreover, you can also use Jenkins to run Ansible. I’m very glad that it’s possible and I use that possibility as often as possible. Of course, only if it makes sense. Also, I’m sure that it’s normal practice, as somebody develops an Ansible plugin for Jenkins. Anyway, one of the very, very important Ansible’s feature is ansible-vault, that allows to encrypt sensitive Continue reading

Please install google-auth library – Ansible problem

Ansible is a great tool used by many engineers to automate their work. Also, Ansible is growing very, very fast. It means, that there are many bugs inside that tool. Sometimes bug is not a problem – especially when it doesn’t exist – but not fully written documentation. This is probably the reason for the problem I want to describe. If you use Ansible for GCP deployment, you may face the failure reason saying “Please install google-auth library”. But what if you are sure, that you have this library installed? TL;DR – just give me a solution! Run your playbook Continue reading

Ansible 2.8 sudo escalation problem

If you use Ansible, probably you have some habits, that are hard to give them up. Also, many people have a very nasty sin – they ignore deprecation warnings. Moreover, some of them even like turning off warnings about deprecated features! And due to that, they are forced to digging the Internet and looking for the solution to their problem. But there is also another reason for digging – lack of documentation. It’s hard to say what is the cause of the problem which I’m going to describe, but I assume that both causes may be possible. Ok, so what’s Continue reading

Kubernetes cluster in GKE – first steps

I use MacBook Pro on a daily basis, so I have no problem with Kubernetes cluster. I can just enable it in Docker for Mac configuration and then I can do almost whatever I want. If you use Linux or Windows, you can choose for example Minikube for testing purposes. But sometimes it’s not enough. There are some cases when you need something more – maybe you want to check how your application will behave in a more complex environment or just your workstation is not strong enough to run particular deployments. In such cases, Kubernetes cluster in GKE can Continue reading