diff --git a/.github/workflows/goreleaser.yml b/.github/workflows/goreleaser.yml index 2df457ab927..b33e1a9f4df 100644 --- a/.github/workflows/goreleaser.yml +++ b/.github/workflows/goreleaser.yml @@ -18,7 +18,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v3 with: - go-version: 1.24.x + go-version: 1.26.x - # Add support for more platforms with QEMU (optional) # https://github.com/docker/setup-qemu-action name: Set up QEMU diff --git a/.github/workflows/kubernetes-tests.yml b/.github/workflows/kubernetes-tests.yml index 7e91d1363ae..91fbe000f79 100644 --- a/.github/workflows/kubernetes-tests.yml +++ b/.github/workflows/kubernetes-tests.yml @@ -6,33 +6,35 @@ concurrency: group: ${{ github.workflow }}-${{ github.head_ref }} cancel-in-progress: true jobs: - shellcheck: - timeout-minutes: 30 - name: Shellcheck - runs-on: ubuntu-latest - strategy: - matrix: - go-version: [ 1.24.x ] - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-go@v4 - with: - go-version: ${{ matrix.go-version }} - - name: Run ShellCheck - uses: ludeeus/action-shellcheck@master - env: - SHELLCHECK_OPTS: -e SC2046 -e SC1091 -e SC2086 -e SC2090 -e SC2089 -e SC2006 -e SC2206 - - name: Run nancy vulnerability report - run: | - nancy_version=$(curl --retry 10 -Ls -o /dev/null -w "%{url_effective}" https://github.com/sonatype-nexus-community/nancy/releases/latest | sed "s/https:\/\/github.com\/sonatype-nexus-community\/nancy\/releases\/tag\///") - curl -L -o nancy https://github.com/sonatype-nexus-community/nancy/releases/download/${nancy_version}/nancy-${nancy_version}-linux-amd64 && chmod +x nancy - go list -deps -json ./... | jq -s 'unique_by(.Module.Path)|.[]|select(has("Module"))|.Module' | ./nancy sleuth + # Nancy seems to require a token to in v1.2.0 + # + # shellcheck: + # timeout-minutes: 30 + # name: Shellcheck + # runs-on: ubuntu-latest + # strategy: + # matrix: + # go-version: [ 1.26.x ] + # steps: + # - uses: actions/checkout@v3 + # - uses: actions/setup-go@v4 + # with: + # go-version: ${{ matrix.go-version }} + # - name: Run ShellCheck + # uses: ludeeus/action-shellcheck@master + # env: + # SHELLCHECK_OPTS: -e SC2046 -e SC1091 -e SC2086 -e SC2090 -e SC2089 -e SC2006 -e SC2206 + # - name: Run nancy vulnerability report + # run: | + # nancy_version=$(curl --retry 10 -Ls -o /dev/null -w "%{url_effective}" https://github.com/sonatype-nexus-community/nancy/releases/latest | sed "s/https:\/\/github.com\/sonatype-nexus-community\/nancy\/releases\/tag\///") + # curl -L -o nancy https://github.com/sonatype-nexus-community/nancy/releases/download/${nancy_version}/nancy-${nancy_version}-linux-amd64 && chmod +x nancy + # go list -deps -json ./... | jq -s 'unique_by(.Module.Path)|.[]|select(has("Module"))|.Module' | ./nancy sleuth lint: timeout-minutes: 30 runs-on: ${{ matrix.os }} strategy: matrix: - go-version: [ 1.24.x ] + go-version: [ 1.26.x ] os: [ ubuntu-latest ] steps: @@ -48,7 +50,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - go-version: [ 1.24.x ] + go-version: [ 1.26.x ] os: [ ubuntu-latest ] steps: @@ -65,7 +67,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - go-version: [ 1.24.x ] + go-version: [ 1.26.x ] steps: - name: Check out code uses: actions/checkout@v3 @@ -89,7 +91,7 @@ jobs: - govet strategy: matrix: - go-version: [ 1.24.x ] + go-version: [ 1.26.x ] os: [ ubuntu-latest ] steps: @@ -107,10 +109,10 @@ jobs: - lint - vulnerable-dependencies-checks - govet - - shellcheck +# - shellcheck strategy: matrix: - go-version: [ 1.24.x ] + go-version: [ 1.26.x ] os: [ ubuntu-latest ] steps: @@ -134,7 +136,7 @@ jobs: - operator strategy: matrix: - go-version: [ 1.24.x ] + go-version: [ 1.26.x ] os: [ ubuntu-latest ] steps: @@ -158,7 +160,7 @@ jobs: - operator strategy: matrix: - go-version: [ 1.24.x ] + go-version: [ 1.26.x ] os: [ ubuntu-latest ] steps: @@ -182,7 +184,7 @@ jobs: - operator strategy: matrix: - go-version: [ 1.24.x ] + go-version: [ 1.26.x ] os: [ ubuntu-latest ] steps: @@ -206,7 +208,7 @@ jobs: - operator strategy: matrix: - go-version: [ 1.24.x ] + go-version: [ 1.26.x ] os: [ ubuntu-latest ] steps: - uses: actions/checkout@v3 @@ -229,7 +231,7 @@ jobs: - operator strategy: matrix: - go-version: [ 1.24.x ] + go-version: [ 1.26.x ] os: [ ubuntu-latest ] steps: - name: Free Disk Space (Ubuntu) @@ -263,7 +265,7 @@ jobs: - operator strategy: matrix: - go-version: [ 1.24.x ] + go-version: [ 1.26.x ] os: [ ubuntu-latest ] # Steps represent a sequence of tasks that will be executed as part of the job @@ -294,7 +296,7 @@ jobs: - operator strategy: matrix: - go-version: [ 1.24.x ] + go-version: [ 1.26.x ] os: [ ubuntu-latest ] # Steps represent a sequence of tasks that will be executed as part of the job diff --git a/.github/workflows/ui.yaml b/.github/workflows/ui.yaml index 50d2e031d87..6f14a3e0f64 100644 --- a/.github/workflows/ui.yaml +++ b/.github/workflows/ui.yaml @@ -41,7 +41,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - go-version: [ 1.21.x ] + go-version: [ 1.24.x ] os: [ ubuntu-latest ] steps: - name: Check out code @@ -87,7 +87,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - go-version: [ 1.21.x ] + go-version: [ 1.24.x ] os: [ ubuntu-latest ] steps: - name: Check out code @@ -115,7 +115,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - go-version: [ 1.21.x ] + go-version: [ 1.24.x ] os: [ ubuntu-latest ] steps: - name: Check out code @@ -157,7 +157,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - go-version: [ 1.21.x ] + go-version: [ 1.24.x ] os: [ ubuntu-latest ] steps: - name: Check out code @@ -181,7 +181,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - go-version: [ 1.21.x ] + go-version: [ 1.24.x ] os: [ ubuntu-latest ] steps: - name: Check out code @@ -218,7 +218,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - go-version: [ 1.21.x ] + go-version: [ 1.24.x ] os: [ ubuntu-latest ] steps: - name: Check out code @@ -258,7 +258,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - go-version: [ 1.21.x ] + go-version: [ 1.24.x ] os: [ ubuntu-latest ] steps: - name: Check out code @@ -315,7 +315,7 @@ jobs: strategy: matrix: - go-version: [ 1.21.x ] + go-version: [ 1.24.x ] steps: @@ -359,7 +359,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - go-version: [ 1.21.x ] + go-version: [ 1.24.x ] os: [ ubuntu-latest ] steps: - name: Check out code diff --git a/README.md b/README.md index 668760c64b0..1a002b62c51 100644 --- a/README.md +++ b/README.md @@ -165,7 +165,7 @@ for [kustomize](https://kubernetes.io/docs/tasks/manage-kubernetes-objects/kusto use that to install MiniO Operator. ```sh -kubectl kustomize github.com/minio/operator\?ref=v5.0.18 +kubectl kustomize github.com/minio/operator\?ref=v5.0.19 ``` Run the following command to verify the status of the Operator: diff --git a/api/marketplace.go b/api/marketplace.go index 42c66217df5..7fcbd99c0d9 100644 --- a/api/marketplace.go +++ b/api/marketplace.go @@ -101,7 +101,7 @@ func postMPIntegrationResponse(session *models.Principal, params operator_api.Po func setMPIntegration(ctx context.Context, email string, isInEU bool, clientSet K8sClientI) *models.Error { if email == "" { - return ErrorWithContext(ctx, ErrBadRequest, fmt.Errorf(emailNotSetMsg)) + return ErrorWithContext(ctx, ErrBadRequest, fmt.Errorf("%s", emailNotSetMsg)) } if _, err := setMPEmail(ctx, email, isInEU, clientSet); err != nil { return ErrorWithContext(ctx, err) diff --git a/go.mod b/go.mod index d7d462bdbb5..c5907f895f1 100644 --- a/go.mod +++ b/go.mod @@ -1,12 +1,12 @@ module github.com/minio/operator -go 1.23.0 +go 1.26.0 -toolchain go1.24.2 +toolchain go1.26.1 require ( github.com/blang/semver/v4 v4.0.0 - github.com/docker/cli v24.0.7+incompatible + github.com/docker/cli v29.2.0+incompatible github.com/dustin/go-humanize v1.0.1 // indirect github.com/fatih/color v1.16.0 github.com/go-openapi/errors v0.21.0 @@ -40,12 +40,12 @@ require ( github.com/stretchr/testify v1.9.0 github.com/tidwall/gjson v1.17.0 github.com/unrolled/secure v1.14.0 - golang.org/x/crypto v0.36.0 - golang.org/x/net v0.38.0 - golang.org/x/oauth2 v0.23.0 + golang.org/x/crypto v0.48.0 + golang.org/x/net v0.49.0 + golang.org/x/oauth2 v0.35.0 // Added to include security fix for // https://github.com/golang/go/issues/56152 - golang.org/x/text v0.23.0 // indirect + golang.org/x/text v0.34.0 // indirect golang.org/x/time v0.7.0 gopkg.in/yaml.v2 v2.4.0 k8s.io/api v0.32.3 @@ -61,7 +61,7 @@ require ( require ( github.com/go-test/deep v1.1.0 github.com/minio/kes-go v0.2.1 - golang.org/x/mod v0.21.0 + golang.org/x/mod v0.32.0 sigs.k8s.io/controller-runtime v0.20.4 ) @@ -85,7 +85,6 @@ require ( github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect github.com/docker/distribution v2.8.2+incompatible // indirect - github.com/docker/docker v27.1.2+incompatible // indirect github.com/docker/docker-credential-helpers v0.7.0 // indirect github.com/docker/go-units v0.5.0 // indirect github.com/emicklei/go-restful/v3 v3.11.3 // indirect @@ -181,10 +180,11 @@ require ( go.mongodb.org/mongo-driver v1.13.1 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/sync v0.12.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/tools v0.26.0 // indirect + golang.org/x/sync v0.19.0 // indirect + golang.org/x/sys v0.41.0 // indirect + golang.org/x/term v0.40.0 // indirect + golang.org/x/tools v0.41.0 // indirect + golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240826202546-f6391c0de4c7 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240826202546-f6391c0de4c7 // indirect google.golang.org/grpc v1.65.0 // indirect diff --git a/go.sum b/go.sum index f822521a541..22deee79a18 100644 --- a/go.sum +++ b/go.sum @@ -43,12 +43,10 @@ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8Yc github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 h1:8UrgZ3GkP4i/CLijOJx79Yu+etlyjdBU4sfcs2WYQMs= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= -github.com/docker/cli v24.0.7+incompatible h1:wa/nIwYFW7BVTGa7SWPVyyXU9lgORqUb1xfI36MSkFg= -github.com/docker/cli v24.0.7+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v29.2.0+incompatible h1:9oBd9+YM7rxjZLfyMGxjraKBKE4/nVyvVfN4qNl9XRM= +github.com/docker/cli v29.2.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v27.1.2+incompatible h1:AhGzR1xaQIy53qCkxARaFluI00WPGtXn0AJuoQsVYTY= -github.com/docker/docker v27.1.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.7.0 h1:xtCHsjxogADNZcdv1pKUHXryefjlVRqWqIhk/uXJp0A= github.com/docker/docker-credential-helpers v0.7.0/go.mod h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= @@ -401,14 +399,14 @@ golang.org/x/crypto v0.0.0-20211209193657-4570a0811e8b/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= -golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= +golang.org/x/crypto v0.48.0 h1:/VRzVqiRSggnhY7gNRxPauEQ5Drw9haKdM0jqfcCFts= +golang.org/x/crypto v0.48.0/go.mod h1:r0kV5h3qnFPlQnBSrULhlsRfryS2pmewsg+XfMgkVos= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0= -golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= +golang.org/x/mod v0.32.0 h1:9F4d3PHLljb6x//jOyokMv3eX+YDeepZSEo3mFJy93c= +golang.org/x/mod v0.32.0/go.mod h1:SgipZ/3h2Ci89DlEtEXWUk/HteuRin+HHhN+WbNhguU= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -419,18 +417,18 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs= -golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o= +golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8= +golang.org/x/oauth2 v0.35.0 h1:Mv2mzuHuZuY2+bkyWXIHMfhNdJAdwW3FuWeCPYN5GVQ= +golang.org/x/oauth2 v0.35.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw= -golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= +golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20180926160741-c2ed4eda69e7/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190130150945-aca44879d564/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -459,8 +457,8 @@ golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k= +golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -469,8 +467,8 @@ golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= +golang.org/x/term v0.40.0 h1:36e4zGLqU4yhjlmxEaagx2KuYbJq3EwY8K943ZsHcvg= +golang.org/x/term v0.40.0/go.mod h1:w2P8uVp06p2iyKKuvXIm7N/y0UCRt3UfJTfZ7oOpglM= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -479,8 +477,8 @@ golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= +golang.org/x/text v0.34.0 h1:oL/Qq0Kdaqxa1KbNeMKwQq0reLCCaFtqu2eNuSeNHbk= +golang.org/x/text v0.34.0/go.mod h1:homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA= golang.org/x/time v0.7.0 h1:ntUhktv3OPE6TgYxXWv9vKvUSJyIFJlyohwbkEwPrKQ= golang.org/x/time v0.7.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -489,8 +487,12 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.26.0 h1:v/60pFQmzmT9ExmjDv2gGIfi3OqfKoEP6I5+umXlbnQ= -golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0= +golang.org/x/tools v0.41.0 h1:a9b8iMweWG+S0OBnlU36rzLp20z1Rp10w+IY2czHTQc= +golang.org/x/tools v0.41.0/go.mod h1:XSY6eDqxVNiYgezAVqqCeihT4j1U2CCsqvH3WhQpnlg= +golang.org/x/tools/go/expect v0.1.0-deprecated h1:jY2C5HGYR5lqex3gEniOQL0r7Dq5+VGVgY1nudX5lXY= +golang.org/x/tools/go/expect v0.1.0-deprecated/go.mod h1:eihoPOH+FgIqa3FpoTwguz/bVUSGBlGQU67vpBeOrBY= +golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated h1:1h2MnaIAIXISqTFKdENegdpAgUXz6NrPEsbIeWaBRvM= +golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated/go.mod h1:RVAQXBGNv1ib0J382/DPCRS/BPnsGebyM1Gj5VSDpG8= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/helm/operator/values.yaml b/helm/operator/values.yaml index b86b288c8a5..1aae26935e0 100644 --- a/helm/operator/values.yaml +++ b/helm/operator/values.yaml @@ -37,14 +37,14 @@ operator: ### # Specify the Operator container image to use for the deployment. # ``image.tag`` - # For example, the following sets the image to the ``quay.io/minio/operator`` repo and the v5.0.17 tag. + # For example, the following sets the image to the ``quay.io/minio/operator`` repo and the v5.0.19 tag. # The container pulls the image if not already present: # # .. code-block:: yaml # # image: # repository: quay.io/minio/operator - # tag: v5.0.17 + # tag: v5.0.19 # pullPolicy: IfNotPresent # # The chart also supports specifying an image based on digest value: @@ -58,7 +58,7 @@ operator: # image: repository: quay.io/minio/operator - tag: v5.0.17 + tag: v5.0.19 pullPolicy: IfNotPresent ### # @@ -184,14 +184,14 @@ console: ### # Specify the Operator Console container image to use for the deployment. # ``image.tag`` - # For example, the following sets the image to the ``quay.io/minio/operator`` repo and the v5.0.17 tag. + # For example, the following sets the image to the ``quay.io/minio/operator`` repo and the v5.0.19 tag. # The container pulls the image if not already present: # # .. code-block:: yaml # # image: # repository: quay.io/minio/operator - # tag: v5.0.17 + # tag: v5.0.19 # pullPolicy: IfNotPresent # # The chart also supports specifying an image based on digest value: @@ -206,7 +206,7 @@ console: # The specified values should match that of ``operator.image`` to ensure predictable operations. image: repository: quay.io/minio/operator - tag: v5.0.17 + tag: v5.0.19 pullPolicy: IfNotPresent ### # An array of environment variables to pass to the Operator Console deployment. diff --git a/pkg/apis/minio.min.io/v2/helper.go b/pkg/apis/minio.min.io/v2/helper.go index c2d674c2c32..53c20880d07 100644 --- a/pkg/apis/minio.min.io/v2/helper.go +++ b/pkg/apis/minio.min.io/v2/helper.go @@ -456,7 +456,7 @@ func (t *Tenant) TemplatedMinIOHosts(hostsTemplate string) (hosts []string) { tmpl, err := template.New("hosts").Parse(hostsTemplate) if err != nil { msg := "Invalid go template for hosts" - klog.V(2).Infof(msg) + klog.V(2).Info(msg) return hosts } var max, index int32 @@ -499,7 +499,7 @@ func (t *Tenant) ConsoleServerHost() string { func (t *Tenant) MinIOHeadlessServiceHost() string { if t.Spec.Pools[0].Servers == 1 { msg := "Please set the server count > 1" - klog.V(2).Infof(msg) + klog.V(2).Info(msg) return "" } return fmt.Sprintf("%s.%s.svc.%s", t.MinIOHLServiceName(), t.Namespace, GetClusterDomain()) diff --git a/pkg/controller/kes.go b/pkg/controller/kes.go index 52d312d8074..d31453c3baf 100644 --- a/pkg/controller/kes.go +++ b/pkg/controller/kes.go @@ -242,7 +242,7 @@ func (c *Controller) checkKESStatus(ctx context.Context, tenant *miniov2.Tenant, } klog.V(2).Infof("Creating a new KES StatefulSet for %q", nsName) if _, err = c.kubeClientSet.AppsV1().StatefulSets(tenant.Namespace).Create(ctx, ks, cOpts); err != nil { - klog.V(2).Infof(err.Error()) + klog.V(2).Info(err) c.recorder.Event(tenant, corev1.EventTypeWarning, "StsFailed", fmt.Sprintf("KES Statefulset failed to create: %s", err)) return err } diff --git a/pkg/controller/main-controller.go b/pkg/controller/main-controller.go index 5502a7321f4..59d1656bab1 100644 --- a/pkg/controller/main-controller.go +++ b/pkg/controller/main-controller.go @@ -784,7 +784,7 @@ func (c *Controller) syncHandler(key string) (Result, error) { if err != nil { if errors.Is(err, ErrEmptyRootCredentials) { if _, err2 := c.updateTenantStatus(ctx, tenant, err.Error(), 0); err2 != nil { - klog.V(2).Infof(err2.Error()) + klog.V(2).Info(err2) } c.recorder.Event(tenant, corev1.EventTypeWarning, "MissingCreds", "Tenant is missing root credentials") return WrapResult(Result{}, nil) @@ -807,10 +807,10 @@ func (c *Controller) syncHandler(key string) (Result, error) { // Validate the MinIO Tenant if err = tenant.Validate(); err != nil { - klog.V(2).Infof(err.Error()) + klog.V(2).Info(err) var err2 error if _, err2 = c.updateTenantStatus(ctx, tenant, err.Error(), 0); err2 != nil { - klog.V(2).Infof(err2.Error()) + klog.V(2).Info(err2) } // return nil so we don't re-queue this work item return WrapResult(Result{}, nil) @@ -840,20 +840,20 @@ func (c *Controller) syncHandler(key string) (Result, error) { autoCertEnabled = tenant.AutoCert() } if tenant, err = c.updateCertificatesStatus(ctx, tenant, autoCertEnabled); err != nil { - klog.V(2).Infof(err.Error()) + klog.V(2).Info(err) } } // Custom certificates if customCertificates, err := c.getCustomCertificates(ctx, tenant); err == nil { if newTenant, err := c.updateCustomCertificatesStatus(ctx, tenant, customCertificates); err != nil { - klog.V(2).Infof(err.Error()) + klog.V(2).Info(err) } else { // Only change tenant if there was no error, otherwise tenant is being deleted tenant = newTenant } } else { - klog.V(2).Infof(err.Error()) + klog.V(2).Info(err) } // validate the minio certificates diff --git a/pkg/controller/minio.go b/pkg/controller/minio.go index 6f182e96d7c..6c8a11dfb78 100644 --- a/pkg/controller/minio.go +++ b/pkg/controller/minio.go @@ -451,12 +451,12 @@ func (c *Controller) createMinIOClientCertificates(ctx context.Context, tenant * func (c *Controller) deleteOldConsoleDeployment(ctx context.Context, tenant *miniov2.Tenant, consoleDeployment string) error { err := c.kubeClientSet.AppsV1().Deployments(tenant.Namespace).Delete(ctx, consoleDeployment, metav1.DeleteOptions{}) if err != nil { - klog.V(2).Infof(err.Error()) + klog.V(2).Info(err) return err } err = c.kubeClientSet.CoreV1().Services(tenant.Namespace).Delete(ctx, tenant.ConsoleCIServiceName(), metav1.DeleteOptions{}) if err != nil { - klog.V(2).Infof(err.Error()) + klog.V(2).Info(err) return err } diff --git a/pkg/controller/operator.go b/pkg/controller/operator.go index 641c4e5bd8e..99afffbea1b 100644 --- a/pkg/controller/operator.go +++ b/pkg/controller/operator.go @@ -310,7 +310,7 @@ func (c *Controller) createUsers(ctx context.Context, tenant *miniov2.Tenant, te defer func() { if err == nil { if _, err = c.updateProvisionedUsersStatus(ctx, tenant, true); err != nil { - klog.V(2).Infof(err.Error()) + klog.V(2).Info(err) } } }() @@ -362,7 +362,7 @@ func (c *Controller) createBuckets(ctx context.Context, tenant *miniov2.Tenant, } if created { if _, err = c.updateProvisionedBucketStatus(ctx, tenant, true); err != nil { - klog.V(2).Infof(err.Error()) + klog.V(2).Info(err) } } return created, err diff --git a/pkg/controller/tls.go b/pkg/controller/tls.go index c29521fe23d..caa48fc13ab 100644 --- a/pkg/controller/tls.go +++ b/pkg/controller/tls.go @@ -52,7 +52,7 @@ func (c *Controller) waitForCertSecretReady(serviceName string, secretName strin klog.Infof("Waiting for the %s certificates secret to be issued", serviceName) time.Sleep(time.Second * 10) } else { - klog.Infof(err.Error()) + klog.Info(err) } } else { publicCertPath, publicKeyPath = c.writeCertSecretToFile(tlsCertSecret, serviceName) @@ -130,7 +130,7 @@ func (c *Controller) generateTLSCert(serviceName string, secretName string, depl } else { err = c.deleteCSR(ctx, csrName) if err != nil { - klog.Infof(err.Error()) + klog.Info(err) } } } diff --git a/pkg/internal/http.go b/pkg/internal/http.go index 8d5f93cd5a7..b3cdcef4db0 100644 --- a/pkg/internal/http.go +++ b/pkg/internal/http.go @@ -3,7 +3,6 @@ package http import ( "bytes" "encoding/xml" - "fmt" "net" "net/http" "net/url" @@ -141,7 +140,7 @@ func WriteResponse(w http.ResponseWriter, statusCode int, response []byte, mType } // Similar check to http.checkWriteHeaderCode if statusCode < 100 || statusCode > 999 { - klog.Errorf(fmt.Sprintf("invalid WriteHeader code %v", statusCode)) + klog.Errorf("invalid WriteHeader code %v", statusCode) statusCode = http.StatusInternalServerError } SetCommonHeaders(w) diff --git a/pkg/logger/target/http/http.go b/pkg/logger/target/http/http.go index fdfea9146cc..b242ec4800b 100644 --- a/pkg/logger/target/http/http.go +++ b/pkg/logger/target/http/http.go @@ -173,8 +173,8 @@ func (h *Target) logEntry(entry interface{}) { func (h *Target) startHTTPLogger() { // Create a routine which sends json logs received // from an internal channel. + h.wg.Add(1) go func() { - h.wg.Add(1) defer h.wg.Done() for entry := range h.logCh { h.logEntry(entry) diff --git a/testing/console-tenant+kes.sh b/testing/console-tenant+kes.sh index 38b0a8baa58..b0f63c2e7b2 100755 --- a/testing/console-tenant+kes.sh +++ b/testing/console-tenant+kes.sh @@ -135,7 +135,7 @@ function test_kes_tenant() { PASSWORD=$(kubectl -n tenant-kms-encrypted get secrets "$TENANT_CONFIG_SECRET" -o go-template='{{index .data "config.env"|base64decode }}' | grep 'export MINIO_ROOT_PASSWORD="' | sed -e 's/export MINIO_ROOT_PASSWORD="//g' | sed -e 's/"//g') totalwait=0 - until (mc config host add kestest https://localhost:9000 $USER $PASSWORD --insecure); do + until (mc alias set kestest https://localhost:9000 $USER $PASSWORD --insecure); do echo "...waiting... for 5secs" && sleep 5 totalwait=$((totalwait + 5))