As a VRO engineer, I would like to be able to use ArgoCD for VRO deployments. As a first step: I would like to be able to use ArgoCD to deploy svc-bip-api to environments dev, qa, and sandbox with minimal manual intervention.
Problem 2: the ArgoCD UI does not reflect the status of what's currently deployed to the respective environments (known: a non-ArgoCD deployment process - ie GH actions - was used for what's currently deployment to the respective environments)
Problem 3: while one ArgoCD deployment did complete, the app failed to start up due to a gap in secrets management
This ticket targets Problems 1 and 2.
Recommendations
reach out to Tyler S of LHDI support. The ArgoCD instance we're using is managed by LHDI. Much of the setup leans convention over configuration (implicit over explicit), and considering this svc-bip-api is our first service in ArgoCD, we can't rely on a complete understanding of the convention; and LHDI would likely have that knowledge.
review the LHDI support channel for related troubleshooting discussion. for example: out of sync issue (June 2024)
for gathering info: if you can force a deployment through ArgoCD, immediately inspect the tags on EKS. why: for Problem 2, consider updating the helm chart to apply those tags, so that they're applied when using the non-ArgoCD deployment
Acceptance Criteria
(in the scope of environments dev, qa, and sandbox; this does NOT apply to higher environments)
Sync capability, at least one of these:
a. Auto-sync is working: when the develop branch of repo va-abd-rrd-argocd-applications-vault is changed, ArgoCD executes a deployment
b. Sync is working: when a user clicks the “Sync” button in the ArgoCD UI, ArgoCD executes a deployment
Following an ArgoCD deployment of svc-bip-api, a non-ArgoCD deployment of is successful
Spot checks show that deployments from ArgoCD and non-ArgoCD can be run interchangeably with outcomes of successful deployments, assuming the deployments are not running concurrently. (why: to ensure we don't have to cutover to using strictly ArgoCD deployments; for flexibility while we gain experience with ArgoCD)
The ArgoCD UI displays basic info (eg version of the code, status) of what's currently deployed to the respective environments, even if the most recent deployment was not via ArgoCD; or if that will be too complex to achieve, then documentation on what the ArgoCD UI displays if the most recent deployment was conducted not using ArgoCD
Environments beyond non-production tier are NOT affected
Not included in this work
automation/inflation of secrets; it is acceptable if the service fails to start up due to not having the correct secrets. This is to be addressed in #3037.
User Story
As a VRO engineer, I would like to be able to use ArgoCD for VRO deployments. As a first step: I would like to be able to use ArgoCD to deploy
svc-bip-api
to environments dev, qa, and sandbox with minimal manual intervention.Notes about work This has been partially configured. See ArgoCD (must be on CAG) and va-abd-rrd-argocd-applications-vault.
What needs to be worked through:
This ticket targets Problems 1 and 2.
Recommendations
svc-bip-api
is our first service in ArgoCD, we can't rely on a complete understanding of the convention; and LHDI would likely have that knowledge.Acceptance Criteria
(in the scope of environments dev, qa, and sandbox; this does NOT apply to higher environments)
develop
branch of repova-abd-rrd-argocd-applications-vault
is changed, ArgoCD executes a deployment b. Sync is working: when a user clicks the “Sync” button in the ArgoCD UI, ArgoCD executes a deploymentsvc-bip-api
, a non-ArgoCD deployment of is successfulNot included in this work
Related This is a follow up to the deployment improvement workshop (recap) , https://github.com/department-of-veterans-affairs/abd-vro/issues/2781 , and https://github.com/department-of-veterans-affairs/abd-vro/issues/2608 (includes link to the Tech Spec).