Most practitioners draw the same line: Terraform provisions the cluster, Helm manages what runs in it. Running both in the homelab made this concrete rather than theoretical. A bad Helm values change is a helm rollback. A Terraform state conflict at 2am is a careful conversation where you are not sure what the blast radius is before you start. Keep the layers separate. Changing an environment variable should not require reconciling cloud resource state.