developmentseed / eoapi-k8s

eoAPI IaC and k8 deployments for AWS, GCP and Azure
https://eoapi.dev/
MIT License
10 stars 4 forks source link

Document choice of Postgres technology - why operator? #132

Open j08lue opened 1 month ago

j08lue commented 1 month ago

We received this good question regarding the deployment of a Postgres database. perhaps worth documenting the answer here?

DevSeed uses the postgres-operator from crunchydata. Is there a reason why you have chosen this solution (just asking)? There is also a postgres-operator from Zalando. What are the benefits using an operator instead of a postgres helm chart?

Acceptance criteria

ranchodeluxe commented 1 month ago

We made the choice to use Crunchydata's operator over Zalando's operator and cloudnative-pg's operator (they all install operators even if using the helm install option) after considering the following things:

  1. quality of the documentation
  2. backlog of issues
  3. knowing that a lot of core PG contributors work at Crunchydata and hearing about some of the cutting edge things they are doing
  4. talking with other folks in our community

That said, what we want out of an operator "most" of the above options share:

  1. backups
  2. some kind of connection pooling option set up for us
  3. good solid docs and choices about how upgrades work

In the end, what's deployed to EOEPCA+ dev is not using the Crunchydata operator yet b/c the ArgoCD cluster wasn't able to use the OCI install (this should be an easy fix for someone with admin to the clsuter). It's still using our old simple pgstac database set up with no backups or connection pooling.

j08lue commented 1 month ago

@jonas-eberle, did you have concerns that speak against an operator, that we should address here?