Skip to content

Commit 92f3a1d

Browse files
authored
Merge pull request #15 from bigcommerce/remove-paging-go123
Go 1.23, increase default page size to 500
2 parents 2cd27b7 + 139924f commit 92f3a1d

6 files changed

Lines changed: 54 additions & 33 deletions

File tree

.circleci/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ orbs:
1313
executors:
1414
go:
1515
docker:
16-
- image: cimg/go:1.17
16+
- image: cimg/go:1.23
1717
environment:
1818
DOCKER_API_VERSION: 1.39
1919

Makefile

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
GOBIN := ${GOPATH}/bin
2+
GOCMD := go
3+
GOBUILD := CGO_ENABLED=0 $(GOCMD) build
4+
GOCLEAN := $(GOCMD) clean
25
PATH := ${GOBIN}:${PATH}
36

47
export PATH
@@ -7,20 +10,28 @@ OBJECT=bonvoy
710
default: deps build
811

912
clean:
10-
@rm ${OBJECT}
13+
$(GOCLEAN)
14+
rm -f $(OBJECT)
1115

1216
build:
13-
@go build -v -o ${OBJECT}
17+
$(GOBUILD) -v -o ${OBJECT}
1418

1519
deps:
16-
@go mod tidy
17-
@go get -u github.com/rakyll/gotest
20+
$(GOCMD) mod tidy
21+
$(GOCMD) install go.uber.org/mock/mockgen@latest
22+
$(GOCMD) install github.com/mfridman/tparse@latest
23+
24+
generate: deps
25+
$(GOCMD) generate -v ./...
26+
27+
lint:
28+
$(GOLANGCI_LINT) run
1829

1930
test:
20-
@gotest -v $$(go list ./... | grep -v vendor/) -tags=integration
31+
$(GOCMD) test -v -tags=integration $$(go list ./... | grep -v vendor/)
2132

2233
test-unit:
23-
@gotest -v -coverprofile=c.out $$(go list ./... | grep -v vendor/)
34+
$(GOCMD) test -v -coverprofile=c.out $$(go list ./... | grep -v vendor/)
2435

2536
build-linux:
26-
@CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -v -o ${OBJECT}-linux-amd64
37+
GOOS=linux GOARCH=amd64 $(GOBUILD) -v -o ${OBJECT}-linux-amd64

bonvoy.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
package main
22

33
import (
4+
"os"
5+
46
"bonvoy/commands"
57
"bonvoy/config"
6-
"os"
78
)
89

910
func main() {
1011
_ = os.Setenv("DOCKER_API_VERSION", "1.39")
1112
config.Load()
1213
commands.NewRegistry().Init()
13-
}
14+
}

