The rendimiento book¶
rendimiento is a deployment platform for a Kubernetes cluster. You connect a GitHub repository, it works out how to build it, and every push becomes a tested image and a running, updated application with a public HTTPS address. What used to take Jenkins, ArgoCD, hand-written manifests, DNS records and a dozen manual steps per app is now one button.
It runs on a small home lab, but it is built like a product: one Go binary, a React UI, a Postgres database and Kubernetes custom resources, with tests, a clear architecture and room to grow.
This book explains all of it: what every part does and why it was built that way, how it is deployed in this environment, how to change it safely, and how it can become a production-grade, open-source project.
flowchart LR
dev([You push code]) --> gh[GitHub]
gh -- webhook --> r{{rendimiento}}
r -- "test + build<br/>(BuildKit pool)" --> reg[(Registry)]
r -- "release<br/>(App object)" --> k8s[Kubernetes]
k8s --> app([Your app on https://...])
r -. DNS .-> cf[Cloudflare]
r -. "add-ons<br/>(Helm, manifests)" .-> k8s
How to read it¶
-
New here?
Start with Why rendimiento exists, then Concepts and the UI tour. Forty minutes and you know what everything is.
-
Running it?
Your environment describes how the platform itself is deployed. The description of one particular cluster and its runbooks are kept in a private repository.
-
Understanding it?
Architecture walks through every subsystem with diagrams: CI, BuildKit, the controllers, add-ons, data and security.
-
Changing it?
Developing it covers Go for this codebase, the build and test loop, recipes for common changes, and the design patterns in use.
-
Growing it?
Growing it covers scaling, the roadmap and what it takes to become an open-source project others contribute to.
-
Looking something up?
The reference lists every setting, API route, custom resource field and, generated from the source, every file and function in the code map.
What it does, in one page¶
| You want to… | rendimiento… | Read |
|---|---|---|
| Deploy a repo | detects the stack, proposes a rendimiento.yaml, opens a PR, builds, deploys, creates DNS and a certificate |
Apps |
| Ship a change | builds only what changed, runs tests, checks the commit on GitHub, rolls out with zero downtime | Builds |
| Undo a release | rolls back to any earlier release (images are pinned by digest) | Apps |
| Use a database | needs: [postgres] runs one for the app and injects DATABASE_URL |
Needs |
| Call another service | the Services tab shows every service, its address and a snippet to paste | Needs |
| Install cluster software | the Add-ons tab installs Helm charts or manifests from git, previews every change, and can adopt what is already running | Add-ons |
| Keep dependencies fresh | the Renovate add-on opens update PRs that rendimiento builds and checks | Renovate |
| Know if the cluster is healthy | the Environment tab checks every dependency and node | Tour |
This book is part of the code
It lives in docs/ of the repository and is deployed by rendimiento itself, from its own rendimiento.yaml, on the home network (its address is in the Services page). Change the code, change the book in the same pull request. The code map is regenerated from the source on every build, so it is never out of date.