Install
Three secrets have to exist first. The chart refuses to install without the two th2pulse tokens — that service does not start without them, so failing at install time is the honest moment to say it.From the published chart
The chart moved to its own Docker Hub repository. It used to be pushed to
apowerb/apowerb, alongside the backend images — a repository cannot be
subdivided there, and helm push names it after the chart. Versions 0.2.0
and 0.4.0 stay where they were published; nothing was deleted. Anythingfrom 0.4.1 on lives at apowerb/apowerb-chart.Storage
persistence.enabled claims one volume, mounts it on persistence.mountPath
(/data) and points RUNTIME_ROOT at it. Everything the backend writes lives
under it: bi_store, uploads, artifacts_store, agents_pool.
- Without it, an imported CSV is gone at the next restart of the backend pod,
and the dashboard reading it dies with it.
agents_poolis the exception — it is regenerated from the database. - The claim is
ReadWriteOnce, so the backend stays at one replica unless the storage class offersReadWriteMany. - It carries
helm.sh/resource-policy: keep:helm uninstallleaves the files behind rather than deleting them with the release.
The seed is a Job
th2etl-seed posts the default pipelines and exits. It runs as a
post-install,post-upgrade hook and retries while th2etl migrates the
database. As a Deployment, Kubernetes would restart a container that exited 0 —
a crash loop on a success.
A smaller stack
Nothing beyond the product itself is mandatory:Ingress and TLS
The interface is reached through the Ingress: since0.4.0 the frontend
Service is a ClusterIP, not a LoadBalancer — no provider load balancer, and
no public IP billed for it.
tlsEnabled writes the Ingress tls section; the secret name is derived
(apowerb-tls) unless ingress.tlsSecretName names one, which is what
cert-manager fills from the annotation above.
Without an Ingress, nothing is exposed outside the cluster: set
service.frontend.type=LoadBalancer, or reach it with
kubectl port-forward. The install notes say which case you are in.
