From 8dd6c9a95f6d4a8f4ede9ec2cdeef1f29ed4932a Mon Sep 17 00:00:00 2001 From: zhelezovartem Date: Wed, 19 Mar 2025 14:22:46 +0300 Subject: [PATCH 01/11] update dependencies; add release pipeline --- .github/workflows/go.yml | 12 +++---- .github/workflows/release.yml | 37 +++++++++++++++++++++ .github/workflows/stale.yml | 2 +- go.mod | 29 ++++++++-------- go.sum | 62 ++++++++++++++++++----------------- 5 files changed, 91 insertions(+), 51 deletions(-) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 6018f7c35..2cdaed060 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -15,10 +15,10 @@ jobs: os: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - - uses: actions/setup-go@v3 + - uses: actions/setup-go@v5 with: - go-version: '1.20' - - uses: actions/checkout@v3 + go-version-file: 'go.mod' + - uses: actions/checkout@v4 - name: Run tests run: go test -race ./... lint: @@ -31,11 +31,11 @@ jobs: os: [macos-latest, ubuntu-latest] runs-on: ${{ matrix.os }} steps: - - uses: actions/setup-go@v3 + - uses: actions/setup-go@v5 with: - go-version: '1.20' + go-version-file: 'go.mod' - uses: actions/checkout@v3 - name: golangci-lint - uses: golangci/golangci-lint-action@v3.4.0 + uses: golangci/golangci-lint-action@v6.3.2 with: version: v1.52.0 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 000000000..4daf00105 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,37 @@ +name: Build and Release + +on: + push: + tags: + - "v*.*.*" + +jobs: + release: + name: Build and Release Binary + runs-on: ubuntu-latest + + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Set Up Go + uses: actions/setup-go@v5 + with: + go-version: "1.24" + + - name: Extract Version from Tag + run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV + + - name: Build Binary + run: | + go build -ldflags "-X main.Version=kosli-dev-${VERSION}" -o aws-vault . + + - name: Create GitHub Release + uses: softprops/action-gh-release@v2 + with: + files: aws-vault + tag_name: ${{ github.ref_name }} + name: Release ${{ github.ref_name }} + body: "Automated release of version ${{ github.ref_name }}" + draft: false + prerelease: false \ No newline at end of file diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index f1c293299..3e2ae22c7 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -9,7 +9,7 @@ jobs: permissions: issues: write steps: - - uses: actions/stale@v7 + - uses: actions/stale@v9 with: days-before-stale: 180 days-before-close: 7 diff --git a/go.mod b/go.mod index 70522e8f0..3efb7ffdf 100644 --- a/go.mod +++ b/go.mod @@ -1,17 +1,17 @@ module github.com/99designs/aws-vault/v7 -go 1.20 +go 1.23 require ( github.com/99designs/keyring v1.2.2 github.com/alecthomas/kingpin/v2 v2.3.2 - github.com/aws/aws-sdk-go-v2 v1.17.7 - github.com/aws/aws-sdk-go-v2/config v1.18.19 - github.com/aws/aws-sdk-go-v2/credentials v1.13.18 - github.com/aws/aws-sdk-go-v2/service/iam v1.19.8 - github.com/aws/aws-sdk-go-v2/service/sso v1.12.6 - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.6 - github.com/aws/aws-sdk-go-v2/service/sts v1.18.7 + github.com/aws/aws-sdk-go-v2 v1.36.0 + github.com/aws/aws-sdk-go-v2/config v1.27.9 + github.com/aws/aws-sdk-go-v2/credentials v1.17.9 + github.com/aws/aws-sdk-go-v2/service/iam v1.39.0 + github.com/aws/aws-sdk-go-v2/service/sso v1.20.3 + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.3 + github.com/aws/aws-sdk-go-v2/service/sts v1.28.5 github.com/google/go-cmp v0.5.9 github.com/mattn/go-isatty v0.0.18 github.com/mattn/go-tty v0.0.4 @@ -23,12 +23,13 @@ require ( require ( github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.1 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.31 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.25 // indirect - github.com/aws/aws-sdk-go-v2/internal/ini v1.3.32 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.25 // indirect - github.com/aws/smithy-go v1.13.5 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.0 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.31 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.31 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.6 // indirect + github.com/aws/smithy-go v1.22.2 // indirect github.com/danieljoos/wincred v1.1.2 // indirect github.com/dvsekhvalnov/jose2go v1.5.0 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect diff --git a/go.sum b/go.sum index 605baf9a8..7770572cf 100644 --- a/go.sum +++ b/go.sum @@ -6,47 +6,47 @@ github.com/alecthomas/kingpin/v2 v2.3.2 h1:H0aULhgmSzN8xQ3nX1uxtdlTHYoPLu5AhHxWr github.com/alecthomas/kingpin/v2 v2.3.2/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc= github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= -github.com/aws/aws-sdk-go-v2 v1.17.7 h1:CLSjnhJSTSogvqUGhIC6LqFKATMRexcxLZ0i/Nzk9Eg= -github.com/aws/aws-sdk-go-v2 v1.17.7/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= -github.com/aws/aws-sdk-go-v2/config v1.18.19 h1:AqFK6zFNtq4i1EYu+eC7lcKHYnZagMn6SW171la0bGw= -github.com/aws/aws-sdk-go-v2/config v1.18.19/go.mod h1:XvTmGMY8d52ougvakOv1RpiTLPz9dlG/OQHsKU/cMmY= -github.com/aws/aws-sdk-go-v2/credentials v1.13.18 h1:EQMdtHwz0ILTW1hoP+EwuWhwCG1hD6l3+RWFQABET4c= -github.com/aws/aws-sdk-go-v2/credentials v1.13.18/go.mod h1:vnwlwjIe+3XJPBYKu1et30ZPABG3VaXJYr8ryohpIyM= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.1 h1:gt57MN3liKiyGopcqgNzJb2+d9MJaKT/q1OksHNXVE4= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.1/go.mod h1:lfUx8puBRdM5lVVMQlwt2v+ofiG/X6Ms+dy0UkG/kXw= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.31 h1:sJLYcS+eZn5EeNINGHSCRAwUJMFVqklwkH36Vbyai7M= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.31/go.mod h1:QT0BqUvX1Bh2ABdTGnjqEjvjzrCfIniM9Sc8zn9Yndo= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.25 h1:1mnRASEKnkqsntcxHaysxwgVoUUp5dkiB+l3llKnqyg= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.25/go.mod h1:zBHOPwhBc3FlQjQJE/D3IfPWiWaQmT06Vq9aNukDo0k= -github.com/aws/aws-sdk-go-v2/internal/ini v1.3.32 h1:p5luUImdIqywn6JpQsW3tq5GNOxKmOnEpybzPx+d1lk= -github.com/aws/aws-sdk-go-v2/internal/ini v1.3.32/go.mod h1:XGhIBZDEgfqmFIugclZ6FU7v75nHhBDtzuB4xB/tEi4= -github.com/aws/aws-sdk-go-v2/service/iam v1.19.8 h1:kQsBeGgm68kT0xc90spgC5qEOQGH74V2bFqgBgG21Bo= -github.com/aws/aws-sdk-go-v2/service/iam v1.19.8/go.mod h1:lf/oAjt//UvPsmnOgPT61F+q4K6U0q4zDd1s1yx2NZs= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.25 h1:5LHn8JQ0qvjD9L9JhMtylnkcw7j05GDZqM9Oin6hpr0= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.25/go.mod h1:/95IA+0lMnzW6XzqYJRpjjsAbKEORVeO0anQqjd2CNU= -github.com/aws/aws-sdk-go-v2/service/sso v1.12.6 h1:5V7DWLBd7wTELVz5bPpwzYy/sikk0gsgZfj40X+l5OI= -github.com/aws/aws-sdk-go-v2/service/sso v1.12.6/go.mod h1:Y1VOmit/Fn6Tz1uFAeCO6Q7M2fmfXSCLeL5INVYsLuY= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.6 h1:B8cauxOH1W1v7rd8RdI/MWnoR4Ze0wIHWrb90qczxj4= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.6/go.mod h1:Lh/bc9XUf8CfOY6Jp5aIkQtN+j1mc+nExc+KXj9jx2s= -github.com/aws/aws-sdk-go-v2/service/sts v1.18.7 h1:bWNgNdRko2x6gqa0blfATqAZKZokPIeM1vfmQt2pnvM= -github.com/aws/aws-sdk-go-v2/service/sts v1.18.7/go.mod h1:JuTnSoeePXmMVe9G8NcjjwgOKEfZ4cOjMuT2IBT/2eI= -github.com/aws/smithy-go v1.13.5 h1:hgz0X/DX0dGqTYpGALqXJoRKRj5oQ7150i5FdTePzO8= -github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= +github.com/aws/aws-sdk-go-v2 v1.36.0 h1:b1wM5CcE65Ujwn565qcwgtOTT1aT4ADOHHgglKjG7fk= +github.com/aws/aws-sdk-go-v2 v1.36.0/go.mod h1:5PMILGVKiW32oDzjj6RU52yrNrDPUHcbZQYr1sM7qmM= +github.com/aws/aws-sdk-go-v2/config v1.27.9 h1:gRx/NwpNEFSk+yQlgmk1bmxxvQ5TyJ76CWXs9XScTqg= +github.com/aws/aws-sdk-go-v2/config v1.27.9/go.mod h1:dK1FQfpwpql83kbD873E9vz4FyAxuJtR22wzoXn3qq0= +github.com/aws/aws-sdk-go-v2/credentials v1.17.9 h1:N8s0/7yW+h8qR8WaRlPQeJ6czVMNQVNtNdUqf6cItao= +github.com/aws/aws-sdk-go-v2/credentials v1.17.9/go.mod h1:446YhIdmSV0Jf/SLafGZalQo+xr2iw7/fzXGDPTU1yQ= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.0 h1:af5YzcLf80tv4Em4jWVD75lpnOHSBkPUZxZfGkrI3HI= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.0/go.mod h1:nQ3how7DMnFMWiU1SpECohgC82fpn4cKZ875NDMmwtA= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.31 h1:lWm9ucLSRFiI4dQQafLrEOmEDGry3Swrz0BIRdiHJqQ= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.31/go.mod h1:Huu6GG0YTfbPphQkDSo4dEGmQRTKb9k9G7RdtyQWxuI= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.31 h1:ACxDklUKKXb48+eg5ROZXi1vDgfMyfIA/WyvqHcHI0o= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.31/go.mod h1:yadnfsDwqXeVaohbGc/RaD287PuyRw2wugkh5ZL2J6k= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY= +github.com/aws/aws-sdk-go-v2/service/iam v1.39.0 h1:fCJSCBlay3i9C0u2zPBFiLG2pQvtLWKOWkDF0JWffCI= +github.com/aws/aws-sdk-go-v2/service/iam v1.39.0/go.mod h1:Gid0WEVky3EWbkeXiS67kHhbiK+q3/wO/hvPh7plR0c= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1 h1:EyBZibRTVAs6ECHZOw5/wlylS9OcTzwyjeQMudmREjE= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1/go.mod h1:JKpmtYhhPs7D97NL/ltqz7yCkERFW5dOlHyVl66ZYF8= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.6 h1:b+E7zIUHMmcB4Dckjpkapoy47W6C9QBv/zoUP+Hn8Kc= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.6/go.mod h1:S2fNV0rxrP78NhPbCZeQgY8H9jdDMeGtwcfZIRxzBqU= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.3 h1:mnbuWHOcM70/OFUlZZ5rcdfA8PflGXXiefU/O+1S3+8= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.3/go.mod h1:5HFu51Elk+4oRBZVxmHrSds5jFXmFj8C3w7DVF2gnrs= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.3 h1:uLq0BKatTmDzWa/Nu4WO0M1AaQDaPpwTKAeByEc6WFM= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.3/go.mod h1:b+qdhjnxj8GSR6t5YfphOffeoQSQ1KmpoVVuBn+PWxs= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.5 h1:J/PpTf/hllOjx8Xu9DMflff3FajfLxqM5+tepvVXmxg= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.5/go.mod h1:0ih0Z83YDH/QeQ6Ori2yGE2XvWYv/Xm+cZc01LC6oK0= +github.com/aws/smithy-go v1.22.2 h1:6D9hW43xKFrRx/tXXfAlIZc4JI+yQe6snnWcQyxSyLQ= +github.com/aws/smithy-go v1.22.2/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= github.com/danieljoos/wincred v1.1.2 h1:QLdCxFs1/Yl4zduvBdcHB8goaYk9RARS2SgLLRuAyr0= github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dvsekhvalnov/jose2go v1.5.0 h1:3j8ya4Z4kMCwT5nXIKFSV84YS+HdqSSO0VsTQxaLAeM= github.com/dvsekhvalnov/jose2go v1.5.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= -github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c h1:6rhixN/i8ZofjG1Y75iExal34USq5p+wiN1tpie8IrU= github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c/go.mod h1:NMPJylDgVpX0MLRlPy15sqSwOFv/U1GZ2m21JhFfek0= -github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= @@ -68,9 +68,11 @@ github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 h1:JIAuq3EE github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966/go.mod h1:sUM3LWHvSMaG192sy56D9F7CNvL7jUJVXoqM1QKLnog= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.3.0 h1:NGXK3lHquSN08v5vWalVI/L8XU9hdzE/G6xsrze47As= +github.com/stretchr/objx v0.3.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8= +github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/xhit/go-str2duration/v2 v2.1.0 h1:lxklc02Drh6ynqX+DdPyp5pCKLUQpRT8bp8Ydu2Bstc= github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -87,6 +89,6 @@ gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= \ No newline at end of file From 2cd6323801bf9ae1cb865674371a906868c69e44 Mon Sep 17 00:00:00 2001 From: zhelezovartem Date: Wed, 19 Mar 2025 14:31:35 +0300 Subject: [PATCH 02/11] fix test pipeline --- .github/workflows/go.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 2cdaed060..6ce305b7c 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -15,10 +15,10 @@ jobs: os: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.os }} steps: + - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version-file: 'go.mod' - - uses: actions/checkout@v4 - name: Run tests run: go test -race ./... lint: @@ -31,10 +31,10 @@ jobs: os: [macos-latest, ubuntu-latest] runs-on: ${{ matrix.os }} steps: + - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version-file: 'go.mod' - - uses: actions/checkout@v3 - name: golangci-lint uses: golangci/golangci-lint-action@v6.3.2 with: From 8f0c241fa96c9c108c7f7124cc6497bc7e546e3a Mon Sep 17 00:00:00 2001 From: zhelezovartem Date: Wed, 19 Mar 2025 14:38:12 +0300 Subject: [PATCH 03/11] update lint job configuration --- .github/workflows/go.yml | 9 +++++++-- .github/workflows/release.yml | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 6ce305b7c..dea071440 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -31,11 +31,16 @@ jobs: os: [macos-latest, ubuntu-latest] runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version-file: 'go.mod' - - name: golangci-lint + - name: Install Dependencies + run: go mod tidy + - name: Verify Build + run: go build ./... + - name: Run golangci-lint uses: golangci/golangci-lint-action@v6.3.2 with: version: v1.52.0 + args: "--timeout 5m" \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4daf00105..c4bc6d819 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,7 +17,7 @@ jobs: - name: Set Up Go uses: actions/setup-go@v5 with: - go-version: "1.24" + go-version: "1.23" - name: Extract Version from Tag run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV From f890e94f332e9adfacc3677fcf96817d8c3284bc Mon Sep 17 00:00:00 2001 From: zhelezovartem Date: Wed, 19 Mar 2025 14:46:07 +0300 Subject: [PATCH 04/11] ensure deps are installed --- .github/workflows/go.yml | 45 +++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 14 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index dea071440..2dab5542b 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -30,17 +30,34 @@ jobs: matrix: os: [macos-latest, ubuntu-latest] runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 - with: - go-version-file: 'go.mod' - - name: Install Dependencies - run: go mod tidy - - name: Verify Build - run: go build ./... - - name: Run golangci-lint - uses: golangci/golangci-lint-action@v6.3.2 - with: - version: v1.52.0 - args: "--timeout 5m" \ No newline at end of file + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-go@v5 + with: + go-version-file: 'go.mod' + + - name: Cache Go modules + uses: actions/cache@v3 + with: + path: | + ~/go/pkg/mod + ~/.cache/go-build + key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + restore-keys: | + ${{ runner.os }}-go- + + - name: Install Dependencies + run: | + go mod tidy + go mod download + go list -m all + + - name: Verify Build + run: go build ./... + + - name: Run golangci-lint + uses: golangci/golangci-lint-action@v6.3.2 + with: + version: v1.52.0 + args: "--timeout 5m" \ No newline at end of file From 03c4b5c8b2e22753f1d556e6f744092f676bdded Mon Sep 17 00:00:00 2001 From: zhelezovartem Date: Wed, 19 Mar 2025 14:46:48 +0300 Subject: [PATCH 05/11] formatting --- .github/workflows/go.yml | 62 ++++++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 2dab5542b..72fa96b11 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -30,34 +30,34 @@ jobs: matrix: os: [macos-latest, ubuntu-latest] runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - - uses: actions/setup-go@v5 - with: - go-version-file: 'go.mod' - - - name: Cache Go modules - uses: actions/cache@v3 - with: - path: | - ~/go/pkg/mod - ~/.cache/go-build - key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} - restore-keys: | - ${{ runner.os }}-go- - - - name: Install Dependencies - run: | - go mod tidy - go mod download - go list -m all - - - name: Verify Build - run: go build ./... - - - name: Run golangci-lint - uses: golangci/golangci-lint-action@v6.3.2 - with: - version: v1.52.0 - args: "--timeout 5m" \ No newline at end of file + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-go@v5 + with: + go-version-file: 'go.mod' + + - name: Cache Go modules + uses: actions/cache@v3 + with: + path: | + ~/go/pkg/mod + ~/.cache/go-build + key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + restore-keys: | + ${{ runner.os }}-go- + + - name: Install Dependencies + run: | + go mod tidy + go mod download + go list -m all + + - name: Verify Build + run: go build ./... + + - name: Run golangci-lint + uses: golangci/golangci-lint-action@v6.3.2 + with: + version: v1.52.0 + args: "--timeout 5m" \ No newline at end of file From 70971a4eae13bc17d2ee626ffe17c744a1c91d3d Mon Sep 17 00:00:00 2001 From: zhelezovartem Date: Wed, 19 Mar 2025 15:01:11 +0300 Subject: [PATCH 06/11] try downgrading go version --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 3efb7ffdf..c118afebf 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/99designs/aws-vault/v7 -go 1.23 +go 1.19 require ( github.com/99designs/keyring v1.2.2 From d2ff16017ce47f791bff80b5da7cb1c9dfedff32 Mon Sep 17 00:00:00 2001 From: zhelezovartem Date: Wed, 19 Mar 2025 15:02:52 +0300 Subject: [PATCH 07/11] try 1.20 version --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index c118afebf..4f8af7f13 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/99designs/aws-vault/v7 -go 1.19 +go 1.20 require ( github.com/99designs/keyring v1.2.2 From 5f7d4ff630cb6044ae557a96245a78bbe5be63fe Mon Sep 17 00:00:00 2001 From: zhelezovartem Date: Wed, 19 Mar 2025 15:14:00 +0300 Subject: [PATCH 08/11] update golangci-lint --- .github/workflows/go.yml | 28 +++------------------------- go.mod | 2 +- 2 files changed, 4 insertions(+), 26 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 72fa96b11..2d3a3c5cd 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -32,32 +32,10 @@ jobs: runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 with: go-version-file: 'go.mod' - - - name: Cache Go modules - uses: actions/cache@v3 + - name: golangci-lint + uses: golangci/golangci-lint-action@v6.5.1 with: - path: | - ~/go/pkg/mod - ~/.cache/go-build - key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} - restore-keys: | - ${{ runner.os }}-go- - - - name: Install Dependencies - run: | - go mod tidy - go mod download - go list -m all - - - name: Verify Build - run: go build ./... - - - name: Run golangci-lint - uses: golangci/golangci-lint-action@v6.3.2 - with: - version: v1.52.0 - args: "--timeout 5m" \ No newline at end of file + version: v1.64.8 diff --git a/go.mod b/go.mod index 4f8af7f13..3efb7ffdf 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/99designs/aws-vault/v7 -go 1.20 +go 1.23 require ( github.com/99designs/keyring v1.2.2 From 71e4a0941c0aefa3b2b6acd554fe6e273242fb57 Mon Sep 17 00:00:00 2001 From: zhelezovartem Date: Wed, 19 Mar 2025 15:45:02 +0300 Subject: [PATCH 09/11] fix some linter errors --- cli/clear.go | 2 +- cli/export.go | 12 ++++++++---- cli/global.go | 2 +- cli/login.go | 2 +- cli/rotate.go | 2 +- prompt/terminal.go | 1 + server/ec2proxy.go | 2 +- server/ec2server.go | 8 ++++---- vault/stsendpointresolver.go | 2 +- 9 files changed, 19 insertions(+), 14 deletions(-) diff --git a/cli/clear.go b/cli/clear.go index c62988fb7..49e641f6d 100644 --- a/cli/clear.go +++ b/cli/clear.go @@ -21,7 +21,7 @@ func ConfigureClearCommand(app *kingpin.Application, a *AwsVault) { HintAction(a.MustGetProfileNames). StringVar(&input.ProfileName) - cmd.Action(func(c *kingpin.ParseContext) (err error) { + cmd.Action(func(_ *kingpin.ParseContext) (err error) { keyring, err := a.Keyring() if err != nil { return err diff --git a/cli/export.go b/cli/export.go index 82dca9229..303e8c9d9 100644 --- a/cli/export.go +++ b/cli/export.go @@ -103,13 +103,17 @@ func ExportCommand(input ExportCommandInput, f *vault.ConfigFile, keyring keyrin if input.Format == FormatTypeExportJSON { return printJSON(input, credsProvider) - } else if input.Format == FormatTypeExportINI { + } + + if input.Format == FormatTypeExportINI { return printINI(credsProvider, input.ProfileName, config.Region) - } else if input.Format == FormatTypeExportEnv { + } + + if input.Format == FormatTypeExportEnv { return printEnv(input, credsProvider, config.Region, "export ") - } else { - return printEnv(input, credsProvider, config.Region, "") } + + return printEnv(input, credsProvider, config.Region, "") } func printJSON(input ExportCommandInput, credsProvider aws.CredentialsProvider) error { diff --git a/cli/global.go b/cli/global.go index 10561f82d..f5589873f 100644 --- a/cli/global.go +++ b/cli/global.go @@ -118,7 +118,7 @@ func ConfigureGlobals(app *kingpin.Application) *AwsVault { Envar("AWS_VAULT_PROMPT"). StringVar(&a.promptDriver) - app.Validate(func(app *kingpin.Application) error { + app.Validate(func(_ *kingpin.Application) error { if a.promptDriver == "" { return nil } diff --git a/cli/login.go b/cli/login.go index 7e248d7e9..61bfc5a9b 100644 --- a/cli/login.go +++ b/cli/login.go @@ -61,7 +61,7 @@ func ConfigureLoginCommand(app *kingpin.Application, a *AwsVault) { HintAction(a.MustGetProfileNames). StringVar(&input.ProfileName) - cmd.Action(func(c *kingpin.ParseContext) (err error) { + cmd.Action(func(_ *kingpin.ParseContext) (err error) { input.Config.MfaPromptMethod = a.PromptDriver(false) input.Config.NonChainedGetSessionTokenDuration = input.SessionDuration input.Config.AssumeRoleDuration = input.SessionDuration diff --git a/cli/rotate.go b/cli/rotate.go index 372e1f1f9..5b9f89b4a 100644 --- a/cli/rotate.go +++ b/cli/rotate.go @@ -33,7 +33,7 @@ func ConfigureRotateCommand(app *kingpin.Application, a *AwsVault) { HintAction(a.MustGetProfileNames). StringVar(&input.ProfileName) - cmd.Action(func(c *kingpin.ParseContext) (err error) { + cmd.Action(func(_ *kingpin.ParseContext) (err error) { input.Config.MfaPromptMethod = a.PromptDriver(false) keyring, err := a.Keyring() if err != nil { diff --git a/prompt/terminal.go b/prompt/terminal.go index 2fa80e1aa..7e9d06510 100644 --- a/prompt/terminal.go +++ b/prompt/terminal.go @@ -1,5 +1,6 @@ package prompt +// nolint:depguard import ( "fmt" "strings" diff --git a/server/ec2proxy.go b/server/ec2proxy.go index ca8b92882..3aded59e0 100644 --- a/server/ec2proxy.go +++ b/server/ec2proxy.go @@ -35,7 +35,7 @@ func StartProxy() error { } handler := http.NewServeMux() - handler.HandleFunc("/stop", func(w http.ResponseWriter, r *http.Request) { + handler.HandleFunc("/stop", func(w http.ResponseWriter, _ *http.Request) { w.WriteHeader(http.StatusOK) go Shutdown() }) diff --git a/server/ec2server.go b/server/ec2server.go index 63ccd2969..b1ce0b0f9 100644 --- a/server/ec2server.go +++ b/server/ec2server.go @@ -32,22 +32,22 @@ func startEc2CredentialsServer(credsProvider aws.CredentialsProvider, region str log.Printf("Starting EC2 Instance Metadata server on %s", ec2CredentialsServerAddr) router := http.NewServeMux() - router.HandleFunc("/latest/meta-data/iam/security-credentials/", func(w http.ResponseWriter, r *http.Request) { + router.HandleFunc("/latest/meta-data/iam/security-credentials/", func(w http.ResponseWriter, _ *http.Request) { fmt.Fprintf(w, "local-credentials") }) // The AWS Go SDK checks the instance-id endpoint to validate the existence of EC2 Metadata - router.HandleFunc("/latest/meta-data/instance-id/", func(w http.ResponseWriter, r *http.Request) { + router.HandleFunc("/latest/meta-data/instance-id/", func(w http.ResponseWriter, _ *http.Request) { fmt.Fprintf(w, "aws-vault") }) // The AWS .NET SDK checks this endpoint during obtaining credentials/refreshing them - router.HandleFunc("/latest/meta-data/iam/info/", func(w http.ResponseWriter, r *http.Request) { + router.HandleFunc("/latest/meta-data/iam/info/", func(w http.ResponseWriter, _ *http.Request) { fmt.Fprintf(w, `{"Code" : "Success"}`) }) // used by AWS SDK to determine region - router.HandleFunc("/latest/dynamic/instance-identity/document", func(w http.ResponseWriter, r *http.Request) { + router.HandleFunc("/latest/dynamic/instance-identity/document", func(w http.ResponseWriter, _ *http.Request) { fmt.Fprintf(w, `{"region": "`+region+`"}`) }) diff --git a/vault/stsendpointresolver.go b/vault/stsendpointresolver.go index 9ffe12ab7..9b6a15b2b 100644 --- a/vault/stsendpointresolver.go +++ b/vault/stsendpointresolver.go @@ -10,7 +10,7 @@ import ( // getEndpointResolver resolves endpoints in accordance with // https://docs.aws.amazon.com/credref/latest/refdocs/setting-global-sts_regional_endpoints.html func getSTSEndpointResolver(stsRegionalEndpoints string) aws.EndpointResolverWithOptionsFunc { - return func(service, region string, options ...interface{}) (aws.Endpoint, error) { + return func(service, region string, _ ...interface{}) (aws.Endpoint, error) { if stsRegionalEndpoints == "legacy" && service == sts.ServiceID { if region == "ap-northeast-1" || region == "ap-south-1" || From 7bfd5b20c767db3448ba44cc326752bc9e2fdab2 Mon Sep 17 00:00:00 2001 From: zhelezovartem Date: Wed, 19 Mar 2025 17:33:05 +0300 Subject: [PATCH 10/11] disable some lint checks --- cli/add.go | 3 ++- cli/add_test.go | 1 + cli/clear.go | 1 + cli/exec.go | 3 ++- cli/exec_test.go | 1 + cli/export.go | 9 +++++---- cli/export_test.go | 1 + cli/global.go | 3 ++- cli/list.go | 3 ++- cli/list_test.go | 1 + cli/login.go | 1 + cli/proxy.go | 1 + cli/remove.go | 3 ++- cli/rotate.go | 1 + main.go | 1 + server/ec2server.go | 1 + server/ecsserver.go | 1 + vault/assumeroleprovider.go | 1 + vault/assumerolewithwebidentityprovider.go | 1 + vault/cachedsessionprovider.go | 1 + vault/config.go | 1 + vault/config_test.go | 1 + vault/credentialkeyring.go | 1 + vault/credentialprocessprovider.go | 1 + vault/credentialprocessprovider_test.go | 1 + vault/federationtokenprovider.go | 1 + vault/getuser.go | 1 + vault/keyringprovider.go | 1 + vault/mfa.go | 1 + vault/oidctokenkeyring.go | 1 + vault/sessionkeyring.go | 1 + vault/sessionkeyring_test.go | 1 + vault/sessiontokenprovider.go | 1 + vault/ssorolecredentialsprovider.go | 1 + vault/stsendpointresolver.go | 3 +++ vault/vault.go | 1 + vault/vault_test.go | 1 + 37 files changed, 48 insertions(+), 9 deletions(-) diff --git a/cli/add.go b/cli/add.go index cf585edcb..759494578 100644 --- a/cli/add.go +++ b/cli/add.go @@ -1,5 +1,6 @@ package cli +// nolint:depguard import ( "fmt" "log" @@ -34,7 +35,7 @@ func ConfigureAddCommand(app *kingpin.Application, a *AwsVault) { Default("true"). BoolVar(&input.AddConfig) - cmd.Action(func(c *kingpin.ParseContext) error { + cmd.Action(func(_ *kingpin.ParseContext) error { keyring, err := a.Keyring() if err != nil { return err diff --git a/cli/add_test.go b/cli/add_test.go index 73098022d..5f705381b 100644 --- a/cli/add_test.go +++ b/cli/add_test.go @@ -1,5 +1,6 @@ package cli +// nolint:depguard import ( "log" "os" diff --git a/cli/clear.go b/cli/clear.go index 49e641f6d..4cdf2c732 100644 --- a/cli/clear.go +++ b/cli/clear.go @@ -1,5 +1,6 @@ package cli +// nolint:depguard import ( "fmt" diff --git a/cli/exec.go b/cli/exec.go index 47f7f4c54..78636d5b0 100644 --- a/cli/exec.go +++ b/cli/exec.go @@ -1,5 +1,6 @@ package cli +// nolint:depguard import ( "context" "fmt" @@ -118,7 +119,7 @@ func ConfigureExecCommand(app *kingpin.Application, a *AwsVault) { cmd.Arg("args", "Command arguments"). StringsVar(&input.Args) - cmd.Action(func(c *kingpin.ParseContext) (err error) { + cmd.Action(func(_ *kingpin.ParseContext) (err error) { input.Config.MfaPromptMethod = a.PromptDriver(hasBackgroundServer(input)) input.Config.NonChainedGetSessionTokenDuration = input.SessionDuration input.Config.AssumeRoleDuration = input.SessionDuration diff --git a/cli/exec_test.go b/cli/exec_test.go index c2d259185..e141e287d 100644 --- a/cli/exec_test.go +++ b/cli/exec_test.go @@ -1,5 +1,6 @@ package cli +// nolint:depguard import ( "github.com/alecthomas/kingpin/v2" diff --git a/cli/export.go b/cli/export.go index 303e8c9d9..80077fae8 100644 --- a/cli/export.go +++ b/cli/export.go @@ -1,5 +1,6 @@ package cli +// nolint:depguard import ( "context" "encoding/json" @@ -64,7 +65,7 @@ func ConfigureExportCommand(app *kingpin.Application, a *AwsVault) { HintAction(a.MustGetProfileNames). StringVar(&input.ProfileName) - cmd.Action(func(c *kingpin.ParseContext) (err error) { + cmd.Action(func(_ *kingpin.ParseContext) (err error) { input.Config.MfaPromptMethod = a.PromptDriver(false) input.Config.NonChainedGetSessionTokenDuration = input.SessionDuration input.Config.AssumeRoleDuration = input.SessionDuration @@ -104,15 +105,15 @@ func ExportCommand(input ExportCommandInput, f *vault.ConfigFile, keyring keyrin if input.Format == FormatTypeExportJSON { return printJSON(input, credsProvider) } - + if input.Format == FormatTypeExportINI { return printINI(credsProvider, input.ProfileName, config.Region) } - + if input.Format == FormatTypeExportEnv { return printEnv(input, credsProvider, config.Region, "export ") } - + return printEnv(input, credsProvider, config.Region, "") } diff --git a/cli/export_test.go b/cli/export_test.go index 9037923df..07001b3c8 100644 --- a/cli/export_test.go +++ b/cli/export_test.go @@ -1,5 +1,6 @@ package cli +// nolint:depguard import ( "github.com/alecthomas/kingpin/v2" diff --git a/cli/global.go b/cli/global.go index f5589873f..fb811bacb 100644 --- a/cli/global.go +++ b/cli/global.go @@ -1,5 +1,6 @@ package cli +// nolint:depguard import ( "fmt" "io" @@ -162,7 +163,7 @@ func ConfigureGlobals(app *kingpin.Application) *AwsVault { Envar("AWS_VAULT_FILE_DIR"). StringVar(&a.KeyringConfig.FileDir) - app.PreAction(func(c *kingpin.ParseContext) error { + app.PreAction(func(_ *kingpin.ParseContext) error { if !a.Debug { log.SetOutput(io.Discard) } diff --git a/cli/list.go b/cli/list.go index 2a0aae253..e7a928365 100644 --- a/cli/list.go +++ b/cli/list.go @@ -1,5 +1,6 @@ package cli +// nolint:depguard import ( "fmt" "os" @@ -33,7 +34,7 @@ func ConfigureListCommand(app *kingpin.Application, a *AwsVault) { cmd.Flag("credentials", "Show only the profiles with stored credential"). BoolVar(&input.OnlyCredentials) - cmd.Action(func(c *kingpin.ParseContext) (err error) { + cmd.Action(func(_ *kingpin.ParseContext) (err error) { keyring, err := a.Keyring() if err != nil { return err diff --git a/cli/list_test.go b/cli/list_test.go index 161757ec5..958ba330c 100644 --- a/cli/list_test.go +++ b/cli/list_test.go @@ -1,5 +1,6 @@ package cli +// nolint:depguard import ( "github.com/alecthomas/kingpin/v2" diff --git a/cli/login.go b/cli/login.go index 61bfc5a9b..5cf376279 100644 --- a/cli/login.go +++ b/cli/login.go @@ -1,5 +1,6 @@ package cli +// nolint:depguard import ( "context" "encoding/json" diff --git a/cli/proxy.go b/cli/proxy.go index 1ab260614..9f6886b31 100644 --- a/cli/proxy.go +++ b/cli/proxy.go @@ -1,5 +1,6 @@ package cli +// nolint:depguard import ( "os" "os/signal" diff --git a/cli/remove.go b/cli/remove.go index d9d7f47f0..68cc35c1a 100644 --- a/cli/remove.go +++ b/cli/remove.go @@ -1,5 +1,6 @@ package cli +// nolint:depguard import ( "fmt" "strings" @@ -36,7 +37,7 @@ func ConfigureRemoveCommand(app *kingpin.Application, a *AwsVault) { Short('f'). BoolVar(&input.Force) - cmd.Action(func(c *kingpin.ParseContext) error { + cmd.Action(func(_ *kingpin.ParseContext) error { keyring, err := a.Keyring() if err != nil { return err diff --git a/cli/rotate.go b/cli/rotate.go index 5b9f89b4a..44b1ab6e9 100644 --- a/cli/rotate.go +++ b/cli/rotate.go @@ -1,5 +1,6 @@ package cli +// nolint:depguard import ( "context" "fmt" diff --git a/main.go b/main.go index fc6b1f708..aa4d8162a 100644 --- a/main.go +++ b/main.go @@ -1,5 +1,6 @@ package main +// nolint:depguard import ( "os" diff --git a/server/ec2server.go b/server/ec2server.go index b1ce0b0f9..fb6e90ad2 100644 --- a/server/ec2server.go +++ b/server/ec2server.go @@ -1,5 +1,6 @@ package server +// nolint:depguard import ( "context" "encoding/json" diff --git a/server/ecsserver.go b/server/ecsserver.go index 488d3f767..02e08ea30 100644 --- a/server/ecsserver.go +++ b/server/ecsserver.go @@ -1,5 +1,6 @@ package server +// nolint:depguard import ( "context" "crypto/rand" diff --git a/vault/assumeroleprovider.go b/vault/assumeroleprovider.go index 87db054ac..9599ab403 100644 --- a/vault/assumeroleprovider.go +++ b/vault/assumeroleprovider.go @@ -1,5 +1,6 @@ package vault +// nolint:depguard import ( "context" "fmt" diff --git a/vault/assumerolewithwebidentityprovider.go b/vault/assumerolewithwebidentityprovider.go index ec2537eb8..ed0fe7d46 100644 --- a/vault/assumerolewithwebidentityprovider.go +++ b/vault/assumerolewithwebidentityprovider.go @@ -1,5 +1,6 @@ package vault +// nolint:depguard import ( "context" "fmt" diff --git a/vault/cachedsessionprovider.go b/vault/cachedsessionprovider.go index 1a382d6b3..06d81143e 100644 --- a/vault/cachedsessionprovider.go +++ b/vault/cachedsessionprovider.go @@ -1,5 +1,6 @@ package vault +// nolint:depguard import ( "context" "log" diff --git a/vault/config.go b/vault/config.go index a4fdc1e7c..5782a91ff 100644 --- a/vault/config.go +++ b/vault/config.go @@ -1,5 +1,6 @@ package vault +// nolint:depguard import ( "errors" "fmt" diff --git a/vault/config_test.go b/vault/config_test.go index b9f10375b..1561835eb 100644 --- a/vault/config_test.go +++ b/vault/config_test.go @@ -1,5 +1,6 @@ package vault_test +// nolint:depguard import ( "bytes" "fmt" diff --git a/vault/credentialkeyring.go b/vault/credentialkeyring.go index d57ee6fcc..6f941f40b 100644 --- a/vault/credentialkeyring.go +++ b/vault/credentialkeyring.go @@ -1,5 +1,6 @@ package vault +// nolint:depguard import ( "encoding/json" "fmt" diff --git a/vault/credentialprocessprovider.go b/vault/credentialprocessprovider.go index d9a7d00fe..a9061e846 100644 --- a/vault/credentialprocessprovider.go +++ b/vault/credentialprocessprovider.go @@ -1,5 +1,6 @@ package vault +// nolint:depguard import ( "context" "encoding/json" diff --git a/vault/credentialprocessprovider_test.go b/vault/credentialprocessprovider_test.go index abfa6043a..a0c4a948b 100644 --- a/vault/credentialprocessprovider_test.go +++ b/vault/credentialprocessprovider_test.go @@ -1,5 +1,6 @@ package vault +// nolint:depguard import ( "context" "encoding/json" diff --git a/vault/federationtokenprovider.go b/vault/federationtokenprovider.go index 6b678dc83..f9b4798d7 100644 --- a/vault/federationtokenprovider.go +++ b/vault/federationtokenprovider.go @@ -1,5 +1,6 @@ package vault +// nolint:depguard import ( "context" "log" diff --git a/vault/getuser.go b/vault/getuser.go index 15feafa10..1d87a9937 100644 --- a/vault/getuser.go +++ b/vault/getuser.go @@ -1,5 +1,6 @@ package vault +// nolint:depguard import ( "context" "fmt" diff --git a/vault/keyringprovider.go b/vault/keyringprovider.go index e9ea2ac84..92b0be31c 100644 --- a/vault/keyringprovider.go +++ b/vault/keyringprovider.go @@ -1,5 +1,6 @@ package vault +// nolint:depguard import ( "context" "log" diff --git a/vault/mfa.go b/vault/mfa.go index eb5de34ba..d7c481869 100644 --- a/vault/mfa.go +++ b/vault/mfa.go @@ -1,5 +1,6 @@ package vault +// nolint:depguard import ( "errors" "fmt" diff --git a/vault/oidctokenkeyring.go b/vault/oidctokenkeyring.go index 4bd13c878..279cd9ecb 100644 --- a/vault/oidctokenkeyring.go +++ b/vault/oidctokenkeyring.go @@ -1,5 +1,6 @@ package vault +// nolint:depguard import ( "encoding/json" "fmt" diff --git a/vault/sessionkeyring.go b/vault/sessionkeyring.go index dbd984cfb..40c9cc961 100644 --- a/vault/sessionkeyring.go +++ b/vault/sessionkeyring.go @@ -1,5 +1,6 @@ package vault +// nolint:depguard import ( "encoding/base64" "encoding/json" diff --git a/vault/sessionkeyring_test.go b/vault/sessionkeyring_test.go index e3583d3e4..a63ddbf61 100644 --- a/vault/sessionkeyring_test.go +++ b/vault/sessionkeyring_test.go @@ -1,5 +1,6 @@ package vault_test +// nolint:depguard import ( "testing" diff --git a/vault/sessiontokenprovider.go b/vault/sessiontokenprovider.go index b58179d0f..efae034a6 100644 --- a/vault/sessiontokenprovider.go +++ b/vault/sessiontokenprovider.go @@ -1,5 +1,6 @@ package vault +// nolint:depguard import ( "context" "log" diff --git a/vault/ssorolecredentialsprovider.go b/vault/ssorolecredentialsprovider.go index 25c008b61..b9c61ec93 100644 --- a/vault/ssorolecredentialsprovider.go +++ b/vault/ssorolecredentialsprovider.go @@ -1,5 +1,6 @@ package vault +// nolint:depguard import ( "context" "errors" diff --git a/vault/stsendpointresolver.go b/vault/stsendpointresolver.go index 9b6a15b2b..2da07c313 100644 --- a/vault/stsendpointresolver.go +++ b/vault/stsendpointresolver.go @@ -1,5 +1,6 @@ package vault +// nolint:depguard import ( "log" @@ -9,6 +10,8 @@ import ( // getEndpointResolver resolves endpoints in accordance with // https://docs.aws.amazon.com/credref/latest/refdocs/setting-global-sts_regional_endpoints.html + +// nolint:staticcheck // Ignore deprecation warning SA1019 for the endpoint resolver function func getSTSEndpointResolver(stsRegionalEndpoints string) aws.EndpointResolverWithOptionsFunc { return func(service, region string, _ ...interface{}) (aws.Endpoint, error) { if stsRegionalEndpoints == "legacy" && service == sts.ServiceID { diff --git a/vault/vault.go b/vault/vault.go index 9fd27fe2a..3f7cabce0 100644 --- a/vault/vault.go +++ b/vault/vault.go @@ -1,5 +1,6 @@ package vault +// nolint:depguard import ( "context" "fmt" diff --git a/vault/vault_test.go b/vault/vault_test.go index 75a047ad8..57b87e739 100644 --- a/vault/vault_test.go +++ b/vault/vault_test.go @@ -1,5 +1,6 @@ package vault_test +// nolint:depguard import ( "os" "testing" From 1bf4337d8be5b66dc6526807cac75b99d1b68273 Mon Sep 17 00:00:00 2001 From: zhelezovartem Date: Wed, 19 Mar 2025 17:42:10 +0300 Subject: [PATCH 11/11] update linter --- .golangci.yml | 2 +- golangci-lint.yml | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 golangci-lint.yml diff --git a/.golangci.yml b/.golangci.yml index 20f3f8bc4..d69e7b33d 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -8,7 +8,7 @@ linters: - errchkjson - errname - exhaustive - - exportloopref + - copyloopvar - gofmt - goimports - makezero diff --git a/golangci-lint.yml b/golangci-lint.yml new file mode 100644 index 000000000..66904bab8 --- /dev/null +++ b/golangci-lint.yml @@ -0,0 +1,3 @@ +linters: + enable: + - exportloopref