applicationset
applicationset copied to clipboard
feat: add support for Bitbucket Server (SCM + PR)
Implementation details
Uses Basic auth instead of access tokens like the other SCMs. Note that Personal Access Tokens do work with this.
PRs do not support labels. Added a branchMatch
field for PRs which allows you to filter based on the source branch name (e.g. only consider PRs that include -argocd
)
Repos do indeed support labels, but the go-bitbucket-v1
library does not. It would have to be added upstream first.
Speaking of go-bitbucket-v1
, version was increased as it has some bugfixes that were merged and are related to this PR (e.g. missing pagination options)
Closes #505
@mlosicki this morning got taken up by another review. But I should have a chance to do a last pass review no later than tomorrow morning.
@mlosicki : Can u please move this PR into argocd as applicationset is moved. If u find it laborious, i can do it on your behalf with your consent
This is merged we can close it
@mlosicki - A question about this PR. I can see that Basic Auth is implemented. We are using ssh with privatekeys stored in secrets towards bitbucket server. Do you know if this would work, or would we still need to provide basic auth as well?
@mlosicki - A question about this PR. I can see that Basic Auth is implemented. We are using ssh with privatekeys stored in secrets towards bitbucket server. Do you know if this would work, or would we still need to provide basic auth as well?
@simcax No, it won't work. Bitbucket Server doesn't have an option to authenticate to the REST API via ssh keys. Those keys are only used for Git operations. So you do need Basic auth, preferably via personal access tokens.
@mlosicki - A question about this PR. I can see that Basic Auth is implemented. We are using ssh with privatekeys stored in secrets towards bitbucket server. Do you know if this would work, or would we still need to provide basic auth as well?
@simcax No, it won't work. Bitbucket Server doesn't have an option to authenticate to the REST API via ssh keys. Those keys are only used for Git operations. So you do need Basic auth, preferably via personal access tokens.
Ah - of coures, that makes sense - although a bit of a nuisance having to create a service user of sorts. Thx!
Has this PR been moved to applicationSet controller in ArgoCD, now that the applicationSet Controller is part of it?
Yep! https://github.com/argoproj/argo-cd/pull/9049