Skip to content

Commit ca1223f

Browse files
committed
AWS Go v2 refactor
1 parent 000e69e commit ca1223f

File tree

13 files changed

+175
-148
lines changed

13 files changed

+175
-148
lines changed

.github/workflows/ci.yml

Lines changed: 39 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,26 @@ name: Go
33
on:
44
push:
55
branches:
6-
- master
7-
- 'feature/**'
8-
tags:
96
- '*'
107

118
jobs:
129
test:
1310
name: Lint
1411
runs-on: ubuntu-latest
1512
steps:
16-
- uses: actions/checkout@v2
13+
- uses: actions/checkout@v5
14+
- uses: actions/setup-go@v5
15+
with:
16+
go-version: '1.24'
1717
- name: golangci-lint
18-
uses: golangci/golangci-lint-action@v1
18+
uses: golangci/golangci-lint-action@v8
1919
with:
2020
# Required: the version of golangci-lint is required and must be specified without patch version: we always use the latest patch version.
21-
version: v1.26
21+
version: v2.1
22+
args: --timeout=10m
2223

2324
- name: Setup gotestsum
24-
uses: autero1/action-gotestsum@v0.1.0
25+
uses: autero1/action-gotestsum@v2.0.0
2526
with:
2627
gotestsum_version: 0.4.1
2728
- name: Interact with gotestsum
@@ -32,70 +33,41 @@ jobs:
3233
needs: test
3334
runs-on: ubuntu-latest
3435
steps:
35-
- name: Set up Go 1.x
36-
uses: actions/setup-go@v2
37-
with:
38-
go-version: ^1.14
36+
- uses: actions/checkout@v5
3937

40-
- name: Check out code into the Go module directory
41-
uses: actions/checkout@v2
38+
- name: Set up QEMU
39+
uses: docker/setup-qemu-action@v3
4240

43-
- name: Build
44-
run: make build
41+
- name: Set up Docker Buildx
42+
id: buildx
43+
uses: docker/setup-buildx-action@v3
4544

