argoproj-labs / argocd-autopilot

Argo-CD Autopilot

Home Page:https://argocd-autopilot.readthedocs.io/en/stable/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Feature Request: Support for Generic Git Server Type and Flexible Repository URL Suffix in ArgoCD Autopilot

mtb-xt opened this issue · comments

Hi!

I'm currently facing a limitation with argocd-autopilot as it does not support certain git server implementations. To address this, I suggest introducing a feature that allows the use of a 'generic' git server type. This would include options to bypass the API, enabling manual configuration for essential parameters like the master branch name.

Ideally, argocd-autopilot would support every git server, but I understand that's an unrealistic expectation. Therefore, a generic option seems like a practical compromise.

Additionally, some git servers, such as onedev, do not append a .git suffix to their repository paths. In these cases, I'm compelled to name repositories with a .git suffix to ensure compatibility. I recommend that the generic implementation should not automatically add a .git suffix to the repository URL, to accommodate such variations.

just to understand the issue -
at the moment, autopilot does not do anything provider-specific in most cases, unless the user supplies a repoURL for a repository that does not exist (only in repo bootstrap command). in that case, there is a provider-specific api call to create that repository.

another edge case - if running inside a docker container (or anywhere else without a valid .gitconfig that defines the username and email of the committing user. autopilot will try to get the user info by their token - another provider-specific api call.

but your issue is in a different case - autopilot currently automatically adds .git to the repoURL (between the url and the path), and this is not compatible with ondev (for example)?

just to understand the issue - at the moment, autopilot does not do anything provider-specific in most cases, unless the user supplies a repoURL for a repository that does not exist (only in repo bootstrap command). in that case, there is a provider-specific api call to create that repository.
Yes, this is correct - I was thinking there should be a 'generic' provider, that implies there's no API action going under the hood.

but your issue is in a different case - autopilot currently automatically adds .git to the repoURL (between the url and the path), and this is not compatible with ondev (for example)?

Yes, this is the main issue I have, actually. With all providers, autopilot forces the .git suffix to the repoURL (and this, combined with my previous thought, it may be solved by having a 'generic' provider, without any API magic or repoURL manipulation)