Push to deploy
Push to your main branch and see the result on your staging site minutes later.
Graft · GitOps
Graft is how anything on Forge changes. Machines, networks, applications and settings are files in Git; pipelines check them and apply them; and each kind of change has a set gate - automatic, approved by a person, or emergency only.
Built on FluxCD, OpenTofu and Ansible
When servers are changed by hand, the only record is someone's memory. The next person to touch the system starts by finding out what is actually there.
With Graft, what is written in Git is what is running. Every change has an author, a reason and a review, and rolling back means reverting a commit.
OpenTofu describes the virtual machines, the network and the CDN. Ansible playbooks set up what runs on each machine.
FluxCD keeps the Kubernetes cluster in step with Git. If someone changes something by hand, Flux puts it back.
When you push your code, an image is built and deployed to a private staging site automatically. Production changes only when a person promotes that tested image.
A catalogue lists every kind of change we make and its gate. Routine changes run automatically; most need a person to approve them; a few are emergency-only and logged.
When an approved change is applied, the result is written back to its ticket, so there is a record of what actually happened.
Push to your main branch and see the result on your staging site minutes later.
Nothing reaches your live site without someone choosing to promote it.
If a release is wrong, the previous version is one revert away.
A CNCF GitOps toolkit. It keeps the cluster matching Git and updates image tags.
The open-source, community-run fork of Terraform. It defines our machines, network and CDN.
Step-by-step playbooks that configure each machine the same way, every time.
Our self-hosted Git server and CI pipelines (Community Edition).
Builds container images inside CI, without a privileged Docker daemon.
A standard name for every service, so nothing on the platform is a mystery. Every name is checked automatically before it exists.
The front door. It routes visitors to the right place, with a CDN caching public pages so they load fast. The cluster dials out to it, so it opens no web ports to the internet.
Disks and S3-compatible object storage. On our main tier, every piece of data is copied to three separate machines, so one failure loses nothing.