This is good and interesting recipe to get Keycloak and Postgres on Kubernetes.
There is an important improvement, though: the Postgres deployed here is not production ready (high availability, backups, monitoring, etc).
We run Keycloak on StackGres [1] which gives us production-ready Postgres setup (disclaimer: it's dogfooding). Happy to share the YAML manifests used to deploy Keycloak with StackGres. Maybe we will write a blog post as a follow-up to this one, for completeness.
I gotta say the (new) keycloak operator is super basic and doesn't really support changes in image tag. it always assumes a keycloak upgrade and will automatically scale down your keycloak to 1 instance to do an "upgrade". of course this will overload that one node, it will crash, and all your sessions are gone.
I'm not sure if anybody is actually using keycloak & kc-operator in production on kubernetes.
the state of the documentation and guides make it look like it's an abandoned product.
I don't want to go too offtopic on this one --feel free to join StackGres Slack Community [1] to discuss further.
As a one-liner, though, for completeness: StackGres is fully open source (unlike Crunchy that needs a license for production); comes with a Web Console; 150+ Postgres extensions (including Timescale, Citus and many others); and many Day 2 operations fully automated.
There is an important improvement, though: the Postgres deployed here is not production ready (high availability, backups, monitoring, etc).
We run Keycloak on StackGres [1] which gives us production-ready Postgres setup (disclaimer: it's dogfooding). Happy to share the YAML manifests used to deploy Keycloak with StackGres. Maybe we will write a blog post as a follow-up to this one, for completeness.
[1]: https://stackgres.io