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

  • Posted 2 hours ago by leschak
  • 2 points
https://github.com/neospe/autoops
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.

0 comments