PaperMod

Hi, I’m iTrooz You can find more about me at about
On this blog you will find tutorials and articles about computer science
Click on a post and see for yourself !

How to create encrypted Kubernetes backups with Velero

Introduction Velero allows you to create backups of your k8s cluster. It handles both the resources (the yaml files), and the volumes. But it has a drawback (as of writing): the lack of encryption. In this post, we’re going to see how we can produce encrypted backups, by chaining velero with rclone. The key point of this post is: rclone is awesome and a Ops’s dream tool. In our case, the 2 features of rclone that we will use are its crypt remote, and its serve (s3) feature. ...

October 2, 2025 3 min

How to backup your bitwarden vault with restic ?

My goal is to make a daily backup of my bitwarden vault, using restic. I also want to not store my master password on disk, which means backuping the encrypted vault. The solution to do that is to use a Bitwarden API key. API keys do not seem to have the capability to decrypt the vault, as you need to enter your master password yourself to unlock the vault before viewing items, which make them the perfect tool for the job. ...

September 26, 2025 1 min

Automating renewal of a wildcard TLS certificate for a specific subdomain on a OHV domain

Introduction Recently, I wanted to create a bunch of domains on my friend’s server, and have TLS certificates delivered. The option I find easiest to manage is to ask my CA (Lets Encrypt) for a single, wildcard TLS certificate. If you are using OVH to manage your domain, you can do that by creating an API key for your account, and using the certbot OVH plugin. Usually, tutorials will tell you to give these permissiont to the API key: ...

September 14, 2025 3 min

Why do I use 'GPL-2.0-only OR GPL-3.0-or-later with proxy being me' as licence for my Open Source projects ?

If you stumble on one of my projects, you may have seen this licence: Licence: GPL-2.0-only OR GPL-3.0-or-later with proxy being me What does that mean ? Why did I choose such a long, and weird licence ? The reason is that I want: to be covered by a strong copyleft licence while being compatible with past/future GPL licences (and not block my project from being used with one that uses a different version of the GPL.) and not give power to the FSF to issue a new licence in the future that I would not agree with. The solution to this last point is the proxy clause. Quoting GPL 3.0: ...

July 27, 2025 2 min

Connect a docker container to a WireGuard VPN (while keeping it accessible to other containers)

A friend of mine wanted to make one of their docker containers go through Wireguard to connect to Internet. I came up with a solution using a docker container to manage the wireguard VPN itself. This allows us to fully isolate the VPN, and use AllowedIPs=0.0.0.0/0 without affecting the rest of the system. This solution is both simple technically (we just share the same network namespaces) and in usage (just add another container, without even changing the original). ...

June 1, 2025 1 min

A list of Celeste/Everest bugs I've encountered, and how to fix them

This is a list of bugs I’ve encountered while playing Celeste/Everest with the Olympus launcher, and how to fix them. 1 Bugged light, I can see squares with “more light”, that makes gameplay hard to see Solution: replace OpenGL renderer with Vulkan. There are several ways to do this: if using Everest, you need to find everest-launch.txt (in your Celeste install folder) and change #--graphics OpenGL to --graphics Vulkan if using vanilla Celeste, you need to add /gldevice:Vulkan to CLI arguments (you can do that with launch options in Steam) Link: https://www.reddit.com/r/celestegame/comments/1bnan6m/comment/m6nly5c/?context=3 Link 2: https://www.reddit.com/r/linux_gaming/comments/1hmrtu0/comment/m4jzvgj/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button 2 Everest crashes with this error: threader.lua:544: thread#32>sharp.lua:424<utils.lua:361 not running! This is a generic error, we need to open Olympus from the terminal to see the actual error. In my case, this was caused by an Everest update that used the binary suppress-output, but didn’t use that binary, so we needed up update it manually Link: https://discord.com/channels/403698615446536203/683777712115941407/1343199295322456135 (Mt. Celeste Climbing association discord) ...

April 20, 2025 1 min

Hello World !

Welcome to my new blog !

November 28, 2022 1 min