diff --git a/git/gitlab/gitlab.go b/git/gitlab/gitlab.go index 0d240346..ef0a4496 100644 --- a/git/gitlab/gitlab.go +++ b/git/gitlab/gitlab.go @@ -11,7 +11,7 @@ import ( "time" "github.com/go-logr/logr" - "github.com/xanzy/go-gitlab" + gitlab "gitlab.com/gitlab-org/api/client-go/v2" "go.uber.org/multierr" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/utils/ptr" @@ -26,7 +26,7 @@ func init() { manager.Register(&Gitlab{}) } -var ListItemsPerPage = 100 +var ListItemsPerPage int64 = 100 // Gitlab holds the necessary information to communincate with a Gitlab server. // Each Gitlab instance will handle exactly one project. @@ -265,7 +265,7 @@ func (g *Gitlab) New(options manager.RepoOptions) (manager.Repo, error) { }, nil } -func (g *Gitlab) getNamespaceID() (*int, error) { +func (g *Gitlab) getNamespaceID() (*int64, error) { fetchedNamespace, _, err := g.client.Namespaces.GetNamespace(g.ops.Path) if err != nil { return nil, err @@ -504,14 +504,14 @@ func (g *Gitlab) EnsureProjectAccessToken(ctx context.Context, name string, opts if opts.UID == nil { if len(validATs) > 0 { return manager.ProjectAccessToken{ - UID: strconv.Itoa(validATs[0].ID), + UID: strconv.FormatInt(validATs[0].ID, 10), ExpiresAt: time.Time(*validATs[0].ExpiresAt), }, nil } } else { uid := *opts.UID for _, token := range validATs { - if strconv.Itoa(token.ID) == uid { + if strconv.FormatInt(token.ID, 10) == uid { return manager.ProjectAccessToken{ UID: uid, ExpiresAt: time.Time(*token.ExpiresAt), @@ -536,7 +536,7 @@ func (g *Gitlab) EnsureProjectAccessToken(ctx context.Context, name string, opts } return manager.ProjectAccessToken{ - UID: strconv.Itoa(token.ID), + UID: strconv.FormatInt(token.ID, 10), Token: token.Token, ExpiresAt: time.Time(ptr.Deref(token.ExpiresAt, gitlab.ISOTime{})), }, nil diff --git a/git/gitlab/gitlab_test.go b/git/gitlab/gitlab_test.go index 83579113..5e338393 100644 --- a/git/gitlab/gitlab_test.go +++ b/git/gitlab/gitlab_test.go @@ -20,7 +20,7 @@ import ( "github.com/go-logr/zapr" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/xanzy/go-gitlab" + gitlab "gitlab.com/gitlab-org/api/client-go/v2" "go.uber.org/atomic" "go.uber.org/zap" "golang.org/x/exp/maps" @@ -811,20 +811,22 @@ func testProjectAccessTokenServer(t *testing.T, clock func() time.Time) *httptes } patsMux.Lock() - id := 100 + len(pats) + 1 - nPat := gitlab.ProjectAccessToken{ - ID: id, - UserID: 123, - Name: *createPAT.Name, - Scopes: *createPAT.Scopes, - CreatedAt: ptr.To(clock()), - ExpiresAt: createPAT.ExpiresAt, - Active: true, - Revoked: false, - Token: "token" + strconv.Itoa(id), - AccessLevel: *createPAT.AccessLevel, + id := int64(100 + len(pats) + 1) + nPat := gitlab.PersonalAccessToken{ + ID: id, + UserID: 123, + Name: *createPAT.Name, + Scopes: *createPAT.Scopes, + CreatedAt: ptr.To(clock()), + ExpiresAt: createPAT.ExpiresAt, + Active: true, + Revoked: false, + Token: "token" + strconv.FormatInt(id, 10), } - pats = append(pats, nPat) + pats = append(pats, gitlab.ProjectAccessToken{ + PersonalAccessToken: nPat, + AccessLevel: *createPAT.AccessLevel, + }) patsMux.Unlock() _ = json.NewEncoder(res).Encode(nPat) }) diff --git a/go.mod b/go.mod index bd8fa0ad..152e37b4 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/prometheus/client_golang v1.23.2 github.com/ryankurte/go-structparse v1.2.0 github.com/stretchr/testify v1.11.1 - github.com/xanzy/go-gitlab v0.115.0 + gitlab.com/gitlab-org/api/client-go/v2 v2.25.0 go.uber.org/atomic v1.11.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.28.0 diff --git a/go.sum b/go.sum index 33e1a7e3..52b0e2b0 100644 --- a/go.sum +++ b/go.sum @@ -67,8 +67,8 @@ github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuy github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/antlr4-go/antlr/v4 v4.13.0 h1:lxCg3LAv+EUK6t1i0y1V6/SLeUi0eKEKdhQAlS8TVTI= -github.com/antlr4-go/antlr/v4 v4.13.0/go.mod h1:pfChB/xh/Unjila75QW7+VU4TSnWnnk9UTnmpPaOR2g= +github.com/antlr4-go/antlr/v4 v4.13.1 h1:SqQKkuVZ+zWkMMNkjy5FZe5mr5WURWnlpmOuzYWrPrQ= +github.com/antlr4-go/antlr/v4 v4.13.1/go.mod h1:GKmUxMtwp6ZgGwZSva4eWPC5mS6vUAmOABFgjdkM7Nw= github.com/armon/go-metrics v0.3.9/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= @@ -245,8 +245,8 @@ github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6 github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/cel-go v0.26.0 h1:DPGjXackMpJWH680oGY4lZhYjIameYmR+/6RBdDGmaI= -github.com/google/cel-go v0.26.0/go.mod h1:A9O8OU9rdvrK5MQyrqfIxo1a0u4g3sF8KB6PUIaryMM= +github.com/google/cel-go v0.28.0 h1:KjSWstCpz/MN5t4a8gnGJNIYUsJRpdi/r97xWDphIQc= +github.com/google/cel-go v0.28.0/go.mod h1:X0bD6iVNR8pkROSOoHVdgTkzmRcosof7WQqCD6wcMc8= github.com/google/gnostic-models v0.7.1 h1:SisTfuFKJSKM5CPZkffwi6coztzzeYUhc3v4yxLWH8c= github.com/google/gnostic-models v0.7.1/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= @@ -296,6 +296,8 @@ github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+ github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.22.0 h1:PjIWBpgGIVKGoCXuiCoP64altEJCj3/Ei+kSU5vlZD4= github.com/googleapis/gax-go/v2 v2.22.0/go.mod h1:irWBbALSr0Sk3qlqb9SyJ1h68WjgeFuiOzI4Rqw5+aY= +github.com/graph-gophers/graphql-go v1.9.0 h1:yu0ucKHLc5qGpRwLYKIWtr9bOoxovkWasuBrPQwlHls= +github.com/graph-gophers/graphql-go v1.9.0/go.mod h1:23olKZ7duEvHlF/2ELEoSZaY1aNPfShjP782SOoNTyM= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.7 h1:X+2YciYSxvMQK0UZ7sg45ZVabVZBeBuvMkmuI2V3Fak= @@ -504,8 +506,6 @@ github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiT github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stoewer/go-strcase v1.3.0 h1:g0eASXYtp+yvN9fK8sH94oCIk0fau9uV1/ZdJ0AVEzs= -github.com/stoewer/go-strcase v1.3.0/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= @@ -525,14 +525,14 @@ github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= -github.com/xanzy/go-gitlab v0.115.0 h1:6DmtItNcVe+At/liXSgfE/DZNZrGfalQmBRmOcJjOn8= -github.com/xanzy/go-gitlab v0.115.0/go.mod h1:5XCDtM7AM6WMKmfDdOiEpyRWUqui2iS9ILfvCZ2gJ5M= github.com/xlab/treeprint v1.2.0 h1:HzHnuAF1plUN2zGlAFHbSQP2qJ0ZAD3XF5XD7OesXRQ= github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +gitlab.com/gitlab-org/api/client-go/v2 v2.25.0 h1:ATTBB0Iiup5SRox2IPNSkkrGy/Any7FWBL1BOpZrpCU= +gitlab.com/gitlab-org/api/client-go/v2 v2.25.0/go.mod h1:OSJITkIrT0UuA3JCucEK9UEGcC1PWBkQg5WW6W4nWuo= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=