Flox: better alternative to Dev Containers

Flox: better alternative to Dev Containers

On paper, Dev Containers are great to define and share development environments easily. Actually using them is not that great: lack of reproducibility, integrating host files in containers, difference in implementations between various tools… While Dev Containers do provide value for dev environment automation, on usage I thought "There’s probably a better way to automate…

Automated, Reproducible and Secure Development & CI environments: Package Management (1/3)

Automated, Reproducible and Secure Development & CI environments: Package Management (1/3)

Setting-up local development environment is a pain. Make it double with matching CI configuration. Packages and tools to install, local configurations, secrets, deployment… Developers often loose hours – if not days – before being able to run a simple make build or deploy a local instance. This series of article will guide you through patterns…

Cleaning-up 7TB of data from our on-prem GitLab Container Registry

Cleaning-up 7TB of data from our on-prem GitLab Container Registry

GitLab Container Registry allows developers to manage container images per project via one or more Container Repositories. As storage size increase, so will cost 💸 and you’ll want to cleanup your Container Repositories. Easier said than done, here’s a story of how it went with our on-prem GitLab instance. Automated cleanup policy will be enough……

Optimize NodeJS Docker image build with BuildKit and pnpm

Optimize NodeJS Docker image build with BuildKit and pnpm

You just Dockerized your NodeJS application, yay ! Now you need to run docker build and it’s awfully long as Docker needs to download the same dependencies again and again. BuildKit – built-in with Docker – can help you cache Node dependencies to reduce build time. Typical NodeJS Dockerfile Dockerfiles created following Docker build best…

Efficient Docker build and cache re-use with SSH Docker daemon

Efficient Docker build and cache re-use with SSH Docker daemon

Working with Docker for 8+ years I’ve seen many teams struggling with build process optimization – mostly around CI config for efficient cache re-use. I was surprised very little literature mention that a Docker daemon can be configured as a remotely available server, allowing for a de-facto secure remote cache and build engine. I’ve been…

Destroy every resources from your AWS accounts with aws-nuke

Destroy every resources from your AWS accounts with aws-nuke

Destroy every resources from your AWS accounts with aws-nuke You probably heard – or lived yourself – the story of this surprisingly high AWS bill because you forgot to turn off your development environment. Here comes aws-nuke ! It’s not only useful for dev/sandox resources, but can also help reduce your AWS costs and test…

Traefik High Availability on Kubernetes with Let’s Encrypt, Cert Manager and AWS Route53

Traefik High Availability on Kubernetes with Let’s Encrypt, Cert Manager and AWS Route53

When deploying Traefik with Let’s Encrypt on Kubernetes, need quickly arise for High Availability (HA). It requires multiple instances of Traefik to run in parallel, but prevents the use of Traefik’s built-in Let’s Encrypt features: it is not possible to run multiple instances of Traefik 2.0 with Let’s Encrypt enabled, because there is no way…