Skip to content
GitHub

Running Cascade

On a Podman host, deploy/quadlet has systemd units. One file and a volume is Cascade on SQLite; deploy/quadlet/postgres is the server, a worker and PostgreSQL on a network of their own. Both start at boot, restart on failure and run read-only, nonroot, with every capability dropped. Its README walks through it.

To pull a version by hand:

Terminal window
podman pull ghcr.io/hotloop-io/hotloop-cascade:0.1.2

The units follow :stable and Podman’s auto-update timer moves them.

On k3s, charts/hotloop-cascade is the Helm chart:

Terminal window
helm install cascade oci://ghcr.io/hotloop-io/charts/hotloop-cascade --version 0.1.2

That is one pod on SQLite with a volume. --set split=true with PostgreSQL (--set postgresql.enabled=true for one the chart runs, or externalDatabase.existingSecret for yours) splits it into API, webhook and worker pods that you scale on their own. The key that seals stored credentials is made on the first install and kept when the release is uninstalled, because a key that goes with the release takes every credential in a kept database with it. Back it up.

hotloop-cascade healthcheck asks the running server’s own health endpoint and exits 0 or 1. The Quadlet units and the chart’s probes both use the endpoints behind it.