46-
- name: Upload terrafmt for docker build
47-
uses: actions/upload-artifact@v1
45+
- name: Login to the Container registry
46+
uses: docker/login-action@v3
4847
with:
49-
name: docker-binary
50-
path: aws_ecr_proxy
51-
52-
53-
publish:
54-
name: Publish
55-
runs-on: ubuntu-latest
56-
needs: build
57-
if: startsWith(github.ref, 'refs/tags/')
58-
steps:
59-
- name: Check out code into the Go module directory
60-
uses: actions/checkout@v2
61-
62-
- name: Get the version
63-
id: get_version
64-
run: echo ::set-output name=version::${GITHUB_REF/refs\/tags\//}
48+
registry: ghcr.io
49+
username: ${{ github.actor }}
50+
password: ${{ secrets.GITHUB_TOKEN }}
6551

66-
- name: Download build artifact
67-
uses: actions/download-artifact@v1
52+
- name: Docker meta
53+
id: meta
54+
uses: docker/metadata-action@v5
6855
with:
69-
name: docker-binary
70-
71-
- name: Move binary
72-
run: |
73-
mv docker-binary/aws_ecr_proxy aws_ecr_proxy
74-
chmod 755 aws_ecr_proxy
75-
76-
- name: Login to docker hub
77-
uses: actions-hub/docker/login@master
78-
env:
79-
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
80-
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
81-
82-
- name: Build :latest
83-
run: |
84-
docker build -t terrycain/aws_ecr_proxy:latest .
85-
docker tag terrycain/aws_ecr_proxy:latest terrycain/aws_ecr_proxy:${{ steps.get_version.outputs.version }}
86-
- name: Push to docker hub :latest
87-
uses: actions-hub/docker@master
56+
images: ghcr.io/${{ github.repository_owner }}/aws_ecr_proxy
57+
labels: |
58+
org.opencontainers.image.authors=Terri Cain
59+
org.opencontainers.image.title=ECR Proxy
60+
org.opencontainers.image.description=Proxies requests to AWS ECR with credentials and fixes Link headers
61+
tags: |
62+
type=raw,value=test
63+
64+
- name: Build and push
65+
uses: docker/build-push-action@v6
8866
with:
89-
args: push terrycain/aws_ecr_proxy:latest
90-
91-
- name: Push to docker hub :${{ steps.get_version.outputs.version }}
92-
uses: actions-hub/docker@master
93-
with:
94-
args: push terrycain/aws_ecr_proxy:${{ steps.get_version.outputs.version }}
95-
96-
- name: Push DockerHub description
97-
uses: peter-evans/dockerhub-description@v2
98-
env:
99-
DOCKERHUB_USERNAME: ${{ secrets.DOCKER_USERNAME }}
100-
DOCKERHUB_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
101-
DOCKERHUB_REPOSITORY: terrycain/aws_ecr_proxy
67+
context: .
68+
platforms: linux/amd64,linux/arm64
69+
push: true
70+
tags: ${{ steps.meta.outputs.tags }}
71+
labels: ${{ steps.meta.outputs.labels }}
72+
build-args: |
73+
DOCKER_METADATA_OUTPUT_JSON

Dockerfile

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,31 @@
1-
FROM alpine:latest as certs
2-
RUN apk --update add ca-certificates
1+
FROM --platform=$BUILDPLATFORM golang:1.22.4-alpine3.20 AS build
32

4-
FROM scratch
5-
COPY --from=certs /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
6-
COPY aws_ecr_proxy /aws_ecr_proxy
3+
WORKDIR /usr/local/go/src/aws_ecr_proxy
4+
5+
COPY go.mod go.sum /usr/local/go/src/aws_ecr_proxy/
6+
7+
RUN go mod download
8+
9+
COPY cmd/ /usr/local/go/src/aws_ecr_proxy/cmd/
10+
COPY pkg/ /usr/local/go/src/aws_ecr_proxy/internal/
11+
12+
ENV PKG=github.com/terricain/aws_ecr_proxy
13+
ARG DOCKER_METADATA_OUTPUT_JSON
14+
ARG TARGETOS
15+
ARG TARGETARCH
16+
17+
# hadolint ignore=DL3018,SC2086,DL4006,SC2155
18+
RUN apk add --no-cache jq && \
19+
export VERSION="$(echo "${DOCKER_METADATA_OUTPUT_JSON}" | jq -r '.labels["org.opencontainers.image.version"]')" && \
20+
export GIT_COMMIT="$(echo "${DOCKER_METADATA_OUTPUT_JSON}" | jq -r '.labels["org.opencontainers.image.revision"]')" && \
21+
export BUILD_DATE="$(echo "${DOCKER_METADATA_OUTPUT_JSON}" | jq -r '.labels["org.opencontainers.image.created"]')" && \
22+
CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH go build \
23+
-o /server \
24+
-ldflags "-X ${PKG}/internal/version.VERSION=${VERSION} -X ${PKG}/internal/version.SHA=${GIT_COMMIT} -X ${PKG}/internal/version.BUILDDATE=${BUILD_DATE} -s -w" \
25+
cmd/aws_ecr_proxy/main.go
26+
27+
FROM gcr.io/distroless/static-debian12:nonroot AS release
28+
COPY --from=build /server /aws_ecr_proxy
729

830
ENV LISTEN_PORT=8080
931
ENV LISTEN_HOST=0.0.0.0

Makefile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@ now = $(shell date +'%Y-%m-%dT%T')
22
version = $(word 3, $(subst /, ,${GITHUB_REF}))
33

44
build:
5-
CGO_ENABLED=0 go build -o aws_ecr_proxy -ldflags="-s -w -X github.com/terrycain/aws_ecr_proxy/internal/version.SHA=${GITHUB_SHA} -X github.com/terrycain/aws_ecr_proxy/internal/version.BUILDDATE=${now} -X github.com/terrycain/aws_ecr_proxy/internal/version.VERSION=${version}" cmd/aws_ecr_proxy/main.go
5+
CGO_ENABLED=0 go build -o aws_ecr_proxy
6+
-ldflags="-s -w -X github.com/terrycain/aws_ecr_proxy/internal/version.SHA=${GITHUB_SHA}
7+
-X github.com/terrycain/aws_ecr_proxy/internal/version.BUILDDATE=${now} -
8+
X github.com/terrycain/aws_ecr_proxy/internal/version.VERSION=${version}" cmd/aws_ecr_proxy/main.go
69

710
lint:
811
go fmt ./...

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ docker run -e AWS_REGION=eu-west-1 \
1313
-e AWS_SECRET_ACCESS_KEY=blah \
1414
-e AWS_ACCESS_KEY_ID=blah \
1515
--name registry --rm -i \
16-
-p 8080:8080 terrycain/aws_ecr_proxy:latest
16+
-p 8080:8080 terricain/aws_ecr_proxy:latest
1717
```
1818

1919
#### Environment Variables
2020

21-
* `AWS_REGION` - Confiures the AWS SDK's region. This will determine which regions ECR images are available
21+
* `AWS_REGION` - Configures the AWS SDK's region. This will determine which regions ECR images are available
2222
* `AWS_ACCESS_KEY_ID` - AWS Access Key
2323
* `AWS_SECRET_ACCESS_KEY` - AWS Secret Key
2424
* `LOG_LEVEL` - Default `INFO` - Sets the logging level, one of: `DEBUG`, `INFO`, `WARN`, `ERROR`

cmd/aws_ecr_proxy/main.go

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
package main
22

33
import (
4-
"github.com/aws/aws-sdk-go/aws/session"
5-
"github.com/aws/aws-sdk-go/service/ecr"
4+
"context"
5+
"time"
6+
7+
"github.com/aws/aws-sdk-go-v2/config"
8+
"github.com/aws/aws-sdk-go-v2/service/ecr"
69
"github.com/rs/zerolog"
710
"github.com/rs/zerolog/log"
8-
"github.com/terrycain/aws_ecr_proxy/internal/ecr_token"
9-
"github.com/terrycain/aws_ecr_proxy/internal/proxy_server"
10-
"github.com/terrycain/aws_ecr_proxy/internal/utils"
11-
"github.com/terrycain/aws_ecr_proxy/internal/version"
11+
"github.com/terricain/aws_ecr_proxy/internal/ecr_token"
12+
"github.com/terricain/aws_ecr_proxy/internal/proxy_server"
13+
"github.com/terricain/aws_ecr_proxy/internal/utils"
14+
"github.com/terricain/aws_ecr_proxy/internal/version"
1215
)
1316

1417
func main() {
@@ -21,14 +24,17 @@ func main() {
2124
addr := host + ":" + port
2225

2326
log.Info().Str("version", version.VERSION).Str("build_date", version.BUILDDATE).Str("sha", version.SHA).Msg("Starting ECR Proxy")
24-
awsSession, err := session.NewSession()
27+
28+
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
29+
defer cancel()
30+
31+
cfg, err := config.LoadDefaultConfig(ctx)
2532
if err != nil {
2633
log.Fatal().Err(err).Msg("Failed to create an AWS session, check credentials")
2734
panic(err)
2835
}
2936

30-
// Create an ECR client
31-
svc := ecr.New(awsSession)
37+
svc := ecr.NewFromConfig(cfg)
3238

3339
// Instantiate our ecs token getter
3440
tokenFetcher := ecr_token.New(svc)

go.mod

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,33 @@
1-
module github.com/terrycain/aws_ecr_proxy
1+
module github.com/terricain/aws_ecr_proxy
22

3-
go 1.14
3+
go 1.24
4+
5+
toolchain go1.24.5
46

57
require (
68
github.com/aws/aws-sdk-go v1.33.0
7-
github.com/davecgh/go-spew v1.1.1 // indirect
9+
github.com/aws/aws-sdk-go-v2/config v1.31.6
10+
github.com/aws/aws-sdk-go-v2/service/ecr v1.50.1
811
github.com/gorilla/handlers v1.4.2
912
github.com/gorilla/mux v1.7.4
10-
github.com/kr/text v0.2.0 // indirect
11-
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect
1213
github.com/peterhellberg/link v1.1.0
1314
github.com/rs/zerolog v1.19.0
14-
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b // indirect
15-
golang.org/x/text v0.3.2 // indirect
16-
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f // indirect
15+
)
16+
17+
require (
18+
github.com/aws/aws-sdk-go-v2 v1.38.3 // indirect
19+
github.com/aws/aws-sdk-go-v2/credentials v1.18.10 // indirect
20+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.6 // indirect
21+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.6 // indirect
22+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.6 // indirect
23+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 // indirect
24+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.1 // indirect
25+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.6 // indirect
26+
github.com/aws/aws-sdk-go-v2/service/sso v1.29.1 // indirect
27+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.34.2 // indirect
28+
github.com/aws/aws-sdk-go-v2/service/sts v1.38.2 // indirect
29+
github.com/aws/smithy-go v1.23.0 // indirect
30+
github.com/davecgh/go-spew v1.1.1 // indirect
31+
github.com/jmespath/go-jmespath v0.3.0 // indirect
1732
gopkg.in/yaml.v2 v2.2.8 // indirect
1833
)

go.sum

Lines changed: 28 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,34 @@
11
github.com/aws/aws-sdk-go v1.33.0 h1:Bq5Y6VTLbfnJp1IV8EL/qUU5qO1DYHda/zis/sqevkY=
22
github.com/aws/aws-sdk-go v1.33.0/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
3+
github.com/aws/aws-sdk-go-v2 v1.38.3 h1:B6cV4oxnMs45fql4yRH+/Po/YU+597zgWqvDpYMturk=
4+
github.com/aws/aws-sdk-go-v2 v1.38.3/go.mod h1:sDioUELIUO9Znk23YVmIk86/9DOpkbyyVb1i/gUNFXY=
5+
github.com/aws/aws-sdk-go-v2/config v1.31.6 h1:a1t8fXY4GT4xjyJExz4knbuoxSCacB5hT/WgtfPyLjo=
6+
github.com/aws/aws-sdk-go-v2/config v1.31.6/go.mod h1:5ByscNi7R+ztvOGzeUaIu49vkMk2soq5NaH5PYe33MQ=
7+
github.com/aws/aws-sdk-go-v2/credentials v1.18.10 h1:xdJnXCouCx8Y0NncgoptztUocIYLKeQxrCgN6x9sdhg=
8+
github.com/aws/aws-sdk-go-v2/credentials v1.18.10/go.mod h1:7tQk08ntj914F/5i9jC4+2HQTAuJirq7m1vZVIhEkWs=
9+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.6 h1:wbjnrrMnKew78/juW7I2BtKQwa1qlf6EjQgS69uYY14=
10+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.6/go.mod h1:AtiqqNrDioJXuUgz3+3T0mBWN7Hro2n9wll2zRUc0ww=
11+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.6 h1:uF68eJA6+S9iVr9WgX1NaRGyQ/6MdIyc4JNUo6TN1FA=
12+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.6/go.mod h1:qlPeVZCGPiobx8wb1ft0GHT5l+dc6ldnwInDFaMvC7Y=
13+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.6 h1:pa1DEC6JoI0zduhZePp3zmhWvk/xxm4NB8Hy/Tlsgos=
14+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.6/go.mod h1:gxEjPebnhWGJoaDdtDkA0JX46VRg1wcTHYe63OfX5pE=
15+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 h1:bIqFDwgGXXN1Kpp99pDOdKMTTb5d2KyU5X/BZxjOkRo=
16+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3/go.mod h1:H5O/EsxDWyU+LP/V8i5sm8cxoZgc2fdNR9bxlOFrQTo=
17+
github.com/aws/aws-sdk-go-v2/service/ecr v1.50.1 h1:lcwFjRx3C/hBxJzoWkD6DIG2jeB+mzLmFVBFVOadxxE=
18+
github.com/aws/aws-sdk-go-v2/service/ecr v1.50.1/go.mod h1:qt9OL5kXqWoSub4QAkOF74mS3M2zOTNxMODqgwEUjt8=
19+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.1 h1:oegbebPEMA/1Jny7kvwejowCaHz1FWZAQ94WXFNCyTM=
20+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.1/go.mod h1:kemo5Myr9ac0U9JfSjMo9yHLtw+pECEHsFtJ9tqCEI8=
21+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.6 h1:LHS1YAIJXJ4K9zS+1d/xa9JAA9sL2QyXIQCQFQW/X08=
22+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.6/go.mod h1:c9PCiTEuh0wQID5/KqA32J+HAgZxN9tOGXKCiYJjTZI=
23+
github.com/aws/aws-sdk-go-v2/service/sso v1.29.1 h1:8OLZnVJPvjnrxEwHFg9hVUof/P4sibH+Ea4KKuqAGSg=
24+
github.com/aws/aws-sdk-go-v2/service/sso v1.29.1/go.mod h1:27M3BpVi0C02UiQh1w9nsBEit6pLhlaH3NHna6WUbDE=
25+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.34.2 h1:gKWSTnqudpo8dAxqBqZnDoDWCiEh/40FziUjr/mo6uA=
26+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.34.2/go.mod h1:x7+rkNmRoEN1U13A6JE2fXne9EWyJy54o3n6d4mGaXQ=
27+
github.com/aws/aws-sdk-go-v2/service/sts v1.38.2 h1:YZPjhyaGzhDQEvsffDEcpycq49nl7fiGcfJTIo8BszI=
28+
github.com/aws/aws-sdk-go-v2/service/sts v1.38.2/go.mod h1:2dIN8qhQfv37BdUYGgEC8Q3tteM3zFxTI1MLO2O3J3c=
29+
github.com/aws/smithy-go v1.23.0 h1:8n6I3gXzWJB2DxBDnfxgBaSX6oe0d/t10qGz7OKqMCE=
30+
github.com/aws/smithy-go v1.23.0/go.mod h1:t1ufH5HMublsJYulve2RKmHDC15xu1f26kHCp/HgceI=
331
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
4-
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
5-
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
632
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
733
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
834
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -13,16 +39,9 @@ github.com/gorilla/mux v1.7.4 h1:VuZ8uybHlWmqV03+zRzdwKL4tUnIp1MAQtp1mIFE1bc=
1339
github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
1440
github.com/jmespath/go-jmespath v0.3.0 h1:OS12ieG61fsCg5+qLJ+SsW9NicxNkg3b25OyT2yCeUc=
1541
github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik=
16-
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
17-
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
18-
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
19-
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
20-
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
21-
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
2242
github.com/peterhellberg/link v1.1.0 h1:s2+RH8EGuI/mI4QwrWGSYQCRz7uNgip9BaM04HKu5kc=
2343
github.com/peterhellberg/link v1.1.0/go.mod h1:gtSlOT4jmkY8P47hbTc8PTgiDDWpdPbFYl75keYyBB8=
2444
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
25-
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
2645
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
2746
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
2847
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
@@ -32,29 +51,15 @@ github.com/rs/zerolog v1.19.0/go.mod h1:IzD0RJ65iWH0w97OQQebJEvTZYvsCUm9WVLWBQrJ
3251
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
3352
github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4=
3453
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
35-
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 h1:VklqNMn3ovrHsnt90PveolxSbWFaJdECFbxSq0Mqo2M=
3654
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
3755
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
38-
golang.org/x/net v0.0.0-20200202094626-16171245cfb2 h1:CCH4IOTTfewWjGOlSp+zGcjutRKlBEZQ6wTn8ozI/nI=
3956
golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
40-
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b h1:0mm1VjtFUOIlE1SbDlwjYaDxZVDP2S5ou6y0gSgXHu8=
41-
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
42-
golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU=
4357
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
4458
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
45-
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
4659
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
47-
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
48-
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
49-
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
50-
golang.org/x/tools v0.0.0-20190828213141-aed303cbaa74 h1:4cFkmztxtMslUX2SctSl+blCyXfpzhGOy9LhKAqSMA4=
5160
golang.org/x/tools v0.0.0-20190828213141-aed303cbaa74/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
5261
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
53-
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
5462
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
55-
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU=
56-
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
57-
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
5863
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
5964
gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
6065
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=

0 commit comments

Comments
 (0)