Was my application successfully deployed? ๐
deployvia is an API that allows you to check the status of your applications deployed to Atlas by Argo CD. Its purpose is to bridge the gap between traditional push-based CI/CD and pull-based GitOps CD.
At Elvia, we are used to deploying an application and waiting until it is successfully deployed before moving on the the next step in the pipeline. With Argo CD, the deployment process is asynchronous, and it can be hard to know when the application is ready. This is where deployvia comes in. It allows you to check the status of your Argo CD deployment inside your pipeline.
- Runs in the same Kubernetes cluster and namespace as an Argo CD instance and watches
Applicationresources with specific labels. - Provides a single endpoint (
/deployment) for checking the status of a deployment:- endpoint requires a valid GitHub Actions OIDC token from the 3lvia organization.
- endpoint is protected by Traefik (reverse proxy) using IP whitelisting and rate limiting. Only Elvia-hosted GitHub runners can access it.
- endpoint will not respond to the request until the matching
Applicationhas finished syncing and the correct image tag is deployed.
make run
We have two Grafana dashboards here.
TODO: Automate this process more.
-
Increment the version in
VERSIONfile. -
Update
images.newTaginmanifests/base/kustomization.yamlto the new version. -
Run this command:
kustomize build manifests/base > manifests/install.yaml- Commit and push the changes.