My personal blog about tech stuff
As I am working with different technologies everyday, there is no specific focus on a tooling or technology in this blog, but rather sharing stuff which are - in my opinion - interesting for others as well.
When using Prometheus monitoring stack, Alertmanager is an essential part of the monitoring, while responsible to send alerts. I explain here how I manage, the respective configuration using Terraform.
Posted on November 11, 2022 by Adrian Wyssmann ‐ 7 min read
While working on managing our Rancher clusters is the management of Rancher projects. I want to talk about the approach I have taken, which may be useful to you as well.
Posted on November 2, 2022 by Adrian Wyssmann ‐ 6 min read
Now, as we have installed OPA Gatekeeper in our clusters successfully, I wonder how to get metrics in Prometheus and show them in Grafana Dashboard
Posted on October 29, 2022 by Adrian Wyssmann ‐ 2 min read
We would like to manage our own Azure Policy Initiatives with Terraform. Our own initatives shall be based on existing ones, but without deprecated policies.
Posted on October 19, 2022 by Adrian Wyssmann ‐ 4 min read
I finally caught up on our clusters to have a look at the replacement of the pod security policies which haven been deprecated and it's possible successor/replacement.
Posted on October 7, 2022 by Adrian Wyssmann ‐ 8 min read
When working on the shell (locally or remotely) and I need to modify a file, I usually use vi. However, I often miss features like syntax highlighting or properly managing indentation,. This is where helix shines.
Posted on September 18, 2022 by Adrian Wyssmann ‐ 3 min read
When you work on Linux, you usually have bash as your default shell. I already switched a long time ago to Z-Shell cause it has some neat features, which improves my productive massively.
Posted on September 12, 2022 by Adrian Wyssmann ‐ 5 min read
Today, managing your dotfiles should be easy, so that you quickly can setup your environment and have it working as you would expect to. It all starts with a git-repo - with the benefit that you can share your files to others.
Posted on August 11, 2022 by Adrian Wyssmann ‐ 7 min read
While we started to use Terraform to manage our Rancher clusters, we started to manually run the terraform commands. This is not the way to go, so we started to look into solutions, starting with Atlantis.
Posted on July 18, 2022 by Adrian Wyssmann ‐ 8 min read
We recently changed the storage backend of the clusters and hence introduced a new storage class. The question now is, how do we migrate the existing storage to use the new storage class?
Posted on July 1, 2022 by Adrian Wyssmann ‐ 9 min read
While initially setting up our Rancher clusters manually, we started to use Terraform, which simplifies the management of the clusters tremendously.
Posted on June 24, 2022 by Adrian Wyssmann ‐ 5 min read
In one of my last post I talked about Grafana, as a visualization tool, we also need a datasource. Prometheus is such a data tool and usually comes bundled with Grafana. So let's have a quick look at what it is and how it works.
Posted on May 31, 2022 by Adrian Wyssmann ‐ 8 min read
If you have servers you definitively want to collect logs in a central place and store them for some time, so you can investigate what happens in case of issues. I personally rely on logz.io, but Grafana Cloud looks like a promising alternative
Posted on May 30, 2022 by Adrian Wyssmann ‐ 5 min read
While I am already fond of cheat.sh and pet, I found another exciting tool, navi
Posted on May 18, 2022 by Adrian Wyssmann ‐ 3 min read
I already talked about some of cool open source tools, which help you to have cheatsheets and manage your kb
Posted on May 17, 2022 by Adrian Wyssmann ‐ 2 min read
When working with Terraform, the changes are good that you are not starting from scratch, but you already have something setup previously and now want to manage it with Terraform
Posted on May 12, 2022 by Adrian Wyssmann ‐ 9 min read
I always look to improve the way I work, often also by the help of tools. Github is always a good place to look what's new, and I eventually always find interesting tools which I did not knew before. For example pet, a command line snippet manager.
Posted on April 27, 2022 by Adrian Wyssmann ‐ 3 min read
At my current employer we have to use Windows Server virtual machines as development environments. For me as a Linux fanboy, this is not a very nice experience, hence why not use WSL?
Posted on March 1, 2022 by Adrian Wyssmann ‐ 4 min read
Sitting behind a corporate proxy may give you some additional security but it's often challenging to get things done. I really had some troubles to get the groovy script in jenkins to use the proxy server.
Posted on February 9, 2022 by Adrian Wyssmann ‐ 4 min read
As a reader of my blog you are aware that at my employer we are using Rancher and MS Teams for alerting. Unfortunately this was not working properly, so I had to start debugging.
Posted on February 2, 2022 by Adrian Wyssmann ‐ 3 min read
I previously discussed code coverage. In this post I would like to focus on code coverage for Java, as a concrete example. As part of that I also introduce the basics of unit testing for Java.
Posted on December 7, 2021 by Adrian Wyssmann ‐ 6 min read
Troubleshooting networking issues in docker and kubernetes is often difficult and the root cause can be in different places including the underlying networking infrastructure. I have collected some information which might be helpful.
Posted on November 21, 2021 by Adrian Wyssmann ‐ 2 min read
There are a lot of different GitOps solution out in the field. But when you are using Rancher, you already have one at hand. As a Rancher user, I had a look what it is and how it works
Posted on October 29, 2021 by Adrian Wyssmann ‐ 5 min read
For some reason I got a free version of PCTipp, a Swiss PC magazine. Within the last issue, I found a promoted article about Hosttech GmbH, which now offers a virtual datacenter. Interesting enough for me to register and try it out.
Posted on September 28, 2021 by Adrian Wyssmann ‐ 3 min read
As I am currently working on refreshing my networking skills and as I want to get deeper into network security, I was looking for some courses. As part of this research, I stumbled over GNS3 and CLM, both tools to create virtual lab environments.
Posted on September 26, 2021 by Adrian Wyssmann ‐ 6 min read
Often pen-tester/security expert/hacker use Kali Linux or Parrot as their distro of choice. While they are great, I use Archlinux as my daily driver. Thus I want to have the same toolset as these distros installed and configured on my Archlinux
Posted on September 19, 2021 by Adrian Wyssmann ‐ 2 min read
Installing and configuring logging with Rancher is quite easy, but in combination with Splunk some guidance might be helpful. I guide you trough the process of the complete installation and configuration
Posted on September 9, 2021 by Adrian Wyssmann ‐ 5 min read
Installing monitoring and configuration with Rancher is quite easy, but in combination wit alerting for MS Teams some guidance might be helpful. I guide you trough the process of the complete installation and configuration
Posted on September 9, 2021 by Adrian Wyssmann ‐ 5 min read
Kubernetes is complex and at first overwhelming if you never did something with it. In this post I want to focus on a simple deployment and putting some pieces (Pod, Deployment, ConfigMap, Ingress) together to get a better understanding for newbies.
Posted on August 17, 2021 by Adrian Wyssmann ‐ 3 min read
As we don't have an automated certificate management 😭 we have to create certificates and Certificate signing request manually. If you are in the same boat, this information might help you.
Posted on August 15, 2021 by Adrian Wyssmann ‐ 2 min read
While we are using Rancher 2.5.x our current cluster management solution, we actually still are using the old istio- and monitoring-stack v1 rather than v2. We want to change that but it is not as easy as we thought.
Posted on August 5, 2021 by Adrian Wyssmann ‐ 4 min read
When systemd services fail you usually don't really notice it unless it's a critical service. However there may be situations where it would be nice that you are mare aware of failing services.
Posted on July 16, 2021 by Adrian Wyssmann ‐ 3 min read
It is common practice to track dotfiles with a version control system like Git and to synchronize them across various hosts. There are various approaches, so I would like to tell you how I do it
Posted on July 15, 2021 by Adrian Wyssmann ‐ 4 min read
Github has a lot of interesting projects and resources and you can easily star them. However, it's hard to remember what you starred so I've updated my collection of links in order to better highlight and find tools
Posted on July 13, 2021 by Adrian Wyssmann ‐ 1 min read
Packet filtering is essential for network security and Linux offers this out of the box. There are different possibilities like iptables, nftables or firewalld, and a basic understanding of these is very useful.
Posted on July 9, 2021 by Adrian Wyssmann ‐ 8 min read
While modern companies may use a pure cloud approach, there are still companies which still have their own datacenter. Thus connecting your on-premiss network to the cloud is essential. In this post, I will have a look on how this works and what is required, focusing on Azure, as this is what we currently use at my employer.
Posted on July 7, 2021 by Adrian Wyssmann ‐ 1 min read
Until know I have my own cheatsheet section in may website. Even so writing them helped me to memorize some stuff, they are far from complete. Thus I decided to drop them in favor of community driven solutions.
Posted on July 1, 2021 by Adrian Wyssmann ‐ 4 min read
Authentication (who am I) and authorization (what I am allowed to do) are essential and thus having a basic understanding on how Kubernetes handles this, is very useful.
Posted on June 23, 2021 by Adrian Wyssmann ‐ 11 min read
When working with Kubernetes CRDs is something that you will stumble upon, so you should know what it is. But this does not go without understanding the main principles of the Kubernetes API
Posted on June 21, 2021 by Adrian Wyssmann ‐ 6 min read
Not everybody can afford a study at an university, either cause you cannot afford it or you have other obstacles e.g a mother or father taking care of children. However, this should not stop you to study what you like. There are some nice collections of resources that allow you to study informatics, programming and sw engineering for free.
Posted on June 5, 2021 by Adrian Wyssmann ‐ 2 min read
Last Wednesday I was attending the DevOps Connect: DevSecOps at RSAC 2021, whereas a cool project was presented: Crowdsec, a collaborative behavior detection engine, coupled with a global IP reputation network
Posted on May 22, 2021 by Adrian Wyssmann ‐ 11 min read
At my current employer we use a container security platform called Stackrox, which recently was acquired by RedHat. But that is it exactly and for what is it good?
Posted on May 17, 2021 by Adrian Wyssmann ‐ 6 min read
Since I last used packer it's been a while and when I recently wanted to create a new Windows vm, I used my project. This is where I realized certain things have changed with packer since I started the project.
Posted on May 13, 2021 by Adrian Wyssmann ‐ 2 min read
During the years, I tried different services. Some of them offer offered free tiers/plans for developers or small teams. So I thought it would make sense to create a list, which can be easily shared with others.
Posted on May 12, 2021 by Adrian Wyssmann ‐ 1 min read
Manjaro is e very popular distribution based on Arch. I tried it for several months ultimately decided to switch back to pure Arch. But how to do so, without a complete new installation?
Posted on May 7, 2021 by Adrian Wyssmann ‐ 6 min read
In case you have sensitive files which you want to additionally protect, you could add the to a zip file and encrypt the zip file. Or you might as well use an encrypted container
Posted on May 5, 2021 by Adrian Wyssmann ‐ 2 min read
If you have servers you definitively want to collect logs in a central place and store them for some time, so you can investigate what happens in case of issues. I personally rely on logz.io
Posted on May 1, 2021 by Adrian Wyssmann ‐ 3 min read
As a developer you are familiar with the terms continuous integration (CI) and continuous deployment (CD), which is often referred as CI/CD. However it's important to understand that these are different processes with different purposes.
Posted on April 30, 2021 by Adrian Wyssmann ‐ 5 min read
I finally found some tome to improve my cloudflared ansible role, to be abel to use named tunnels
Posted on April 25, 2021 by Adrian Wyssmann ‐ 1 min read
If you are running a bare-metal cluster you probably run kubernetes on top of some linux os, these systems have to be regularly updated. But an update means sometimes that you have to reboot your servers. This also means during a reboot that particular node is node available to schedule workload.
Posted on April 20, 2021 by Adrian Wyssmann ‐ 2 min read
When you manage Linux systems it's usually pretty clear how to reboot a system. But do you know how to check whether a system requires a reboot? Cause you don't want to reboot a system if it is not necessary
Posted on April 20, 2021 by Adrian Wyssmann ‐ 1 min read
Ever since I discovered Cloudflare I am a big fan of it. They offer a lot of great products, especially also for me as an individual with a very tiny - or non-existent - IT budget.
Posted on April 19, 2021 by Adrian Wyssmann ‐ 5 min read
In Hetzner Cloud you can have multiple projects. As you can have different members per group, it really makes sense to have different projects for different purposes. I will explain in this article on how I work with multiple projects in Ansible, as well when using the cli
Posted on April 16, 2021 by Adrian Wyssmann ‐ 3 min read
Passing simple strings to an ansible playbook as extra-vars is easy, but what if you want to pass lists or dictionary? Let's see...
Posted on April 16, 2021 by Adrian Wyssmann ‐ 4 min read
I recently struggled into an issue where I have certain tasks which I want to run for the bootstrapping, as well when applying the desired state. I don't want to have to repeat the same task in different playbooks, so I had a look into reusable of ansible elements
Posted on April 15, 2021 by Adrian Wyssmann ‐ 4 min read
I use Hetzner Servers and Hetzner Cloud for my own infrastructure which I setup with Ansible since the beginning. It's usually not much servers so overseeable. However, maintaining static inventory for my ansible project is a bit cumbersome when you already have all information available in the management interface. So let's see what we can do about and how I can reduce manual overhead.
Posted on April 8, 2021 by Adrian Wyssmann ‐ 6 min read
Posted on March 25, 2021 by Adrian Wyssmann ‐ 1 min read
Here I want to explain why and how I engineered a vulnerability Waiver Process for infected 3rd party libraries.
Posted on March 18, 2021 by Adrian Wyssmann ‐ 10 min read
My son has a Surface Go Tablet which suddenly stopped booting. Even after trying to uninstall patches etc. I could not bring it back, so I decided to help him to get the data from the tablet, so he can use it.
Posted on March 13, 2021 by Adrian Wyssmann ‐ 3 min read
Maven release plugin does a great job incrasing the version in maven builds. Still sometimes you may need an alternative.
Posted on March 3, 2021 by Adrian Wyssmann ‐ 3 min read
Jenkins is a very popular ci solution and offer a lot of extensibility by plugins. However, updating these plugins while you are sitting behind a corporate firewall. I explain you what is the issue and how we solve it.
Posted on May 20, 2020 by Adrian Wyssmann ‐ 3 min read
I guess working in sw development we all know Jenkins and the ones how have to maintain it, knows the pain it can cause. Still, even if there are (better) alternatives, Jenkins may still be the first choice for a lot of companies. I would like to share here some things, which helps to reduce duplication of code and sharing pipelines among teams.
Posted on June 14, 2021 by Adrian Wyssmann ‐ 11 min read
I want to use a regular expression to exclude a complete word. I need this for a particular situation which I explain further
Did you ever pushed stuff to a git repo and then breaking your branch, just cause you did not checked beforehand, if all is fine. I'm sure you did. Wouldn't it be just cool if some checks ran automatically before committing or pushing?
Podman is a daemonless container engine for developing, managing, and running OCI Containers on your Linux System. Containers can either be run as root or in rootless mode.
Even so I mostly use Gitlab, I am also active in Github, especially also for the ansible roles which I host in GIthub - just cause everything related to ansible can also be found there.
In meanwhile I got some experiences in writing roles and yesterday I finally finished my 3rd role - for me this is much considering my spare time left after work and family.
Adding a slave to a Jenkins master always required to add the slave via the GUI and then gather the secret in order to be able to connect the slave. So I was wondering whether a slave could be created programmatically.
I got in touch with git when I was starting using Github. However as these projects were merely single contributor projects, some basic commands did it for my work there. There was no branching, no rebasing or whatsoever. Now after working on a daily basis with git and using it in big(ish) teams, I thought to write down a little guide for newbies on how to work with git.
Wow it has been already one year since I published my last blog entry. How time passes... Not that I have nothing to write, in contrary there are a lot of new exciting things I have done and learned in the past 1 and a half year since I've started my new job. Hopefully I find time again to write more again cause I really want to share whatever I can.
Posted on March 1, 2019 by Adrian Wyssmann ‐ 2 min read
I recently run into the problem that my Harddisk (250GB) run full. Especially when installing Visual Studio, different SDKs (.Net, Android, ...), Microsoft Office, etc. your disk space may become rare. The problem is not only because of the size of these software but also cause Windows is keeping a lot of (unnecessary) files in various locations.
Maven is a tool to automate the building, distribution and dependency management of software artifacts in a project. It is one of many build systems but currently heavily used in the Java world.
I wrote quick "Hands-on" for beginners to cover docker basics with simple containers so I won't go into details of complex application, service definitions or swarms. What I want to do is run a webserver inside a container with persistent data
When I started to investigate into tools which help to automate provision of virtual machines, I found packer and vagrant, both tools provided by Hashicorp.
Unattended installation is the possibility to install an operating system without human interaction. Principally it is the same for Windows and Linux: An "answer file" which describes the configuration is provided as an input for the installer. These "answer files" provide any kind of setup options including how to partition disks and what packages/features to install.
Powershell remoting enables to work on a remote computer as you may be used on Linux using ssh. In difference to Linux, where this is usually straight-forward, I find it a bit more complicated on Windows - however achievable. There are two was a remote PS connection can be established - via HTTP or HTTPS.
My work computer runs on Windows, so whenever I quickly need a VM, I use Virtualbox or VMWare Workstation. But my home computer runs on Linux and there I use KVM/Qemu instead - yes I also could use Virtualbox but I don't.
Software testing is not only running test cases but more of using a testers mindset and skills to find bugs and verify that the software is working correctly. However, usage of test cases (manual or automated) is essential to speed-up your testing and having reproducible tests for your regression testing. Obviously you want to be able to trust the tests - especially the outcome of these tests. However, regardless whether it is manual or automated testing, there are two terms you should understand and bear in mind. So what is it?
The public transport organization SBB recently opened platform for customer information data on public transport in Switzerland. Anyone can obtain obtain data on public transport free of charge and get access to specific public transport services for all licensed transport companies in Switzerland. The platform provides timetable, real-time and actual data.
Test data management is crucial on the test engineering process and therefore shall be considered carefully. But what is 'Test Data Management' and why is it important?
When I used to work as test manager I encouraged my people to write issues/bugs that have certain quality. But actually this is not only true for testers but generally for everyone who reports bugs - especially if you are not in direct contact with the developers.
Posted on October 17, 2016 by Adrian Wyssmann ‐ 7 min read
Working for my current employer, I have an MSDN subscription and access to Microsoft azure. I also have a nice amount of credits to spend, so it's good opportunity to get warm with Azure.