Skip to content

1. Prerequisites

Five things you need before you install. Have them ready and the install itself takes minutes.

ThingMinimum
Kubernetes clusterv1.28+, one node, a default storage class
Helm or TerraformHelm 4.0+ for the chart path, Terraform 1.5+ for the module path
kubectlconfigured against the cluster
DNSa domain or subdomain pointing at the cluster’s ingress IP (e.g. shoehorn.acme.com)
Identity providerone of Zitadel, Okta, or Entra ID. Set up the OIDC application before you start.
GitHub AppShoehorn discovers your repositories, reads .shoehorn/manifest.yml files, and tracks PR activity for engineering insights. Create the GitHub App and install it on your org before you start. See GitHub integration.
ThingWhy
Forge GitHub AppA separate GitHub App used by Forge workflows that create repositories, write files, or open pull requests. Only needed if you plan to use Forge for self-service automation.
Cert-managerIssues TLS certs for the ingress. See TLS with cert-manager.
External PostgresUse your managed Postgres instead of the chart-deployed one. The Helm chart and the Terraform module both support it.

Every service ships with a single replica by default. That fits a small cluster (one or two nodes) just fine. Scale the stateless services up (API, Web, Worker, Crawler, Forge) when you want HA. Two replicas plus a surge for rolling upgrades is the usual starting point; tune to your SLO and cluster capacity.

Install Shoehorn →