RoadieHQ / roadie-backstage-plugins

All Backstage plugins created by Roadie.
https://roadie.io
Apache License 2.0
276 stars 399 forks source link

Please allow use of existing AppProjects if available #1500

Open RickJWagner opened 3 months ago

RickJWagner commented 3 months ago

Feature Suggestion

Every time the backstage ArgoCD plugin is invoked it must create a new ArgoCD "AppProject".

This goes against how many (most?) organizations build out their Argo CD architecture. An "AppProject" often is used as a way to logically organize groups of Argo CD "Applications". However, it is rare that all of these "Applications" are created at the exact same time.

The plugin should be able to take an existing "AppProject" name as a parameter and simply use this if it already exists, and only create a new "AppProject" if it doesn't.

Possible Implementation

N/A

Context

We'd like to be able to use the plugin, but not have a new AppProject every time it runs.

Thank you!

github-actions[bot] commented 1 month ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

pittar commented 1 month ago

If this feature isn't created, is there a better way to be able to keep adding Applications to AppProjects, rather than having to create a new AppProject each time you invoke a GPT?

Xantier commented 1 month ago

@RickJWagner Would you be able to recommend an alternative approach to this?

RickJWagner commented 2 weeks ago

Hi @Xantier Thank you for asking. Let me delegate the question to some friends that have much more experience in the area. @pittar , @agiertli, can we think of any alternative approaches? Thanks.

pittar commented 2 weeks ago

For one of the large-scale customers that I work with, this is a blocker to them adopting Backstage. Since the Argo CD integration is a core requirement, the fact that each new Argo CD "Application" also requires a new "AppProject" makes this plugin unusable.

To explain further, they have an "AppProject" per project team. When a project team needs to create a new "Application", it references the existing "AppProject".

This is a problem with the argocd plugin, since attempting to create a new "Application" that belongs to an existing "AppProject" throws an error.

Ideally, this plugin would have an additional flag - something along the lines of "useExistingAppProject" that would simply skip the AppProject creation step and allow an Application to reference and existing AppProject.

Xantier commented 2 weeks ago

Thanks @pittar,

Would you or Red Hat be able to introduce such functionality to this plugin? We currently don't have ArgoCD setup that would match that kind of workflow so it is a bit tricky to modify without a proper test environment.