The kadet-hub examples repository deploys six recipes
to a new kind cluster on every pull request and checks them with
Chainsaw 0.2.15. A bash
script creates the cluster and installs the operators; a Chainsaw test per
recipe asserts the status of the deployed resources and then uses the
software. Two things had to be added around Chainsaw: a pod watcher that
stops a broken run within seconds instead of at a timeout, and a retry of
every apply until the admission webhooks accept it. This post shows both,
the CI failures that shaped them, and what the timeouts are based on.
A recipe is a Kapitan class that
replaces a Bitnami chart with kadet-hub generators ,
for example PostgreSQL on CloudNativePG or Keycloak with the Keycloak
Operator.…