When using TLS, it is required to have a newline at the end of the certificate and key, else nginx will fall into a crash loop as the certificate is invalid. I believe this is because the certificate and key are concatenated and loaded from the same file, and without the new line the certificate and key merge into one.
This should either be optional or documented behaviour to save others spending ages debugging!
Side note: thanks for the ingress controller!