Back to browse
GitHub Repository

Multi-region data and service mesh - operated by a Makefile.

2 starsPython

Autoops – Multi-region data and service mesh operated by a Makefile

by leschak·Jul 6, 2026·2 points·0 comments

AI Analysis

●●SolidBig BrainShip It

Makefile orchestration for WireGuard and Garage beats K8s complexity for small teams.

Strengths
  • Supply chain control avoids external APT repos and Docker Hub entirely.
  • Horizontal scaling to 200 nodes without Kubernetes overhead or complexity.
  • Bootstraps mesh from single node IP using Wesher and Garage components.
Weaknesses
  • Only two commits suggests early open-source state despite production use.
  • Manual PyInfra inventory and Traefik config required instead of declarative specs.
Target Audience

DevOps engineers, solo founders managing multi-region infra

Similar To

K3s · Ansible · Coolify

Post Description

Hi HN, Stefan here. autoops is an infrastructure automation framework I have been using at my previous company and is now opensourced. It has been the base layer running various products and projects, and also for quickly standing up client infra.

It works with Debian-based systems (apt) and sets up a WireGuard mesh with peer discovery and built-in DNS (Wesher), a distributed S3-compatible object store (Garage), and a reverse proxy and load balancer (Traefik). It supports service autodiscovery (Traefik-kop) and can be horizontally scaled to up to 150-200 nodes.

As a classical example of "roll your own k8s subset using scripting", it is not yet fully integrated and currently, you need 1) to define at least a PyInfra inventory, 2) depending on whether you run containered services, a Docker Compose file, and 3) for horizontal scaling with autodiscovery, a Traefik config. The PyInfra scripts are put together in a Makefile, but that is pretty self explanatory.

autoops doesn't trust supply chains, so you need to out-of-band put a couple of binaries in the general assets/ folder, and if you do containers, provide a path that contains directories named after each service and holding its Dockerfile and other build assets. Also, it's almost arm64 compatible (needs binaries for Docker and the crowdsec bouncer), can do NAT traversal (using my fork of Wesher), and container draining (using docker-rollout).

Feedback is welcome.

Similar Projects

Infrastructure●●Solid

Multigres Kubernetes Operator

Direct pod management instead of StatefulSets enables drain-safe rolling updates.

WizardryNiche Gem
sougou
703mo ago