Paul Laffitte 05 Mar 2025This is a GitHub repository that demonstrates how to use traefik with multiple network-isolated docker compose stacks. Normally you would have to manually add traefik to the networks of your each of your compose stacks, here we use a tool that automatically does this, allowing to deploy additionnal stacks on your host without needing to update your traefik configuration. And as a bonus, we will also expose a service running in the host directly (not in a container). » read more...
05 Mar 2025 source: https://github.com/plaffitt/traefik-composePaul Laffitte 26 Dec 2024Like any sane IT person, I use my shell history on a daily basis. It can be because I don't exactly remember what arguments should I use with this complicated CLI and the --help
output is like one thousand lines, or just because I'm too lazy to type this very long and boring command. In either case, I can use my history and search it using ctrl+r
or grep
. But what should I do when I don't even remember what command I wanted to run in the first place? 😳 ctrl+r
and grep
will be of no use here... » read more...
03 Jan 2025Paul Laffitte 12 Sep 2022Recently, I have worked on a IoT project at Enix. In order to flash the ESP32 chip that we put on our board with our firmware, we use esptool, the official tool to communicate with the ROM bootloader in Espressif chips through UART protocol as described in its documentation. It communicate with the ROM bootloader over the serial port represented by the device /dev/ttyUSB[0-9]+
. » read more...
03 Jan 2025Paul Laffitte 30 Aug 2022A few days ago, I came across an old game that I had developed back in high school. I started working on this game because I had the feeling that I had not yet produced any meaningful project. My projects at that time were small or unfinished Web 1.0 websites, simple console applications, but nothing that was either finished or that I could show to others. Remember, when you were in high school, not everyone was interested in creating a tool to encrypt and decrypt text. » read more...
03 Jan 2025Paul Laffitte 24 Apr 2022A few days ago, my brother bought his brand new Samsung S20 FE and discovered not without surprise and a bit of irritation that the device didn't come with a mini-jack audio port like his previous phone. After discussing with him about why it is (or is not) a nonsense to ship smartphones without this feature. I finally advised him to either buy an USB-C adapter or a pair of true wireless earbuds. At the time, I hadn't tried this technology and was quite curious to test it out. » read more...
03 Jan 2025Paul Laffitte 18 Oct 2021Containers are a great way to build, ship and run applications anywhere, on-premises or in the cloud. When they’re used correctly, they improve the portability and operability of our workloads. Stateful components (like databases or message queues) are comparatively harder to deploy than their stateless counterparts, precisely because of these storage components. CSI is a specification that help unifying the process of providing storage to containerized workloads. In this article, we’ll explain what CSI is in details, what problem it solves, why and how we wrote a CSI plugin, and some of the challenges that we faced. Even if you don’t work with storage appliances, we hope that this article will give you a good overview of the CSI ecosystem on Kubernetes. » read more...
23 Apr 2022 source: https://enix.io/en/blog/kubernetes-storage-csi-plugin/Paul Laffitte 23 May 2020As I noticed that many developers have their own blog, I started to think that every good developer should have a blog. The fact that I sometimes feel the need to share my thoughts, discoveries and serendipitous moments in development pushed me even more into this idea. Well, here we go. This is the first post of what I hope will be a long series of posts. » read more...
03 Jan 2025