Skip to content

Commit d4bb591

Browse files
author
Vasilii Iakliushin
committed
Add Topology Service Go client dependency
Contributes to https://gitlab.com/gitlab-org/gitlab-shell/-/issues/763 **Problem** GitLab Shell needs to communicate with the Topology Service for SSH routing in a Cells architecture. The proto client package must be added as a dependency before implementing the gRPC client. **Solution** Add `gitlab.com/gitlab-org/cells/topology-service` as a direct dependency and create a minimal `internal/topology/client.go` file that imports the proto package and exports `ClassifyType` constants. This also upgrades `labkit` to v1.37.1 (required by topology-service) and its transitive dependencies. Changelog: added
1 parent 0b64e2e commit d4bb591

3 files changed

Lines changed: 29 additions & 14 deletions

File tree

go.mod

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
module gitlab.com/gitlab-org/gitlab-shell/v14
22

3-
go 1.24.0
4-
5-
toolchain go1.24.5
3+
go 1.24.5
64

75
require (
86
github.com/charmbracelet/git-lfs-transfer v0.1.1-0.20250505094602-0d51139d5979
@@ -18,8 +16,9 @@ require (
1816
github.com/prometheus/client_golang v1.23.2
1917
github.com/sirupsen/logrus v1.9.4
2018
github.com/stretchr/testify v1.11.1
19+
gitlab.com/gitlab-org/cells/topology-service v0.0.0-20260210121456-5d698110f3e7
2120
gitlab.com/gitlab-org/gitaly/v18 v18.9.0-rc4
22-
gitlab.com/gitlab-org/labkit v1.37.0
21+
gitlab.com/gitlab-org/labkit v1.37.1
2322
golang.org/x/crypto v0.47.0
2423
golang.org/x/sync v0.19.0
2524
google.golang.org/grpc v1.77.0
@@ -69,7 +68,7 @@ require (
6968
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
7069
github.com/hashicorp/yamux v0.1.2-0.20220728231024-8f49b6f63f18 // indirect
7170
github.com/jmespath/go-jmespath v0.4.0 // indirect
72-
github.com/klauspost/compress v1.18.0 // indirect
71+
github.com/klauspost/compress v1.18.1 // indirect
7372
github.com/kylelemons/godebug v1.1.0 // indirect
7473
github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20210210170715-a8dfcb80d3a7 // indirect
7574
github.com/lightstep/lightstep-tracer-go v0.25.0 // indirect
@@ -85,7 +84,7 @@ require (
8584
github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect
8685
github.com/prometheus/client_model v0.6.2 // indirect
8786
github.com/prometheus/common v0.67.5 // indirect
88-
github.com/prometheus/procfs v0.16.1 // indirect
87+
github.com/prometheus/procfs v0.19.2 // indirect
8988
github.com/prometheus/prometheus v0.54.0 // indirect
9089
github.com/sebest/xff v0.0.0-20210106013422-671bd2870b3a // indirect
9190
github.com/shirou/gopsutil/v3 v3.24.5 // indirect

go.sum

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -407,8 +407,8 @@ github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4
407407
github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
408408
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
409409
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
410-
github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo=
411-
github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ=
410+
github.com/klauspost/compress v1.18.1 h1:bcSGx7UbpBqMChDtsF28Lw6v/G94LPrrbMbdC3JH2co=
411+
github.com/klauspost/compress v1.18.1/go.mod h1:ZQFFVG+MdnR0P+l6wpXgIL4NTtwiKIdBnrBd8Nrxr+0=
412412
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
413413
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
414414
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
@@ -496,8 +496,8 @@ github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNw
496496
github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE=
497497
github.com/prometheus/common v0.67.5 h1:pIgK94WWlQt1WLwAC5j2ynLaBRDiinoAb86HZHTUGI4=
498498
github.com/prometheus/common v0.67.5/go.mod h1:SjE/0MzDEEAyrdr5Gqc6G+sXI67maCxzaT3A2+HqjUw=
499-
github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg=
500-
github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is=
499+
github.com/prometheus/procfs v0.19.2 h1:zUMhqEW66Ex7OXIiDkll3tl9a1ZdilUOd/F6ZXw4Vws=
500+
github.com/prometheus/procfs v0.19.2/go.mod h1:M0aotyiemPhBCM0z5w87kL22CxfcH05ZpYlu+b4J7mw=
501501
github.com/prometheus/prometheus v0.54.0 h1:6+VmEkohHcofl3W5LyRlhw1Lfm575w/aX6ZFyVAmzM0=
502502
github.com/prometheus/prometheus v0.54.0/go.mod h1:xlLByHhk2g3ycakQGrMaU8K7OySZx98BzeCR99991NY=
503503
github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
@@ -567,12 +567,14 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec
567567
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
568568
github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0=
569569
github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
570+
gitlab.com/gitlab-org/cells/topology-service v0.0.0-20260210121456-5d698110f3e7 h1:TpPpml61XR1LQ4Nm4dCx9/tvbLH0H2ymQZM2zpEyhdg=
571+
gitlab.com/gitlab-org/cells/topology-service v0.0.0-20260210121456-5d698110f3e7/go.mod h1:Nf3oEv3f8s1SJaEcoA9wMVYXKXKdKohT2Bt2HLaFlks=
570572
gitlab.com/gitlab-org/gitaly/v18 v18.9.0-rc4 h1:2PQlCQF5ioVdmcjY6Ut8zxwFY2TIgHWnl5ekT4IJEKQ=
571573
gitlab.com/gitlab-org/gitaly/v18 v18.9.0-rc4/go.mod h1:ijDPC9GyV3UdmrZG4LiBQJyMjOuzLcbH5AuQ8GpSSIk=
572574
gitlab.com/gitlab-org/go/reopen v1.0.0 h1:6BujZ0lkkjGIejTUJdNO1w56mN1SI10qcVQyQlOPM+8=
573575
gitlab.com/gitlab-org/go/reopen v1.0.0/go.mod h1:D6OID8YJDzEVZNYW02R/Pkj0v8gYFSIhXFTArAsBQw8=
574-
gitlab.com/gitlab-org/labkit v1.37.0 h1:Nk7DIc5QB8QNQgrNhymDACMMSIwjjaHXL4CVSHmXvac=
575-
gitlab.com/gitlab-org/labkit v1.37.0/go.mod h1:JqQLdgjV/KKAZJ6gvNodaLStmWeTT9mxgJPIEi66VHI=
576+
gitlab.com/gitlab-org/labkit v1.37.1 h1:eVa2A0wuIbttOXWplC4GV9GMNrbZ+ZNAPAKxImr3G9s=
577+
gitlab.com/gitlab-org/labkit v1.37.1/go.mod h1:JqQLdgjV/KKAZJ6gvNodaLStmWeTT9mxgJPIEi66VHI=
576578
go.etcd.io/raft/v3 v3.6.0 h1:5NtvbDVYpnfZWcIHgGRk9DyzkBIXOi8j+DDp1IcnUWQ=
577579
go.etcd.io/raft/v3 v3.6.0/go.mod h1:nLvLevg6+xrVtHUmVaTcTz603gQPHfh7kUAwV6YpfGo=
578580
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
@@ -646,8 +648,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0
646648
golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
647649
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
648650
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
649-
golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA=
650-
golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU=
651+
golang.org/x/exp v0.0.0-20251113190631-e25ba8c21ef6 h1:zfMcR1Cs4KNuomFFgGefv5N0czO2XZpUbxGUy8i8ug0=
652+
golang.org/x/exp v0.0.0-20251113190631-e25ba8c21ef6/go.mod h1:46edojNIoXTNOhySWIWdix628clX9ODXwPsQuG6hsK0=
651653
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
652654
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
653655
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=

internal/topology/client.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package topology
2+
3+
import (
4+
// Import the Topology Service proto package to ensure the dependency is retained.
5+
// The client implementation will be added in a subsequent MR.
6+
pb "gitlab.com/gitlab-org/cells/topology-service/clients/go/proto"
7+
)
8+
9+
// ClassifyType constants mirror the proto enum values for convenience.
10+
const (
11+
ClassifyTypeFirstCell = pb.ClassifyType_FIRST_CELL
12+
ClassifyTypeSessionPrefix = pb.ClassifyType_SESSION_PREFIX
13+
ClassifyTypeCellID = pb.ClassifyType_CELL_ID
14+
)

0 commit comments

Comments
 (0)