Commit Graph

26 Commits

Author SHA1 Message Date
Stefan Prodan f0016cfad1
Enable self-signed certs for go-git
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-03-29 13:23:32 +03:00
Michael Bridgen f7e08c4738 Tidy git clone errors
In some circumstances (that are rather hard to reproduce), cloning
from a GitLab repo gets a multiline response as described in
https://github.com/fluxcd/image-automation-controller/pull/115.

This uses the same remedy as in that PR, by calling the funcs provided
by fluxcd/pkg/gitutil on any error returned by libgit2 or gogit clone
operations.

Signed-off-by: Michael Bridgen <mikeb@squaremobius.net>
2021-03-03 13:41:53 +00:00
Philip Laine 0a1631dc5a Remove redundant if else
Signed-off-by: Philip Laine <philip.laine@gmail.com>
2021-02-12 11:18:29 +01:00
Philip Laine 73301df023 Add md5 test and check priority of hash types
Signed-off-by: Philip Laine <philip.laine@gmail.com>
2021-02-12 11:16:16 +01:00
Philip Laine f9ddeb06e1 Fix hash type switch statement
Signed-off-by: Philip Laine <philip.laine@gmail.com>
2021-02-12 08:43:43 +01:00
Philip Laine 6b3d96ef3b Check hostkey type when validating hostkey
Signed-off-by: Philip Laine <philip.laine@gmail.com>
2021-02-11 23:04:46 +01:00
Hidde Beydals b2f6639c01 libgit2: use provided host to validate public key
The callback from libgit2 only provides a hostname (without the port),
but the `known_hosts` file indexes the public keys based on the full
host (e.g. `[localhost]:123` for a host behind a specific port).

As a result, it was unable to find the correct public key for the
hostname when it was added to the `known_hosts` file with the port.

To work around this, we add the user provided host that includes the
port to the `PublicKeyAuth` strategy, and use this to find the right
entry in the `known_hosts` file, after having validated that the
hostname provided to the callback matches the hostname of the host
provided by the user.

Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-02-11 12:52:55 +01:00
Hidde Beydals fac1afa2a8 Move `git/common` to `git`
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-02-08 14:05:05 +01:00
Hidde Beydals 7e63ef841c Rename Git packages to implementations
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-02-08 13:55:23 +01:00
Philip Laine c063484761 Add custom certificate validation
Signed-off-by: Philip Laine <philip.laine@gmail.com>
2021-02-08 12:19:22 +01:00
Hidde Beydals 8f2a920765 Properly forward commit hash for go-git impl
Signed-off-by: Hidde Beydals <hello@hidde.co>
2020-12-11 16:05:02 +01:00
Philip Laine f044ebc253 Rename git2go option to libgit2
Signed-off-by: Philip Laine <philip.laine@xenit.se>
2020-12-06 23:19:57 +01:00
Philip Laine 1b4eacc588 Refactor argument name to enable git2go
Signed-off-by: Philip Laine <philip.laine@xenit.se>
2020-12-04 10:07:17 +01:00
Philip Laine 6344528e4f Fix smaller issues
Signed-off-by: Philip Laine <philip.laine@gmail.com>
2020-12-02 20:18:29 +01:00
Philip Laine 5ff65d7ae7 Add user support to git2go implementation
Signed-off-by: Philip Laine <philip.laine@gmail.com>
2020-12-02 20:18:29 +01:00
Philip Laine 2cb3754953 Add support for gitv2 servers
Signed-off-by: Philip Laine <philip.laine@xenit.se>
2020-12-02 20:18:29 +01:00
Hidde Beydals 67b10aad22 Respect configured user in SSH Git repository URL
We had a hardcoded assumption that the SSH user for a Git repository is
always "git". This is however not true in all scenarios, for example
when one is making use of Gerrit for team code collaboration, as users
there have their own username for (SSH) Git operations.

This commit changes the logic of the auth strategy helpers to:

1. Select the auth strategy based on the protocol of the parsed URL,
   instead of a simple rely on a correct prefix.
2. Use the user information from the parsed URL to configure the user
   for the public key authentication strategy, with a fallback to `git`
   if none is defined.

Signed-off-by: Hidde Beydals <hello@hidde.co>
2020-11-30 16:26:23 +01:00
Hidde Beydals c9eb8f03c0 Switch to Masterminds/semver and pkg/version libs
Co-authored-by: Illia Ovchynnikov <illia.ovchynnikov@gmail.com>
Signed-off-by: Hidde Beydals <hello@hidde.co>
2020-10-28 12:21:08 +01:00
Illia Ovchynnikov 394b5c3bd0
Pick the most recent chart/tag for ambiguous semver matches
Signed-off-by: Illia Ovchynnikov <illia.ovchynnikov@gmail.com>
2020-10-27 20:26:28 +01:00
Hidde Beydals 582c2092b6 Change copyright to Flux authors
Signed-off-by: Hidde Beydals <hello@hidde.co>
2020-10-27 17:54:22 +01:00
Stefan Prodan 13874ce552
Add Git URL to clone error message
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-10-16 15:58:09 +03:00
stefanprodan f16e5f041a Promote API to v1beta1 2020-09-30 16:11:00 +03:00
Hidde Beydals f35dcc3656 Upgrade blang/semver from v3.5.0 to v4.0.0
v4.0.0 is fully compatible with Go Modules.
2020-08-31 10:03:47 +02:00
Hidde Beydals 668e0223dd Drop single branch strategy for SemVer checkout
As this will result in a checkout failure when the default branch on the
remote is not `master`. Surfaced due to Contour switching from `master` to
`main` overnight.
2020-08-26 11:39:06 +02:00
stefanprodan 5044d46b81 Fix Git semver checkout 2020-08-18 11:32:42 +03:00
stefanprodan e65e2f0623 Make git package public 2020-07-20 13:10:18 +03:00