We are planning to setup automatic deployments once the application is in a sufficiently advanced state that we have something to deploy.
- Development: Auto-deploy from develop branch
- Production: Manual promotion from main branch
These are kept in a separate repository along with minimal helm templates. Dev/Prod deployments will be managed in GitOps using ArgoCD
- Development: Single PostgreSQL cluster shared among all developers. (Backed by Cloudnative Postgres for automated backup and restore).
- Production: Cloudnative Postgres Cluster (2 replicas, daily backups, automated restore)
- Image built and published to ghcr.io by
Jenkinsfile.docker - Image tagged with git SHA
- Kubernetes manifests updated with new image tag
- Development environment updates automatically with new image tag. Production requires manual intervention.
Use ArgoCD to deploy application to previous state.
- Liveness probe: TBD
- Readiness probe: TBD
- Metrics: TBD
- Logging: TBD