Rave Ops

Starting a new project used to mean a week of setup before the first feature. Rave Ops does that setup once, and my own projects are built and hosted on it.

TL;DR

  1. Kubernetes with Knative, on a single server
  2. Private code repository and container registry
  3. CI/CD pipelines for every project
  4. TLS certificates issued and renewed automatically
  5. Backups and snapshots, tested by restoring from them
  6. Reachable only over VPN

Why it exists

Every new project needs the same things before the first feature ships. It needs somewhere to keep the code and somewhere to build and run it, plus certificates, backups and monitoring. Done by hand, that’s days of work for every project, and it tends to get skipped, which is how projects end up with manual deploys and no backups. Rave Ops does it once, for every project.

What it does

A new project starts as a form with a name, a description, the environments it needs and who works on it. About a minute later it has a repository, a registry, pipelines, environments and monitoring, and the first push deploys.

Design decisions

It runs on one server with a tested backup and restore. For a handful of projects, being back within half an hour matters more than surviving a node failure without a blip.

This site is built and served from it.