Submitted By: louis
Topic: App Setup
Team: Tier 1 Support
Hey y’all, I have some questions about how to get started with infra development for a new application. I’m working on building out some of the foundation for EventBus Gateway (which has already been set up in Argo CD).
Some context: I’ve already reviewed the repos for vsp-infra-application-manifests and vsp-infra-argocd, and I have a rough idea of how everything works. In terms of development and deployment workflow, I imagine that EventBus Gateway will function pretty similarly to Vets API, where a commit made to main in the eventbus-gateway repository will kick off a GH Actions workflow to build an image, push it to ECR, tag the pushed image, and then commit the new image tag to the manifests repo so that Argo CD can auto-sync and deploy it (although we might prefer the sync to be manual for an environment like production).
With that in mind, questions:
First things first, is there documentation y’all can point me to? I looked through the platform docs and saw some links to Confluence in the repos, so I requested access under my VA email address (louis.fettet@va.gov), but I’m awaiting approval on that.
It doesn’t seem like I can point the eventbus-gateway-dev application in Argo CD to anything other than HEAD due to how the app-of-apps is set up; I was hoping to work on a development branch where I could throw spaghetti at the wall until I had something a bit more solid (and I’d rather not commit to main or create a PR for every change I want to try). Are there any workarounds for this?
For the application infra, I don’t expect that the templates will differ all that much between environments (this might be a wrong assumption in the long-run, but I’d like to start as DRY as possible). I was hoping I could set up a single chart with environment values files rather than duplicating charts and templates across different directories, e.g. have values.yaml include all defaults and then separate environment yaml files to selectively override those defaults, via a command like helm install ./apps/eventbus-gateway -f values.yaml -f dev.yaml. It doesn’t seem like this is currently feasible since the path is hard-coded to look at an environment directory and there's no way to provide additional values files. Unless there’s something I can do to override this behavior? (I suppose this is a similar question to the above, since in both cases I’d like to edit the Argo CD application config).
Submitted By: louis Topic: App Setup Team: Tier 1 Support
Hey y’all, I have some questions about how to get started with infra development for a new application. I’m working on building out some of the foundation for EventBus Gateway (which has already been set up in Argo CD).
Some context: I’ve already reviewed the repos for vsp-infra-application-manifests and vsp-infra-argocd, and I have a rough idea of how everything works. In terms of development and deployment workflow, I imagine that EventBus Gateway will function pretty similarly to Vets API, where a commit made to
main
in the eventbus-gateway repository will kick off a GH Actions workflow to build an image, push it to ECR, tag the pushed image, and then commit the new image tag to the manifests repo so that Argo CD can auto-sync and deploy it (although we might prefer the sync to be manual for an environment like production).With that in mind, questions:
HEAD
due to how the app-of-apps is set up; I was hoping to work on a development branch where I could throw spaghetti at the wall until I had something a bit more solid (and I’d rather not commit tomain
or create a PR for every change I want to try). Are there any workarounds for this?templates
will differ all that much between environments (this might be a wrong assumption in the long-run, but I’d like to start as DRY as possible). I was hoping I could set up a single chart with environment values files rather than duplicating charts and templates across different directories, e.g. havevalues.yaml
include all defaults and then separate environment yaml files to selectively override those defaults, via a command likehelm install ./apps/eventbus-gateway -f values.yaml -f dev.yaml
. It doesn’t seem like this is currently feasible since the path is hard-coded to look at an environment directory and there's no way to provide additional values files. Unless there’s something I can do to override this behavior? (I suppose this is a similar question to the above, since in both cases I’d like to edit the Argo CD application config).