Skip to content



Home Assistant is my home automation platform of choice. It offers many integrations and is easily configurable. It runs completely local, is privacy-focused and has companion mobile apps.

Most of my home automation stuff is ZigBee based which requires a small USB ZigBee Gateway stick: ConBee II. This stick is plugged into one of the cluster nodes. To ensure that the Home Assistant pod is scheduled on this node, it is set up with a dedicated label.

Example of a Node with a dedicated label
apiVersion: v1
kind: Node
  labels: zigbee

The configuration files of my Home Assistant instance are stored and managed inside another dedicated GitHub repository. Only the secrets are managed by this repository.

Created Resources

Kind Name
Namespace paperless
HelmRelease paperless
Certificate docs.${DOMAINS_EXTERNAL}
IngressRoute dashboard
ConfigMap grafana-dashboard-batteries, grafana-dashboard-climate, grafana-dashboard-fuel-prices
Secret secrets, monitoring-auth


Home Assistant provides a CLI tool to interact with the instance. The following command can be used to access them inside the cluster:

kubectl exec -it --namespace home-assistant deploy/home-assistant -- hass --script <script>
kubectl exec -it --namespace home-assistant deploy/home-assistant -- hass --script check_config

For more information on the hass command itself visit their docs.