Chris LaPointe
Another site of Code
Migrating to Traefik v2 in Docker Swarm
After putting off the work for a year or so, I finally went through the effort to migrate my docker swarm to Traefik v2. There isn't anything by default that I needed, but I intended to migrate eventually, and it has some new features like TCP and UDP forwarding and...
Persistent Terminal in VSCode Remote Session
I've been moving around a bit lately (Nowhere far... since COVID-19 and all), and have been leaning heavily on VS Code's Remote SSH Plugin. My network connection has been spotty, and have found that even though it's pretty good at not losing any of your code changes, that when I...
Git as a Database
One thing that I've seen come up from time to time in my career is how to store product configuration data. This "product" data can drive various things: A/B tests we want to run, storing actual facts about our site, or about which SKU has which meaning and set of...
Rare: Realtime parsing and aggregation
I don't know about you, but in my almost decade of software development a good chunk of my job has always been weeding through log files. I regularly need to get summarized metrics out of log files. There are some great tools you probably already know for the common search/discovery...
Uploading a Directory to a Docker Volume
While managing my docker swarm, it has become apparent that I have a need to upload a set of files to a new or existing docker volume on a regular basis. I use this, for instance, to upload a new set of alerts to my prometheus node without needing to...
Automagically Pruning your Docker Swarm
Keeping your docker swarm hosts clean is a necessity. As you roll out new images, you're faced with constant image downloads by each host, as well as possibly dead and stopped containers spending your precious resources (inodes I'm looking at you). When I first set up cleanup, I simply had...
Bash Argument Parsing
Bash Argument Parsing After working with great libraries like NodeJS's minimist, I sometimes find it hard to go back to other languages where things take a very "reimplement it every time you need it" or a "this works, but not in case XYZ" approach. I was faced with this problem...
Building and Deploying with Drone CI
After my last article about Setting up your own docker swarm, I wanted to take a little time and share my CI/CD stack I used for managing my applications and deploying with drone. Where I Came From For a long long time I used Jenkins. I don't think I've updated...
Managing a Small Docker Swarm
There are tons of articles out there on the great wide internet that talk about how to scale your application with Docker. Many of these articles talk about small docker environments, or quickly jump into how to massively scale it (With k8s, swarm, or otherwise). But what about me? I...
UbSub Supports Websockets
I feel like SocketIO has been on the way out for a bit now. When I originally started UbSub it felt like the obvious solution to a streaming event system, but technology changes, and so we have to. Since SocketIO and Websockets are actually quite similar from a client perspective,...