Guides

Practical how-to guides

Step-by-step walk-throughs on infrastructure as code, CI/CD and test automation, with working examples you can copy.

6 min read

vaqum: compress, encrypt, diff and shred files from the command line

A single CLI to compress files with zstd or xz, encrypt them, verify them, diff folders and archives, find duplicates, search, and securely delete. Here's how to use each part.

  • CLI
  • Compression
  • Encryption

5 min read

Publish multi-arch base images to any registry with one GitHub Action

multiarch-image-pusher copies a base image into your own registry as an amd64/arm64 manifest, optionally with its OS packages updated first. Works with ECR, GHCR, GitLab, Docker Hub and others.

  • Docker
  • GitHub Actions
  • Containers

5 min read

IGNOREIT: configure your ignore list once, and it's applied in every repo

A VS Code extension that makes sure the files you choose (.env files, keys, build folders, anything) are always in .gitignore, in every project you open. It can also keep .env.example in sync.

  • VS Code
  • Git
  • gitignore

4 min read

End-to-end test automation with Selenium and Cucumber

Set up end-to-end tests in Node.js with selenium-webdriver and Cucumber: readable Gherkin scenarios, a shared browser per scenario, screenshots on failure, and a CI workflow.

  • Selenium
  • Cucumber
  • JavaScript

2 min read

How to generate Cucumber test reports

Three ways to get readable Cucumber reports in Node.js: the built-in HTML formatter, cucumber-html-reporter from JSON, and publishing reports from CI.

  • Cucumber
  • Test Reports
  • JavaScript

7 min read

Configuration and change management with Packer and Ansible

Build an AWS machine image with Packer (HCL2), configure it with an Ansible playbook, and launch an EC2 instance that serves an Express app behind NGINX.

  • Packer
  • Ansible
  • Change Management

3 min read

How to SSH into a CircleCI build container

Debug a failing CircleCI job from the inside: set up an SSH key, rerun the job with SSH, connect, reproduce the failure, and clean up safely.

  • DevOps
  • Circle CI
  • Continuous Integration