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.