Commit Graph

157 Commits

Author SHA1 Message Date
Blake Pettersson
6002c7d8f3 fix: allow pipes to be present in git username (#20040)
* fix: [#15949] split git revision metadata by newline not pipe symbol

pipe symbol '|' could appear in username or commit message body

Signed-off-by: Petr Studeny <studenyp@gmail.com>

* test: add test

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* Update util/git/client_test.go

Co-authored-by: Petr Studeny <studenyp@gmail.com>
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* test: fix test

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

---------

Signed-off-by: Petr Studeny <studenyp@gmail.com>
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
Co-authored-by: Petr Studeny <studenyp@gmail.com>
2024-10-08 08:10:46 -04:00
Paul Larsen
7de5d27dc0 fix: Rework git tag semver resolution (#20083) (#20096)
* Write initial tests

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>

* Improve git tag semver resolution

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>

* Add company to list of users

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>

* Fix broken error string check

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>

* Fix incorrect semver test assumption

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>

* switch to debug statement

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>

* Add more testcases for review

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>

* review comments

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>

---------

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>
2024-10-03 15:52:01 +05:30
Pierre Lebrun
09e44e5f21 fix: Fix semver resolution (#19644)
Signed-off-by: Pierre Lebrun <pierreyves.lebrun@gmail.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2024-09-03 18:48:32 +00:00
Nathanael Liechti
bacdceda79 feat: allow no_proxy to be specified on repoCreds (#18526)
Signed-off-by: Nathanael Liechti <technat@technat.ch>
2024-08-20 12:54:39 -04:00
Michael Crenshaw
db02eaa7e0 feat(askpass): make askpass socket path configurable (#19313)
* feat(askpass): make askpass socket path configurable

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* remove unused const

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* remove unnecessary fmt call

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-08-01 13:12:41 -04:00
Cayde6
06b0f957b8 chore(migrate): migrate mockery codegen to use packages(#18579) (#18617)
* chore(migrate): mockery migrate to packages

migrate interface
- remove go:generate
- generate mock

Signed-off-by: Jack-R-lantern <tjdfkr2421@gmail.com>

* chore(migrate: mockery migrate to package

add mockgen stage
- add mockgen command to Makefile
- add generate-mock.sh
- add install mockery to install-codegen-go-tool.sh

Signed-off-by: Jack-R-lantern <tjdfkr2421@gmail.com>

---------

Signed-off-by: Jack-R-lantern <tjdfkr2421@gmail.com>
2024-07-02 10:48:38 -04:00
Shady Rafehi
336cc29f14 feat(reposerver): Skip calling git fetch if commit to checkout exists locally (#18657)
* Skip fetch if revision to check out exists locally

Signed-off-by: Shady Rafehi <shady@canva.com>

* Test reposerver/repository.checkoutRevision

Signed-off-by: Shady Rafehi <shady@canva.com>

* Test client.IsRevisionPresent

Signed-off-by: Shady Rafehi <shady@canva.com>

* Signoff

Signed-off-by: Shady Rafehi <shady@canva.com>

* Update reposerver/repository/repository.go

Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Signed-off-by: Shady Rafehi <shady@canva.com>

---------

Signed-off-by: Shady Rafehi <shady@canva.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-06-15 15:10:13 -04:00
Matthieu MOREL
eac08dcf79 chore: extend require-error rule from testifylint (#18681)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-06-15 13:51:18 -04:00
Ishita Sequeira
48bdf949a5 feat(appset): appset git generator verifies GPG signatures (#18545)
* feat(appset): appset git generator verifies GPG signatures

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* fix unit tests

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* fix generated code

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* add check for signatures in project and fix tests

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* fix tests

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* add e2e tests

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* address golang ci lint issue

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* fix golangci lint

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* Address comments

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* rebase and resolve conflicts

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

---------

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>
Co-authored-by: pasha-codefresh <pavel@codefresh.io>
2024-06-12 07:57:25 +00:00
Matthieu MOREL
7cf5ed06d4 chore: enable gofumpt and whitespace linters (#18567)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-06-11 15:41:55 +00:00
Matthieu MOREL
d7e99224d4 chore: enable errorlint linter on util folder (#18588)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-06-11 10:42:32 -04:00
Matthieu MOREL
32519c70a5 chore: enable error-nil rule from testifylint linter (#18544)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-06-10 10:38:55 -04:00
Matthieu MOREL
33df2ce698 chore: enable goimports linter (#18564)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-06-10 09:18:12 -04:00
Matthieu MOREL
44b8dc1a4c chore: enable len and empty rules from testifylint linter (#18516)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-06-07 15:12:50 -04:00
Pablo Aguilar
e54e45e1fd feat: changes git client to resolve semantic versioning tags (#17566)
* feat: changes git client to resolve semantic versioning tags

Signed-off-by: Pablo Aguilar <pablo.aguilar@outlook.com.br>

* docs: update documentation

Signed-off-by: Pablo Aguilar <pablo.aguilar@outlook.com.br>

* feat: simplify `resolveSemverRevision` method

Signed-off-by: Pablo Aguilar <pablo.aguilar@outlook.com.br>

* chore: add two more test cases

Signed-off-by: Pablo Aguilar <pablo.aguilar@outlook.com.br>

* chore: update `resolveSemverRevision` behavior

Signed-off-by: Pablo Aguilar <pablo.aguilar@outlook.com.br>

* chore: add end to end test

Signed-off-by: Pablo Aguilar <pablo.aguilar@outlook.com.br>

* chore: fix end to end test

Signed-off-by: Pablo Aguilar <pablo.aguilar@outlook.com.br>

* chore: improve semver constraint e2e testing

Signed-off-by: Pablo Aguilar <pablo.aguilar@outlook.com.br>

---------

Signed-off-by: Pablo Aguilar <pablo.aguilar@outlook.com.br>
2024-06-05 20:25:06 -04:00
Matthieu MOREL
71e1f30741 fix: enable bool-compare rule from testifylint linter (#18414) 2024-06-05 18:13:45 -04:00
Blake Pettersson
049900e646 chore: automate mock generation v2 (#18371)
* Add go:generate statements for mockery

Signed-off-by: Will Roden <will@roden.cc>

* revert whitespace change

Signed-off-by: Will Roden <will@roden.cc>

* go generate everything

Signed-off-by: Will Roden <will@roden.cc>

* make gogen

Signed-off-by: Will Roden <will@roden.cc>

* chore: upgrade to mockery v2.40.2

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

---------

Signed-off-by: Will Roden <will@roden.cc>
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
Co-authored-by: Will Roden <will@roden.cc>
2024-05-23 11:15:15 +03:00
Leonardo Luz Almeida
5ae342a6de chore: fix unit-tests (#18215)
Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2024-05-14 13:30:57 -04:00
Jonathan West
5ac8d05201 fix: prevent leak of files to /dev/shm in corner cases (#17658) (#17659)
Signed-off-by: Jonathan West <jonwest@redhat.com>
2024-04-11 11:47:38 +00:00
Alexy Mantha
a539f95597 chore: cleanup follow up for enforce manifest generate path (#15636) (#17761)
* cleanup

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* update docs

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

---------

Signed-off-by: Alexy Mantha <alexy@mantha.dev>
2024-04-07 13:26:33 -04:00
Alexy Mantha
4e46a5e8fa feat(controller): use manifest generate path during comparison (#14242) (#15636)
* squash commits

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* Update util/git/client.go

Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* fix error message

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* add git client options

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* Update generated code

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* run fmt

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* fix tests

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* failed gen

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* tweak logs and rename cache

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* validate revisions

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* fix tests

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* fix tests

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* fmt

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* fix linting

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* fixes from review

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* generate

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* fix

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* use log context

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

---------

Signed-off-by: Alexy Mantha <alexy@mantha.dev>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-04-04 16:01:11 -04:00
Nathan Romriell
c4fdc54195 fix(repo-server): excess git requests, add shared cache lock on revisions (Issue #14725) (#17109)
* fix(repo-server): excess git requests, cache lock on revisions

Signed-off-by: nromriell <nateromriell@gmail.com>

* fix: pr feedback, simplify, add configurable variable

Signed-off-by: nromriell <nateromriell@gmail.com>

* fix: codegen, lint

Signed-off-by: nromriell <nateromriell@gmail.com>

* fix: test print, no opts set, var type nit

Signed-off-by: nromriell <nateromriell@gmail.com>

* chore: add additional logging for unexpected cache error

Signed-off-by: nromriell <nateromriell@gmail.com>

---------

Signed-off-by: nromriell <nateromriell@gmail.com>
Co-authored-by: Ishita Sequeira <46771830+ishitasequeira@users.noreply.github.com>
2024-03-25 11:26:14 -04:00
Anand Francis Joseph
9b27aeb1a4 Added socks5 proxy support for ssh based git URL, upgraded go-git to 5.10.1 (#15864)
Signed-off-by: Anand Francis Joseph <anjoseph@redhat.com>
2024-01-09 09:41:12 -05:00
Alexander Matyushentsev
f37d24f6d8 feat: make git requests configurable (#15646)
* feat: make git requests configurable

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>

* docs: mention new settings in 'argocd-cmd-params-cm' configmap

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>

* add comment about ignored error

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>

---------

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2023-10-24 20:41:22 +00:00
Eng Zer Jun
03026997d1 chore: use t.Setenv to set env vars in tests (#14377)
This commit replaces `os.Setenv` with `t.Setenv` in tests. The
environment variable is automatically restored to its original value
when the test and all its subtests complete.

Reference: https://pkg.go.dev/testing#T.Setenv

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2023-07-06 19:50:08 -04:00
satoru
77fbfc84f9 chore: just use strings.TrimSuffix (#14248)
It's implemented in the same way in the standard library.

Signed-off-by: satoru <satorulogic@gmail.com>
2023-06-28 09:46:49 -04:00
jannfis
97906bb930 fix: Correctly verify signatures when targetRevision is a branch name (#14214)
* fix: Correctly verify signatures when targetRevision is a branch name

Signed-off-by: jannfis <jann@mistrust.net>

* Add more e2e tests

Signed-off-by: jannfis <jann@mistrust.net>

* Fix a bug and add unit test

Signed-off-by: jannfis <jann@mistrust.net>

---------

Signed-off-by: jannfis <jann@mistrust.net>
2023-06-27 10:56:45 -04:00
Michael Crenshaw
cec07ee1ce fix(cmp): discover plugins relative to app path (#13940) (#13946)
* fix(cmp): discover plugins relative to app path (#13940)

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* securejoin

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* intuitive constant names

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* comments

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* add missing import

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2023-06-15 21:17:04 +00:00
Calchan
96567956d0 fix: add optional safer Git file generator globbing (#13313) (#13314)
Signed-off-by: Denis Dupeyron <denis.dupeyron@gmail.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2023-05-27 21:15:03 -04:00
Yann Soubeyrand
41e91d5acd fix(repo-server): completely clean up Git working directory (#3683) (#13001)
* refactor(util/git/client): make runCredentialedCmd() signature coherent with runCmd() one

Signed-off-by: Yann Soubeyrand <yann.soubeyrand@camptocamp.com>

* fix(repo-server): completely clean up Git working directory

In some cases, for example when a Git submodule wasn’t present anymore
in a Git revision, the repo-server didn’t completely clean up its Git
working directory.

Fixes #3683

Signed-off-by: Yann Soubeyrand <yann.soubeyrand@camptocamp.com>

---------

Signed-off-by: Yann Soubeyrand <yann.soubeyrand@camptocamp.com>
2023-05-27 15:57:59 -04:00
david-becher
6dad9bc911 fix: Use CredsStore for GoogleCloudCreds (#12391)
git-ask-pass.sh is no longer supported for credentials

Signed-off-by: David Becher <becher.david@googlemail.com>
2023-03-06 16:44:45 -05:00
Gergely Czuczy
e18adb5ab3 chore: Replaced /bin/rm with os.RemoveAll (#12699)
Signed-off-by: Gergely Czuczy <gergely.czuczy@sap.com>
2023-03-02 16:41:16 +00:00
Fish-pro
c85902c999 chore: use http constants instead of string (#12334)
Signed-off-by: Fish-pro <zechun.chen@daocloud.io>
2023-02-17 14:04:10 -05:00
jannfis
b600da1318 feat: Allow force of basic auth for HTTP repositories (#11983)
* feat: Allow force of basic auth for HTTP repositories

Signed-off-by: jannfis <jann@mistrust.net>

* Some docs

Signed-off-by: jannfis <jann@mistrust.net>

---------

Signed-off-by: jannfis <jann@mistrust.net>
2023-02-01 13:11:46 -05:00
Artur Rodrigues
e510a77a1d fix: repo-server - prevent locked state after unclean git checkout (#7898) (#11805)
* Pull in new version of argoproj/pkg

Signed-off-by: Artur Rodrigues <artur.rodrigues@lacework.net>

* Allow timeout behavior to be specified in util/exec/exec

Signed-off-by: Artur Rodrigues <artur.rodrigues@lacework.net>

* Git processes receive SIGTERM when timedout

Signed-off-by: Artur Rodrigues <artur.rodrigues@lacework.net>

* Update util/exec/exec_test.go

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Artur Rodrigues <artur.rodrigues@lacework.net>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2023-02-01 12:59:34 -05:00
jannfis
9b7498ce84 fix: Prevent Git from waiting for terminal input (#12028)
Signed-off-by: jannfis <jann@mistrust.net>
2023-01-31 16:31:06 -05:00
Alex Eftimie
a2d756e4ac feat: add google cloud source repo support (#7534) (#11618)
* feat: Add support for cloning Google Cloud Source repos (#7534)

* Google Cloud service account auth

Signed-off-by: David Becher <becher.david@googlemail.com>

* fix: Fill missing struct field (GCP SA key) in cli cmd

Signed-off-by: David Becher <becher.david@googlemail.com>

* fix(ui): Add proxy option when configuring Google Cloud Source repo

Signed-off-by: David Becher <becher.david@googlemail.com>

* fix: Remove secret (GCP SA key) in Get server req

Signed-off-by: David Becher <becher.david@googlemail.com>

* refactor: Do not use context.WithTimeout for Google creds

As the context is used in the background to refresh credentials, it
should not be cancelled.

Signed-off-by: David Becher <becher.david@googlemail.com>

* fix: Use proxy setting only in repo-service, not repocreds-service

Signed-off-by: David Becher <becher.david@googlemail.com>

* test: Create tests for GoogleCloudCreds

This commit refactors the implementation of GoogleCloudCreds in order to
make its methods testable.

Signed-off-by: David Becher <becher.david@googlemail.com>

* fix: Linting issues

Signed-off-by: David Becher <becher.david@googlemail.com>

* chore: Fix typo in docs.

Signed-off-by: David Becher <becher.david@googlemail.com>

* chore: Adjust url-allow-list for lint-docs action

Signed-off-by: David Becher <becher.david@googlemail.com>

* chore: Incorporate suggested refactorings

Signed-off-by: David Becher <becher.david@googlemail.com>

* Delete url-allow-list

Signed-off-by: Alex Eftimie <alex.eftimie@getyourguide.com>

* wrap errors

Signed-off-by: Alex Eftimie <alex.eftimie@getyourguide.com>

* More UI goodies and codegen

Signed-off-by: Alex Eftimie <alex.eftimie@getyourguide.com>

* Update docs screenshots

Signed-off-by: Alex Eftimie <alex.eftimie@getyourguide.com>

* move interface up next to other interfaces

Signed-off-by: Alex Eftimie <alex.eftimie@getyourguide.com>

* Reduce png size

Signed-off-by: Alex Eftimie <alex.eftimie@getyourguide.com>

* update generated

Signed-off-by: Alex Eftimie <alex.eftimie@getyourguide.com>

* fix whitespace from codegen

Signed-off-by: Alex Eftimie <alex.eftimie@getyourguide.com>

Signed-off-by: David Becher <becher.david@googlemail.com>
Signed-off-by: Alex Eftimie <alex.eftimie@getyourguide.com>
Co-authored-by: David Becher <becher.david@googlemail.com>
2022-12-16 17:07:26 +00:00
Nathanael Liechti
5bb937cf3a fix: use repository GithubAppCreds proxy if set (#11422)
Signed-off-by: Nathanael Liechti <technat@technat.ch>

Signed-off-by: Nathanael Liechti <technat@technat.ch>
2022-12-05 12:25:55 -05:00
Michael Crenshaw
63c42d8dda chore: fix CI (#11022)
* chore: fix CI

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* no more set global

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2022-10-21 11:08:30 -04:00
Michael Crenshaw
cfdd85cc64 chore: fix e2e (#11005)
* chore: fix e2e

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* more config

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* global

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2022-10-20 10:15:54 -04:00
Daniel Hix
6d5a2238b9 fix: always prune on git fetch (#10664)
This should clean up any old branches and save on disk space, and fix any errors around bad branch names.

Signed-off-by: Daniel Hix <danieljacobhix@gmail.com>

Signed-off-by: Daniel Hix <danieljacobhix@gmail.com>
2022-10-03 09:33:36 -04:00
my-git9
675cbf40d4 test: Add logic to handle for fileHandle.Close() (#10632)
Signed-off-by: xin.li <xin.li@daocloud.io>

Signed-off-by: xin.li <xin.li@daocloud.io>
2022-09-22 19:31:40 -04:00
my-git9
662caa2030 chore: Add security logging in util/git|helm (#10410)
Signed-off-by: xin.li <xin.li@daocloud.io>

Signed-off-by: xin.li <xin.li@daocloud.io>
Co-authored-by: Leonardo Luz Almeida <leoluz@users.noreply.github.com>
2022-08-23 18:08:55 +00:00
my-git9
9d21bb91b1 fix: Add logic to handle for file.Close() (#9963) (#10159)
Signed-off-by: xin.li <xin.li@daocloud.io>
2022-08-03 14:33:40 -04:00
jannfis
f34687bd80 chore: Replace deprecated ioutil in util packages (#9848)
Signed-off-by: jannfis <jann@mistrust.net>
2022-07-06 12:45:04 -04:00
Shunki
f457dbbebd fix: argo-cd git submodule is using SSH auth instead of HTTPs (#3118) (#9821)
* fix: argo-cd git submodule is using SSH auth instead of HTTPs (#3118)

Signed-off-by: shunki-fujita <shunki-fujita@cybozu.co.jp>

* Add submodule functions and unit tests
Signed-off-by: shunki-fujita <shunki-fujita@cybozu.co.jp>
2022-07-06 08:59:10 -04:00
34FathomBelow
f6f578b8b4 chore: update Kex-Algorithms (#9561)
* chore: update Kex-Algorithms

Signed-off-by: douhunt <douhunt@protonmail.com>

* sorted kex-algorithms

Signed-off-by: Justin Marquis <34fathombelow@protonmail.com>

Co-authored-by: douhunt <douhunt@protonmail.com>
2022-06-05 19:19:15 +02:00
Michael Crenshaw
66efffb014 fix: better error message for invalid repo URL (#9513)
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
2022-06-02 16:39:38 -04:00
KevinSnyderCodes
2a690388ed git: prune any deleted refs before fetching (#9504)
* git: prune any deleted refers before fetching

This commit modifies `nativeGitClient.Fetch()` to call `git remote prune origin` before fetching refs.

In some cases, an old branch may exist that conflicts with the name of a new branch. The old branch will have been deleted from `origin` but still exist locally in the `argocd-repo-server`.

Example: an old branch `feature/foo` conflicts with a new branch `feature/foo/bar`

In these cases, syncing an application results in the error:

```
rpc error: code = Internal desc = Failed to fetch default: `git fetch origin --tags --force` failed exit status 1: error: cannot lock ref 'refs/remotes/origin/feature/foo/bar': 'refs/remotes/origin/feature/foo' exists; cannot create 'refs/remotes/origin/feature/foo/bar' From https://github.com/org/repo ! [new branch] feature/foo/bar -> origin/feature/foo/bar (unable to update local ref) error: some local refs could not be updated; try running 'git remote prune origin' to remove any old, conflicting branches
```

Adding `git remote prune origin` before fetching, as recommended by the error message, should fix this issue.

The current workaround is to restart the `argocd-repo-server` which should flush the local repository folder. This works when Argo CD is installed using the Helm chart.

Signed-off-by: Kevin Snyder <kevin.snyder.codes@gmail.com>

* fix: added extra protection to syncing app with replace (#9187)

* fix: added extra protection to syncing app with replace

Signed-off-by: ciiay <yicai@redhat.com>

* Code clean up

Signed-off-by: ciiay <yicai@redhat.com>

* Updated logic for isAppOfAppsPattern

Signed-off-by: ciiay <yicai@redhat.com>

* Updated text strings as per comment

Signed-off-by: ciiay <yicai@redhat.com>

* Fixed lint issue

Signed-off-by: ciiay <yicai@redhat.com>
Signed-off-by: Kevin Snyder <kevin.snyder.codes@gmail.com>

* chore: Simplified GetRepoHTTPClient function (#9396)

* chore: Simplified GetRepoHTTPClient function

Signed-off-by: ls0f <lovedboy.tk@qq.com>

* simplified code and improve unit test coverage

Signed-off-by: ls0f <lovedboy.tk@qq.com>
Signed-off-by: Kevin Snyder <kevin.snyder.codes@gmail.com>

* Only prune if fetch error message indicates that it is worthwhile, add unit tests

Confirmed that `Test_nativeGitClient_Fetch_Prune` fails without the bug fix, succeeds with it.

Signed-off-by: Kevin Snyder <kevin.snyder.codes@gmail.com>

* fix: avoid k8s call before authorization for terminal endpoint (#9434)

* fix: avoid k8s API call before authorization in k8s endpoint

Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>

* check for bad project

Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>

* lint

Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>

* more logging

Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>

* handle 404, return 500 instead of 400 for other errors

Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>

* use user input

Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>

* refactor validation

Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>

* fix tests

Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>

* fixes, tests

Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
Signed-off-by: Kevin Snyder <kevin.snyder.codes@gmail.com>

* Match against "try running 'git remote prune origin'"

Signed-off-by: Kevin Snyder <kevin.snyder.codes@gmail.com>

Co-authored-by: Yi Cai <yicai@redhat.com>
Co-authored-by: ls0f <lovedboy.tk@qq.com>
Co-authored-by: Michael Crenshaw <michael@crenshaw.dev>
2022-05-27 15:44:42 +00:00
ls0f
f831c07443 chore: Simplified GetRepoHTTPClient function (#9396)
* chore: Simplified GetRepoHTTPClient function

Signed-off-by: ls0f <lovedboy.tk@qq.com>

* simplified code and improve unit test coverage

Signed-off-by: ls0f <lovedboy.tk@qq.com>
2022-05-25 15:13:26 -04:00