docker/client.go

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ package docker
33
import (
44
"context"
55
"fmt"
6+
"os"
7+
"strconv"
8+
69
"github.com/docker/docker/api/types"
710
"github.com/docker/docker/api/types/filters"
811
dockerClient "github.com/docker/docker/client"
@@ -25,17 +28,19 @@ func NewClient() Client {
2528

2629
func (c *Client) GetEnvoyPid(name string) (int, error) {
2730
container, err := c.GetSidecarContainer(name)
28-
if err != nil { return 0, err }
31+
if err != nil {
32+
return 0, err
33+
}
2934

3035
return container.State.Pid, nil
3136
}
3237

3338
func (c *Client) GetSidecarContainer(serviceName string) (types.ContainerJSON, error) {
3439
filter := filters.NewArgs()
35-
filter.Add("name", "connect-proxy-" + serviceName)
40+
filter.Add("name", "connect-proxy-"+serviceName)
3641

3742
containers, err := c.cli.ContainerList(context.Background(), types.ContainerListOptions{
38-
All: false,
43+
All: false,
3944
Filters: filter,
4045
})
4146
if err != nil {
@@ -73,14 +78,21 @@ func (c *Client) GetSidecarContainer(serviceName string) (types.ContainerJSON, e
7378
return container, nil
7479
}
7580

81+
var defaultContainerPageSize = 500
82+
7683
func (c *Client) SelectDesiredContainer(names []string) (string, error) {
84+
size, err := strconv.Atoi(os.Getenv("BONVOY_MAX_CONTAINER_PAGE_SIZE"))
85+
if err != nil {
86+
size = defaultContainerPageSize
87+
}
7788
prompt := promptui.Select{
7889
Label: "Please Select Sidecar Container",
7990
Items: names,
91+
Size: size,
8092
}
8193
_, desiredName, err := prompt.Run()
8294
if err != nil {
8395
return "", err
8496
}
8597
return desiredName, nil
86-
}
98+
}

go.mod

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
module bonvoy
22

3-
go 1.17
3+
go 1.23
44

55
require (
66
github.com/Devatoria/go-nsenter v0.0.0-20170612091819-0aa1e5f7748c
77
github.com/containerd/containerd v1.5.9 // indirect
88
github.com/docker/docker v20.10.7+incompatible
99
github.com/docker/go-connections v0.4.0 // indirect
10-
github.com/fatih/color v1.13.0
10+
github.com/fatih/color v1.18.0
1111
github.com/gorilla/mux v1.8.0 // indirect
1212
github.com/manifoldco/promptui v0.8.0
13-
github.com/mattn/go-colorable v0.1.12 // indirect
13+
github.com/mattn/go-colorable v0.1.13 // indirect
1414
github.com/moby/term v0.0.0-20201216013528-df9cb8a40635 // indirect
1515
github.com/morikuni/aec v1.0.0 // indirect
1616
github.com/olekukonko/tablewriter v0.0.5
@@ -19,7 +19,7 @@ require (
1919
github.com/spf13/viper v1.7.1
2020
github.com/stretchr/testify v1.6.1
2121
golang.org/x/net v0.0.0-20210614182718-04defd469f4e // indirect
22-
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 // indirect
22+
golang.org/x/sys v0.26.0 // indirect
2323
golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba // indirect
2424
google.golang.org/grpc v1.38.0 // indirect
2525
gopkg.in/h2non/gentleman-mock.v2 v2.0.0
@@ -42,7 +42,7 @@ require (
4242
github.com/juju/ansiterm v0.0.0-20180109212912-720a0952cc2a // indirect
4343
github.com/lunixbochs/vtclean v0.0.0-20180621232353-2d01aacdc34a // indirect
4444
github.com/magiconair/properties v1.8.1 // indirect
45-
github.com/mattn/go-isatty v0.0.14 // indirect
45+
github.com/mattn/go-isatty v0.0.20 // indirect
4646
github.com/mattn/go-runewidth v0.0.9 // indirect
4747
github.com/mitchellh/mapstructure v1.1.2 // indirect
4848
github.com/opencontainers/go-digest v1.0.0 // indirect

go.sum

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -258,8 +258,8 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.m
258258
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
259259
github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
260260
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
261-
github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w=
262-
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
261+
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
262+
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
263263
github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k=
264264
github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k=
265265
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
@@ -449,14 +449,13 @@ github.com/manifoldco/promptui v0.8.0 h1:R95mMF+McvXZQ7j1g8ucVZE1gLP3Sv6j9vlF9ky
449449
github.com/manifoldco/promptui v0.8.0/go.mod h1:n4zTdgP0vr0S3w7/O/g98U+e0gwLScEXGwov2nIKuGQ=
450450
github.com/marstr/guid v1.1.0/go.mod h1:74gB1z2wpxxInTG6yaqA7KrtM0NZ+RbrcqDvYHefzho=
451451
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
452-
github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
453-
github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40=
454-
github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
452+
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
453+
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
455454
github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
456455
github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
457-
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
458-
github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y=
459-
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
456+
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
457+
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
458+
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
460459
github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
461460
github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0=
462461
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
@@ -820,7 +819,6 @@ golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7w
820819
golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
821820
golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
822821
golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
823-
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
824822
golang.org/x/sys v0.0.0-20200120151820-655fe14d7479/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
825823
golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
826824
golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -846,12 +844,11 @@ golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7w
846844
golang.org/x/sys v0.0.0-20201202213521-69691e467435/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
847845
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
848846
golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
849-
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
850847
golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
851-
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
852-
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
853-
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 h1:XfKQ4OlFl8okEOr5UvAqFRVj8pY/4yfcXrddB8qAbU0=
854-
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
848+
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
849+
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
850+
golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo=
851+
golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
855852
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
856853
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
857854
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=

0 commit comments

Comments
 (0)