Helm installation

Prerequisites

  • Kubernetes cluster
  • Helm 3.x
  • kubectl configured for your cluster
  • formae CLI installed on your local machine — see Local installation

Install from source

The formae Helm chart is installed from the source repository:

git clone https://github.com/platform-engineering-labs/formae-helm.git
cd formae-helm

Standalone (SQLite, good for evaluation):

helm install formae . -f examples/formae-only.yaml

With PostgreSQL:

helm install formae . -f examples/formae-db.yaml \
  --set postgresql.auth.password=<your-password>

Full monitoring stack (requires Prometheus + Grafana):

helm install formae . -f examples/formae-db-grafana.yaml \
  --set postgresql.auth.password=<your-password>

Example values files

File Description
formae-only.yaml SQLite, ephemeral storage
formae-only-persistent.yaml SQLite with PVC
formae-db.yaml In-cluster PostgreSQL
formae-db-grafana.yaml PostgreSQL + Grafana + OTel
formae-external-db.yaml External PostgreSQL
formae-external-db-grafana.yaml External PostgreSQL + Grafana + OTel
formae-aurora.yaml Aurora Data API

See the chart README for all configuration parameters.

Applying formas

The formae CLI runs on your local machine. It evaluates your Pkl files locally and sends the result to the agent API — no files need to be loaded into the cluster.

The CLI connects to http://localhost:49684 by default. For a Helm-deployed agent, expose the agent port and the default config works as-is:

kubectl port-forward svc/formae 49684:49684

Then apply a forma from your machine:

formae apply --mode reconcile your-forma.pkl

For persistent access without port-forwarding, configure an ingress or LoadBalancer service and update the CLI's agent URL in ~/.config/formae/formae.conf.pkl:

amends "formae:/Config.pkl"

cli {
    api {
        url = "http://<ingress-or-service-url>"
        port = 49684
    }
}

Next steps

Head to the Quick start or see the Configuration docs for available options.