Production and QA Deployments
In order to follow our "Service First" guiding principle, we deploy Nexodus continuously as a service using GitOps.
Our project is deployed to Kubernetes using kustomize. This enables Nexodus to be easily adapted for different deployment scenarios.
The base Nexodus manifests live in
./deploy/nexodus/base, and we offer a number of overlays:
- Local Development -
- ROSA (QA) -
- ROSA (Production) -
We use GitHub Actions as our build pipeline.
Each Pull Request is gated by automated tests that are run in the
On each merge to the
main branch, the
deploy workflow is triggered.
- Builds container images and pushes them to quay.io
- Updates the image tags in
./deploy/nexodus/overlays/qaand commits this change back to the repository
This ensures that the desired state of our deployments is checked into git.
Deployment of Nexodus on OperateFirst is managed by ArgoCD.
ArgoCD will watch this repository for changes and ensure that our deployment is up-to-date. It will prevent our application from deviating from the desired state.
These resources are only accessible to those with access to the cluster hosting our deployments.