Merge pull request #17609 from rook/mergify/bp/release-1.20/pr-17572
object: remove AWS SDK v1 dependency (backport #17572)
This commit is contained in:
11 files changed
+179
-221
No files matched your search
@@ -13,14 +13,13 @@ replace (
|
||||
)
|
||||
|
||||
require (
|
||||
github.com/IBM/keyprotect-go-client v0.15.1
|
||||
github.com/aws/aws-sdk-go v1.55.8
|
||||
github.com/aws/aws-sdk-go-v2 v1.41.5
|
||||
github.com/aws/aws-sdk-go-v2/config v1.32.14
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.19.14
|
||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.99.0
|
||||
github.com/aws/aws-sdk-go-v2/service/sns v1.39.15
|
||||
github.com/aws/smithy-go v1.24.3
|
||||
github.com/IBM/keyprotect-go-client v0.16.0
|
||||
github.com/aws/aws-sdk-go-v2 v1.41.7
|
||||
github.com/aws/aws-sdk-go-v2/config v1.32.18
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.19.17
|
||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.101.0
|
||||
github.com/aws/aws-sdk-go-v2/service/sns v1.39.17
|
||||
github.com/aws/smithy-go v1.25.1
|
||||
github.com/banzaicloud/k8s-objectmatcher v1.8.0
|
||||
github.com/ceph/ceph-csi-operator/api v0.0.0-20260527105556-70b2f7cfddf0
|
||||
github.com/ceph/ceph-csi/api v0.0.0-20241216133622-88b7e0d6684f
|
||||
@@ -72,20 +71,19 @@ require (
|
||||
github.com/AzureAD/microsoft-authentication-library-for-go v1.3.2 // indirect
|
||||
github.com/ansel1/merry v1.8.1 // indirect
|
||||
github.com/ansel1/merry/v2 v2.2.2 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.8 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.21 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.21 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.21 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.6 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.22 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.7 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.13 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.21 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.21 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/signin v1.0.9 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.30.15 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.19 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.41.10 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.10 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.23 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.23 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.23 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.24 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.9 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.15 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.23 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.23 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/signin v1.0.11 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.30.17 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.36.0 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.42.1 // indirect
|
||||
github.com/beorn7/perks v1.0.1 // indirect
|
||||
github.com/blang/semver/v4 v4.0.0 // indirect
|
||||
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
|
||||
@@ -134,7 +132,6 @@ require (
|
||||
github.com/hashicorp/vault/api/auth/approle v0.8.0 // indirect
|
||||
github.com/hashicorp/vault/api/auth/kubernetes v0.8.0 // indirect
|
||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||
github.com/jmespath/go-jmespath v0.4.0 // indirect
|
||||
github.com/json-iterator/go v1.1.12 // indirect
|
||||
github.com/kylelemons/godebug v1.1.0 // indirect
|
||||
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de // indirect
|
||||
|
||||
@@ -451,8 +451,8 @@ github.com/AzureAD/microsoft-authentication-library-for-go v1.3.2/go.mod h1:wP83
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
|
||||
github.com/IBM/keyprotect-go-client v0.5.1/go.mod h1:5TwDM/4FRJq1ZOlwQL1xFahLWQ3TveR88VmL1u3njyI=
|
||||
github.com/IBM/keyprotect-go-client v0.15.1 h1:m4qzqF5zOumRxKZ8s7vtK7A/UV/D278L8xpRG+WgT0s=
|
||||
github.com/IBM/keyprotect-go-client v0.15.1/go.mod h1:asXtHwL/4uCHA221Vd/7SkXEi2pcRHDzPyyksc1DthE=
|
||||
github.com/IBM/keyprotect-go-client v0.16.0 h1:FAel9YYJvRym4fuj/SIwtpT3RkDBJo+bLkMNzFEeSpA=
|
||||
github.com/IBM/keyprotect-go-client v0.16.0/go.mod h1:ya2yvOPBIgZUWiPDsHDgxeYrTy1pQk/70MY61k6Fdyw=
|
||||
github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0=
|
||||
github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
|
||||
github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
|
||||
@@ -488,48 +488,44 @@ github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkY
|
||||
github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
|
||||
github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
|
||||
github.com/aws/aws-sdk-go v1.44.164/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI=
|
||||
github.com/aws/aws-sdk-go v1.55.8 h1:JRmEUbU52aJQZ2AjX4q4Wu7t4uZjOu71uyNmaWlUkJQ=
|
||||
github.com/aws/aws-sdk-go v1.55.8/go.mod h1:ZkViS9AqA6otK+JBBNH2++sx1sgxrPKcSzPPvQkUtXk=
|
||||
github.com/aws/aws-sdk-go-v2 v1.41.5 h1:dj5kopbwUsVUVFgO4Fi5BIT3t4WyqIDjGKCangnV/yY=
|
||||
github.com/aws/aws-sdk-go-v2 v1.41.5/go.mod h1:mwsPRE8ceUUpiTgF7QmQIJ7lgsKUPQOUl3o72QBrE1o=
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.8 h1:eBMB84YGghSocM7PsjmmPffTa+1FBUeNvGvFou6V/4o=
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.8/go.mod h1:lyw7GFp3qENLh7kwzf7iMzAxDn+NzjXEAGjKS2UOKqI=
|
||||
github.com/aws/aws-sdk-go-v2/config v1.32.14 h1:opVIRo/ZbbI8OIqSOKmpFaY7IwfFUOCCXBsUpJOwDdI=
|
||||
github.com/aws/aws-sdk-go-v2/config v1.32.14/go.mod h1:U4/V0uKxh0Tl5sxmCBZ3AecYny4UNlVmObYjKuuaiOo=
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.19.14 h1:n+UcGWAIZHkXzYt87uMFBv/l8THYELoX6gVcUvgl6fI=
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.19.14/go.mod h1:cJKuyWB59Mqi0jM3nFYQRmnHVQIcgoxjEMAbLkpr62w=
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.21 h1:NUS3K4BTDArQqNu2ih7yeDLaS3bmHD0YndtA6UP884g=
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.21/go.mod h1:YWNWJQNjKigKY1RHVJCuupeWDrrHjRqHm0N9rdrWzYI=
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.21 h1:Rgg6wvjjtX8bNHcvi9OnXWwcE0a2vGpbwmtICOsvcf4=
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.21/go.mod h1:A/kJFst/nm//cyqonihbdpQZwiUhhzpqTsdbhDdRF9c=
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.21 h1:PEgGVtPoB6NTpPrBgqSE5hE/o47Ij9qk/SEZFbUOe9A=
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.21/go.mod h1:p+hz+PRAYlY3zcpJhPwXlLC4C+kqn70WIHwnzAfs6ps=
|
||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.6 h1:qYQ4pzQ2Oz6WpQ8T3HvGHnZydA72MnLuFK9tJwmrbHw=
|
||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.6/go.mod h1:O3h0IK87yXci+kg6flUKzJnWeziQUKciKrLjcatSNcY=
|
||||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.22 h1:rWyie/PxDRIdhNf4DzRk0lvjVOqFJuNnO8WwaIRVxzQ=
|
||||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.22/go.mod h1:zd/JsJ4P7oGfUhXn1VyLqaRZwPmZwg44Jf2dS84Dm3Y=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.7 h1:5EniKhLZe4xzL7a+fU3C2tfUN4nWIqlLesfrjkuPFTY=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.7/go.mod h1:x0nZssQ3qZSnIcePWLvcoFisRXJzcTVvYpAAdYX8+GI=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.13 h1:JRaIgADQS/U6uXDqlPiefP32yXTda7Kqfx+LgspooZM=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.13/go.mod h1:CEuVn5WqOMilYl+tbccq8+N2ieCy0gVn3OtRb0vBNNM=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.21 h1:c31//R3xgIJMSC8S6hEVq+38DcvUlgFY0FM6mSI5oto=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.21/go.mod h1:r6+pf23ouCB718FUxaqzZdbpYFyDtehyZcmP5KL9FkA=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.21 h1:ZlvrNcHSFFWURB8avufQq9gFsheUgjVD9536obIknfM=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.21/go.mod h1:cv3TNhVrssKR0O/xxLJVRfd2oazSnZnkUeTf6ctUwfQ=
|
||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.99.0 h1:hlSuz394kV0vhv9drL5lhuEFbEOEP1VyQpy15qWh1Pk=
|
||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.99.0/go.mod h1:uoA43SdFwacedBfSgfFSjjCvYe8aYBS7EnU5GZ/YKMM=
|
||||
github.com/aws/aws-sdk-go-v2/service/signin v1.0.9 h1:QKZH0S178gCmFEgst8hN0mCX1KxLgHBKKY/CLqwP8lg=
|
||||
github.com/aws/aws-sdk-go-v2/service/signin v1.0.9/go.mod h1:7yuQJoT+OoH8aqIxw9vwF+8KpvLZ8AWmvmUWHsGQZvI=
|
||||
github.com/aws/aws-sdk-go-v2/service/sns v1.39.15 h1:rOWMUrXJPcTXnk75ja6Bxv1P+j83dPhIWjfJ2cujj34=
|
||||
github.com/aws/aws-sdk-go-v2/service/sns v1.39.15/go.mod h1:4exx1wZR0pe+WcMbas8OZ2krRrBbW7IUUvLXCCQbjkg=
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.30.15 h1:lFd1+ZSEYJZYvv9d6kXzhkZu07si3f+GQ1AaYwa2LUM=
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.30.15/go.mod h1:WSvS1NLr7JaPunCXqpJnWk1Bjo7IxzZXrZi1QQCkuqM=
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.19 h1:dzztQ1YmfPrxdrOiuZRMF6fuOwWlWpD2StNLTceKpys=
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.19/go.mod h1:YO8TrYtFdl5w/4vmjL8zaBSsiNp3w0L1FfKVKenZT7w=
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.41.10 h1:p8ogvvLugcR/zLBXTXrTkj0RYBUdErbMnAFFp12Lm/U=
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.41.10/go.mod h1:60dv0eZJfeVXfbT1tFJinbHrDfSJ2GZl4Q//OSSNAVw=
|
||||
github.com/aws/smithy-go v1.24.3 h1:XgOAaUgx+HhVBoP4v8n6HCQoTRDhoMghKqw4LNHsDNg=
|
||||
github.com/aws/smithy-go v1.24.3/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc=
|
||||
github.com/aws/aws-sdk-go-v2 v1.41.7 h1:DWpAJt66FmnnaRIOT/8ASTucrvuDPZASqhhLey6tLY8=
|
||||
github.com/aws/aws-sdk-go-v2 v1.41.7/go.mod h1:4LAfZOPHNVNQEckOACQx60Y8pSRjIkNZQz1w92xpMJc=
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.10 h1:gx1AwW1Iyk9Z9dD9F4akX5gnN3QZwUB20GGKH/I+Rho=
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.10/go.mod h1:qqY157uZoqm5OXq/amuaBJyC9hgBCBQnsaWnPe905GY=
|
||||
github.com/aws/aws-sdk-go-v2/config v1.32.18 h1:Hcia46bxhGgF3BaSnG8nSNCWmqTK6bj9xN9/FJ3WK6Q=
|
||||
github.com/aws/aws-sdk-go-v2/config v1.32.18/go.mod h1:zEjCAYmxqDadH1WX8CdBvmLKhUEUVFgKRQG38zjDmrY=
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.19.17 h1:gP2nkGsS+KMvF/jfFz2Vv2qiiOqWKyPACSzPsqHgoW8=
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.19.17/go.mod h1:Bsew3S/moG5iT77giPj1q8wb/s0RE5/QfH+ASjYtuQc=
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.23 h1:UuSfcORqNSz/ey3VPRS8TcVH2Ikf0/sC+Hdj400QI6U=
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.23/go.mod h1:+G/OSGiOFnSOkYloKj/9M35s74LgVAdJBSD5lsFfqKg=
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.23 h1:GpT/TrnBYuE5gan2cZbTtvP+JlHsutdmlV2YfEyNde0=
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.23/go.mod h1:xYWD6BS9ywC5bS3sz9Xh04whO/hzK2plt2Zkyrp4JuA=
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.23 h1:bpd8vxhlQi2r1hiueOw02f/duEPTMK59Q4QMAoTTtTo=
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.23/go.mod h1:15DfR2nw+CRHIk0tqNyifu3G1YdAOy68RftkhMDDwYk=
|
||||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.24 h1:OQqn11BtaYv1WLUowvcA30MpzIu8Ti4pcLPIIyoKZrA=
|
||||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.24/go.mod h1:X5ZJyfwVrWA96GzPmUCWFQaEARPR7gCrpq2E92PJwAE=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.9 h1:FLudkZLt5ci0ozzgkVo8BJGwvqNaZbTWb3UcucAateA=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.9/go.mod h1:w7wZ/s9qK7c8g4al+UyoF1Sp/Z45UwMGcqIzLWVQHWk=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.15 h1:ieLCO1JxUWuxTZ1cRd0GAaeX7O6cIxnwk7tc1LsQhC4=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.15/go.mod h1:e3IzZvQ3kAWNykvE0Tr0RDZCMFInMvhku3qNpcIQXhM=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.23 h1:pbrxO/kuIwgEsOPLkaHu0O+m4fNgLU8B3vxQ+72jTPw=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.23/go.mod h1:/CMNUqoj46HpS3MNRDEDIwcgEnrtZlKRaHNaHxIFpNA=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.23 h1:03xatSQO4+AM1lTAbnRg5OK528EUg744nW7F73U8DKw=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.23/go.mod h1:M8l3mwgx5ToK7wot2sBBce/ojzgnPzZXUV445gTSyE8=
|
||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.101.0 h1:etqBTKY581iwLL/H/S2sVgk3C9lAsTJFeXWFDsDcWOU=
|
||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.101.0/go.mod h1:L2dcoOgS2VSgbPLvpak2NyUPsO1TBN7M45Z4H7DlRc4=
|
||||
github.com/aws/aws-sdk-go-v2/service/signin v1.0.11 h1:TdJ+HdzOBhU8+iVAOGUTU63VXopcumCOF1paFulHWZc=
|
||||
github.com/aws/aws-sdk-go-v2/service/signin v1.0.11/go.mod h1:R82ZRExE/nheo0N+T8zHPcLRTcH8MGsnR3BiVGX0TwI=
|
||||
github.com/aws/aws-sdk-go-v2/service/sns v1.39.17 h1:synXIPC/L4Cc489P0XDcrVJzHSLj7krKRpFLalbGM2k=
|
||||
github.com/aws/aws-sdk-go-v2/service/sns v1.39.17/go.mod h1:4ABZnI23uNK37waIjGwkubnCwGhepIt9x1GvASfljJA=
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.30.17 h1:7byT8HUWrgoRp6sXjxtZwgOKfhss5fW6SkLBtqzgRoE=
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.30.17/go.mod h1:xNWknVi4Ezm1vg1QsB/5EWpAJURq22uqd38U8qKvOJc=
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.36.0 h1:nDARhv/oF55bcxF7rCI/4PDxOKnVXVWwDuDwCs2I2SQ=
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.36.0/go.mod h1:4vIRDq+CJB2xFAXZ+YgGUTiEft7oAQlhIs71xcSeuVg=
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.42.1 h1:F/M5Y9I3nwr2IEpshZgh1GeHpOItExNM9L1euNuh/fk=
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.42.1/go.mod h1:mTNxImtovCOEEuD65mKW7DCsL+2gjEH+RPEAexAzAio=
|
||||
github.com/aws/smithy-go v1.25.1 h1:J8ERsGSU7d+aCmdQur5Txg6bVoYelvQJgtZehD12GkI=
|
||||
github.com/aws/smithy-go v1.25.1/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc=
|
||||
github.com/banzaicloud/k8s-objectmatcher v1.8.0 h1:Nugn25elKtPMTA2br+JgHNeSQ04sc05MDPmpJnd1N2A=
|
||||
github.com/banzaicloud/k8s-objectmatcher v1.8.0/go.mod h1:p2LSNAjlECf07fbhDyebTkPUIYnU05G+WfGgkTmgeMg=
|
||||
github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
|
||||
@@ -654,8 +650,6 @@ github.com/evanphx/json-patch v5.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLi
|
||||
github.com/evanphx/json-patch/v5 v5.9.11 h1:/8HVnzMq13/3x9TPvjG08wUGqBTmZBsCWzjTM0wiaDU=
|
||||
github.com/evanphx/json-patch/v5 v5.9.11/go.mod h1:3j+LviiESTElxA4p3EMKAB9HXj3/XEtnUf6OZxqIQTM=
|
||||
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
|
||||
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
|
||||
github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE=
|
||||
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
|
||||
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
|
||||
github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k=
|
||||
@@ -955,7 +949,6 @@ github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9
|
||||
github.com/hashicorp/go-retryablehttp v0.6.2/go.mod h1:gEx6HMUGxYYhJScX7W1Il64m6cc2C1mDaW3NQ9sY1FY=
|
||||
github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY=
|
||||
github.com/hashicorp/go-retryablehttp v0.7.1/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY=
|
||||
github.com/hashicorp/go-retryablehttp v0.7.7/go.mod h1:pkQpWZeYWskR+D1tR2O5OcBFOxfA7DoAO6xtkuQnHTk=
|
||||
github.com/hashicorp/go-retryablehttp v0.7.8 h1:ylXZWnqa7Lhqpk0L1P1LzDtGcCR0rPVUrx/c8Unxc48=
|
||||
github.com/hashicorp/go-retryablehttp v0.7.8/go.mod h1:rjiScheydd+CxvumBsIrFKlx3iS0jrZ7LvzFGFmuKbw=
|
||||
github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU=
|
||||
@@ -1006,9 +999,7 @@ github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK
|
||||
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
|
||||
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
|
||||
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
||||
github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
|
||||
github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
|
||||
github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
|
||||
github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
|
||||
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
|
||||
github.com/json-iterator/go v1.1.5/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
|
||||
@@ -1074,9 +1065,6 @@ github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaO
|
||||
github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
|
||||
github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
|
||||
github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
|
||||
github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
|
||||
github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
|
||||
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
|
||||
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
|
||||
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
|
||||
github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
|
||||
@@ -1085,8 +1073,6 @@ github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hd
|
||||
github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84=
|
||||
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
|
||||
github.com/mattn/go-isatty v0.0.13/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
|
||||
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
|
||||
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
|
||||
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
|
||||
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||
github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
|
||||
@@ -1316,11 +1302,9 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5
|
||||
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals=
|
||||
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
|
||||
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
|
||||
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
||||
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
|
||||
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
|
||||
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
|
||||
@@ -1669,7 +1653,6 @@ golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBc
|
||||
golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
@@ -1690,7 +1673,6 @@ golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBc
|
||||
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
@@ -1700,9 +1682,7 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.45.0 h1:dO4czNzziLiiXplLQgBCEpCvXQ3dnkn0SdaZSYdQ+FY=
|
||||
golang.org/x/sys v0.45.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
|
||||
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
|
||||
|
||||
@@ -23,7 +23,7 @@ import (
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
s3v2 "github.com/aws/aws-sdk-go-v2/service/s3"
|
||||
"github.com/aws/aws-sdk-go-v2/service/s3"
|
||||
s3types "github.com/aws/aws-sdk-go-v2/service/s3/types"
|
||||
smithy "github.com/aws/smithy-go"
|
||||
"github.com/ceph/go-ceph/rgw/admin"
|
||||
@@ -765,10 +765,10 @@ func (p *Provisioner) setBucketPolicy(bucket *bucket) error {
|
||||
additionalConfig := bucket.additionalConfig
|
||||
ctx := context.TODO()
|
||||
|
||||
svc := p.s3Agent.ClientV2
|
||||
svc := p.s3Agent.Client
|
||||
var livePolicy *string
|
||||
|
||||
policyResp, err := svc.GetBucketPolicy(ctx, &s3v2.GetBucketPolicyInput{
|
||||
policyResp, err := svc.GetBucketPolicy(ctx, &s3.GetBucketPolicyInput{
|
||||
Bucket: &p.bucketName,
|
||||
})
|
||||
if err != nil {
|
||||
@@ -790,14 +790,14 @@ func (p *Provisioner) setBucketPolicy(bucket *bucket) error {
|
||||
|
||||
log.NamedDebug(nsName, logger, "Policy for bucket %q has changed. diff:%s", p.bucketName, diff)
|
||||
if additionalConfig.bucketPolicy == nil {
|
||||
_, err = svc.DeleteBucketPolicy(ctx, &s3v2.DeleteBucketPolicyInput{
|
||||
_, err = svc.DeleteBucketPolicy(ctx, &s3.DeleteBucketPolicyInput{
|
||||
Bucket: &p.bucketName,
|
||||
})
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "failed to delete policy for bucket %q", p.bucketName)
|
||||
}
|
||||
} else {
|
||||
_, err = svc.PutBucketPolicy(ctx, &s3v2.PutBucketPolicyInput{
|
||||
_, err = svc.PutBucketPolicy(ctx, &s3.PutBucketPolicyInput{
|
||||
Bucket: &p.bucketName,
|
||||
Policy: additionalConfig.bucketPolicy,
|
||||
})
|
||||
@@ -814,10 +814,10 @@ func (p *Provisioner) setBucketLifecycle(bucket *bucket) error {
|
||||
additionalConfig := bucket.additionalConfig
|
||||
ctx := context.TODO()
|
||||
|
||||
svc := p.s3Agent.ClientV2
|
||||
var liveLc *s3v2.GetBucketLifecycleConfigurationOutput
|
||||
svc := p.s3Agent.Client
|
||||
var liveLc *s3.GetBucketLifecycleConfigurationOutput
|
||||
|
||||
liveLc, err := svc.GetBucketLifecycleConfiguration(ctx, &s3v2.GetBucketLifecycleConfigurationInput{
|
||||
liveLc, err := svc.GetBucketLifecycleConfiguration(ctx, &s3.GetBucketLifecycleConfigurationInput{
|
||||
Bucket: &p.bucketName,
|
||||
})
|
||||
if err != nil {
|
||||
@@ -868,14 +868,14 @@ func (p *Provisioner) setBucketLifecycle(bucket *bucket) error {
|
||||
|
||||
log.NamedDebug(nsName, logger, "Lifecycle configuration for bucket %q has changed. diff:%s", p.bucketName, diff)
|
||||
if additionalConfig.bucketLifecycle == nil {
|
||||
_, err = svc.DeleteBucketLifecycle(ctx, &s3v2.DeleteBucketLifecycleInput{
|
||||
_, err = svc.DeleteBucketLifecycle(ctx, &s3.DeleteBucketLifecycleInput{
|
||||
Bucket: &p.bucketName,
|
||||
})
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "failed to delete lifecycle configuration for bucket %q", p.bucketName)
|
||||
}
|
||||
} else {
|
||||
_, err = svc.PutBucketLifecycleConfiguration(ctx, &s3v2.PutBucketLifecycleConfigurationInput{
|
||||
_, err = svc.PutBucketLifecycleConfiguration(ctx, &s3.PutBucketLifecycleConfigurationInput{
|
||||
Bucket: &p.bucketName,
|
||||
LifecycleConfiguration: confLc,
|
||||
})
|
||||
|
||||
@@ -26,7 +26,7 @@ import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go-v2/aws"
|
||||
"github.com/ceph/go-ceph/rgw/admin"
|
||||
cephv1 "github.com/rook/rook/pkg/apis/ceph.rook.io/v1"
|
||||
rookclient "github.com/rook/rook/pkg/client/clientset/versioned/fake"
|
||||
|
||||
@@ -20,7 +20,7 @@ package notification
|
||||
import (
|
||||
"context"
|
||||
|
||||
s3v2 "github.com/aws/aws-sdk-go-v2/service/s3"
|
||||
"github.com/aws/aws-sdk-go-v2/service/s3"
|
||||
s3types "github.com/aws/aws-sdk-go-v2/service/s3/types"
|
||||
"github.com/ceph/go-ceph/rgw/admin"
|
||||
"github.com/coreos/pkg/capnslog"
|
||||
@@ -144,7 +144,7 @@ var createNotification = func(p provisioner, bucket *bktv1alpha1.ObjectBucket, t
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "failed to create S3 agent for CephBucketNotification %q provisioning for bucket %q", bnName, bucketName)
|
||||
}
|
||||
_, err = s3Agent.ClientV2.PutBucketNotificationConfiguration(p.opManagerContext, &s3v2.PutBucketNotificationConfigurationInput{
|
||||
_, err = s3Agent.Client.PutBucketNotificationConfiguration(p.opManagerContext, &s3.PutBucketNotificationConfigurationInput{
|
||||
Bucket: &bucketName,
|
||||
NotificationConfiguration: &s3types.NotificationConfiguration{
|
||||
TopicConfigurations: []s3types.TopicConfiguration{
|
||||
@@ -176,7 +176,7 @@ var getAllRGWNotifications = func(p provisioner, ob *bktv1alpha1.ObjectBucket) (
|
||||
if err != nil {
|
||||
return nil, errors.Wrapf(err, "failed to create S3 agent for CephBucketNotification provisioning for bucket %q", bucketName)
|
||||
}
|
||||
nc, err := s3Agent.ClientV2.GetBucketNotificationConfiguration(p.opManagerContext, &s3v2.GetBucketNotificationConfigurationInput{
|
||||
nc, err := s3Agent.Client.GetBucketNotificationConfiguration(p.opManagerContext, &s3.GetBucketNotificationConfigurationInput{
|
||||
Bucket: &bucketName,
|
||||
ExpectedBucketOwner: &ownerName,
|
||||
})
|
||||
@@ -204,7 +204,7 @@ var deleteNotification = func(p provisioner, bucket *bktv1alpha1.ObjectBucket, n
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "failed to create S3 agent for deleting all bucket notifications from bucket %q", bucketName)
|
||||
}
|
||||
if err := DeleteBucketNotification(context.TODO(), s3Agent.ClientV2, &DeleteBucketNotificationRequestInput{
|
||||
if err := DeleteBucketNotification(context.TODO(), s3Agent.Client, &DeleteBucketNotificationRequestInput{
|
||||
Bucket: &bucket.Spec.Endpoint.BucketName,
|
||||
}, notificationId); err != nil {
|
||||
return errors.Wrapf(err, "failed to delete bucket notification %q from bucket %q", notificationId, bucketName)
|
||||
|
||||
@@ -25,7 +25,7 @@ import (
|
||||
"time"
|
||||
|
||||
v4signer "github.com/aws/aws-sdk-go-v2/aws/signer/v4"
|
||||
s3v2 "github.com/aws/aws-sdk-go-v2/service/s3"
|
||||
"github.com/aws/aws-sdk-go-v2/service/s3"
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
@@ -53,7 +53,7 @@ const emptyPayloadSHA256 = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495
|
||||
// bucket notification configuration. This is not part of the standard AWS S3
|
||||
// API, so we build and sign the HTTP request manually using the v2 client's
|
||||
// credentials and endpoint.
|
||||
func DeleteBucketNotification(ctx context.Context, client *s3v2.Client, input *DeleteBucketNotificationRequestInput, notificationId string) error {
|
||||
func DeleteBucketNotification(ctx context.Context, client *s3.Client, input *DeleteBucketNotificationRequestInput, notificationId string) error {
|
||||
if input == nil {
|
||||
input = &DeleteBucketNotificationRequestInput{}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
s3v2 "github.com/aws/aws-sdk-go-v2/service/s3"
|
||||
"github.com/aws/aws-sdk-go-v2/service/s3"
|
||||
"k8s.io/apimachinery/pkg/util/json"
|
||||
)
|
||||
|
||||
@@ -162,17 +162,17 @@ func NewBucketPolicy(ps ...PolicyStatement) *BucketPolicy {
|
||||
}
|
||||
|
||||
// PutBucketPolicy applies the policy to the bucket
|
||||
func (s *S3Agent) PutBucketPolicy(bucket string, policy BucketPolicy) (*s3v2.PutBucketPolicyOutput, error) {
|
||||
func (s *S3Agent) PutBucketPolicy(bucket string, policy BucketPolicy) (*s3.PutBucketPolicyOutput, error) {
|
||||
confirmRemoveSelfBucketAccess := false
|
||||
serializedPolicy, _ := json.Marshal(policy)
|
||||
consumablePolicy := string(serializedPolicy)
|
||||
|
||||
p := &s3v2.PutBucketPolicyInput{
|
||||
p := &s3.PutBucketPolicyInput{
|
||||
Bucket: &bucket,
|
||||
ConfirmRemoveSelfBucketAccess: &confirmRemoveSelfBucketAccess,
|
||||
Policy: &consumablePolicy,
|
||||
}
|
||||
out, err := s.ClientV2.PutBucketPolicy(context.TODO(), p)
|
||||
out, err := s.Client.PutBucketPolicy(context.TODO(), p)
|
||||
if err != nil {
|
||||
return out, err
|
||||
}
|
||||
@@ -180,7 +180,7 @@ func (s *S3Agent) PutBucketPolicy(bucket string, policy BucketPolicy) (*s3v2.Put
|
||||
}
|
||||
|
||||
func (s *S3Agent) GetBucketPolicy(bucket string) (*BucketPolicy, error) {
|
||||
out, err := s.ClientV2.GetBucketPolicy(context.TODO(), &s3v2.GetBucketPolicyInput{
|
||||
out, err := s.Client.GetBucketPolicy(context.TODO(), &s3.GetBucketPolicyInput{
|
||||
Bucket: &bucket,
|
||||
})
|
||||
if err != nil {
|
||||
|
||||
@@ -25,30 +25,25 @@ import (
|
||||
"net/url"
|
||||
"strings"
|
||||
|
||||
v2aws "github.com/aws/aws-sdk-go-v2/aws"
|
||||
v2creds "github.com/aws/aws-sdk-go-v2/credentials"
|
||||
s3v2 "github.com/aws/aws-sdk-go-v2/service/s3"
|
||||
"github.com/aws/aws-sdk-go-v2/aws"
|
||||
"github.com/aws/aws-sdk-go-v2/credentials"
|
||||
"github.com/aws/aws-sdk-go-v2/service/s3"
|
||||
s3types "github.com/aws/aws-sdk-go-v2/service/s3/types"
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/aws/credentials"
|
||||
awssession "github.com/aws/aws-sdk-go/aws/session"
|
||||
"github.com/aws/aws-sdk-go/service/s3"
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
// Region for aws golang sdk
|
||||
const CephRegion = "us-east-1"
|
||||
|
||||
// S3Agent wraps the s3.S3 structure to allow for wrapper methods
|
||||
// S3Agent wraps the S3 client to allow for wrapper methods
|
||||
type S3Agent struct {
|
||||
Client *s3.S3 // v1 client
|
||||
ClientV2 *s3v2.Client // v2 client
|
||||
Client *s3.Client
|
||||
}
|
||||
|
||||
func NewS3Agent(accessKey, secretKey, endpoint string, debug bool, tlsCert []byte, insecure bool, httpClient *http.Client) (*S3Agent, error) {
|
||||
logLevel := aws.LogOff
|
||||
var logMode aws.ClientLogMode
|
||||
if debug {
|
||||
logLevel = aws.LogDebug
|
||||
logMode = aws.LogSigning
|
||||
}
|
||||
|
||||
tlsEnabled := false
|
||||
@@ -64,28 +59,6 @@ func NewS3Agent(accessKey, secretKey, endpoint string, debug bool, tlsCert []byt
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------
|
||||
// SDK v1 client initialization
|
||||
// -----------------------------
|
||||
v1Session, err := awssession.NewSession(
|
||||
aws.NewConfig().
|
||||
WithRegion(CephRegion).
|
||||
WithCredentials(credentials.NewStaticCredentials(accessKey, secretKey, "")).
|
||||
WithEndpoint(endpoint).
|
||||
WithS3ForcePathStyle(true).
|
||||
WithMaxRetries(5).
|
||||
WithDisableSSL(!tlsEnabled).
|
||||
WithHTTPClient(httpClient).
|
||||
WithLogLevel(logLevel),
|
||||
)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "failed to create v1 session")
|
||||
}
|
||||
v1Client := s3.New(v1Session)
|
||||
|
||||
// -----------------------------
|
||||
// SDK v2 client initialization
|
||||
// -----------------------------
|
||||
scheme := "http"
|
||||
if tlsEnabled {
|
||||
scheme = "https"
|
||||
@@ -94,24 +67,21 @@ func NewS3Agent(accessKey, secretKey, endpoint string, debug bool, tlsCert []byt
|
||||
if perr != nil || (u.Scheme != "http" && u.Scheme != "https") {
|
||||
u, _ = url.Parse(scheme + "://" + endpoint)
|
||||
}
|
||||
// Use the officially-supported v2 endpoint customization mechanism.
|
||||
// This keeps S3's internal endpoint customizations (including hostname handling)
|
||||
// consistent with the SDK's expectations, which is especially important for TLS.
|
||||
baseEndpoint := u.String()
|
||||
v2Cfg := v2aws.Config{
|
||||
cfg := aws.Config{
|
||||
Region: CephRegion,
|
||||
Credentials: v2aws.NewCredentialsCache(v2creds.NewStaticCredentialsProvider(accessKey, secretKey, "")),
|
||||
Credentials: aws.NewCredentialsCache(credentials.NewStaticCredentialsProvider(accessKey, secretKey, "")),
|
||||
HTTPClient: httpClient,
|
||||
BaseEndpoint: &baseEndpoint,
|
||||
RetryMaxAttempts: 5,
|
||||
RetryMode: v2aws.RetryModeStandard,
|
||||
RetryMode: aws.RetryModeStandard,
|
||||
ClientLogMode: logMode,
|
||||
}
|
||||
v2Client := s3v2.NewFromConfig(v2Cfg, func(o *s3v2.Options) {
|
||||
client := s3.NewFromConfig(cfg, func(o *s3.Options) {
|
||||
o.UsePathStyle = true
|
||||
})
|
||||
return &S3Agent{
|
||||
Client: v1Client,
|
||||
ClientV2: v2Client,
|
||||
Client: client,
|
||||
}, nil
|
||||
}
|
||||
|
||||
@@ -132,11 +102,11 @@ func (s *S3Agent) createBucket(name string, infoLogging bool) error {
|
||||
logger.Debugf("creating bucket %q", name)
|
||||
}
|
||||
|
||||
input := &s3v2.CreateBucketInput{
|
||||
input := &s3.CreateBucketInput{
|
||||
Bucket: &name,
|
||||
}
|
||||
|
||||
_, err := s.ClientV2.CreateBucket(context.TODO(), input)
|
||||
_, err := s.Client.CreateBucket(context.TODO(), input)
|
||||
if err != nil {
|
||||
var alreadyExists *s3types.BucketAlreadyExists
|
||||
var alreadyOwned *s3types.BucketAlreadyOwnedByYou
|
||||
@@ -157,7 +127,7 @@ func (s *S3Agent) createBucket(name string, infoLogging bool) error {
|
||||
|
||||
// DeleteBucket function deletes given bucket using s3 client
|
||||
func (s *S3Agent) DeleteBucket(name string) (bool, error) {
|
||||
_, err := s.ClientV2.DeleteBucket(context.TODO(), &s3v2.DeleteBucketInput{
|
||||
_, err := s.Client.DeleteBucket(context.TODO(), &s3.DeleteBucketInput{
|
||||
Bucket: &name,
|
||||
})
|
||||
if err != nil {
|
||||
@@ -171,7 +141,7 @@ func (s *S3Agent) DeleteBucket(name string) (bool, error) {
|
||||
func (s *S3Agent) PutObjectInBucket(bucketname string, body string, key string,
|
||||
contentType string,
|
||||
) (bool, error) {
|
||||
_, err := s.ClientV2.PutObject(context.TODO(), &s3v2.PutObjectInput{
|
||||
_, err := s.Client.PutObject(context.TODO(), &s3.PutObjectInput{
|
||||
Body: strings.NewReader(body),
|
||||
Bucket: &bucketname,
|
||||
Key: &key,
|
||||
@@ -186,7 +156,7 @@ func (s *S3Agent) PutObjectInBucket(bucketname string, body string, key string,
|
||||
|
||||
// GetObjectInBucket function retrieves an object from a bucket using s3 client
|
||||
func (s *S3Agent) GetObjectInBucket(bucketname string, key string) (string, error) {
|
||||
result, err := s.ClientV2.GetObject(context.TODO(), &s3v2.GetObjectInput{
|
||||
result, err := s.Client.GetObject(context.TODO(), &s3.GetObjectInput{
|
||||
Bucket: &bucketname,
|
||||
Key: &key,
|
||||
})
|
||||
@@ -205,7 +175,7 @@ func (s *S3Agent) GetObjectInBucket(bucketname string, key string) (string, erro
|
||||
|
||||
// DeleteObjectInBucket function deletes given bucket using s3 client
|
||||
func (s *S3Agent) DeleteObjectInBucket(bucketname string, key string) (bool, error) {
|
||||
_, err := s.ClientV2.DeleteObject(context.TODO(), &s3v2.DeleteObjectInput{
|
||||
_, err := s.Client.DeleteObject(context.TODO(), &s3.DeleteObjectInput{
|
||||
Bucket: &bucketname,
|
||||
Key: &key,
|
||||
})
|
||||
|
||||
@@ -20,7 +20,7 @@ import (
|
||||
"net/http"
|
||||
"testing"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go-v2/aws"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
@@ -34,34 +34,29 @@ func TestNewS3Agent(t *testing.T) {
|
||||
insecure := false
|
||||
s3Agent, err := NewS3Agent(accessKey, secretKey, endpoint, debug, nil, insecure, nil)
|
||||
assert.NoError(t, err)
|
||||
assert.NotEqual(t, aws.LogDebug, s3Agent.Client.Config.LogLevel)
|
||||
assert.Equal(t, nil, s3Agent.Client.Config.HTTPClient.Transport)
|
||||
assert.True(t, *s3Agent.Client.Config.DisableSSL)
|
||||
assert.NotNil(t, s3Agent.ClientV2)
|
||||
assert.Equal(t, "http://endpoint", *s3Agent.ClientV2.Options().BaseEndpoint)
|
||||
assert.NotNil(t, s3Agent.Client)
|
||||
assert.Equal(t, "http://endpoint", *s3Agent.Client.Options().BaseEndpoint)
|
||||
assert.Equal(t, aws.ClientLogMode(0), s3Agent.Client.Options().ClientLogMode)
|
||||
})
|
||||
t.Run("test with debug without tls", func(t *testing.T) {
|
||||
debug := true
|
||||
logLevel := aws.LogDebug
|
||||
insecure := false
|
||||
s3Agent, err := NewS3Agent(accessKey, secretKey, endpoint, debug, nil, insecure, nil)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, &logLevel, s3Agent.Client.Config.LogLevel)
|
||||
assert.Nil(t, s3Agent.Client.Config.HTTPClient.Transport)
|
||||
assert.True(t, *s3Agent.Client.Config.DisableSSL)
|
||||
assert.NotNil(t, s3Agent.ClientV2)
|
||||
assert.Equal(t, "http://endpoint", *s3Agent.ClientV2.Options().BaseEndpoint)
|
||||
assert.NotNil(t, s3Agent.Client)
|
||||
assert.Equal(t, "http://endpoint", *s3Agent.Client.Options().BaseEndpoint)
|
||||
assert.Equal(t, aws.LogSigning, s3Agent.Client.Options().ClientLogMode)
|
||||
})
|
||||
t.Run("test without tls client cert but insecure tls", func(t *testing.T) {
|
||||
debug := true
|
||||
insecure := true
|
||||
s3Agent, err := NewS3Agent(accessKey, secretKey, endpoint, debug, nil, insecure, nil)
|
||||
assert.NoError(t, err)
|
||||
assert.NotNil(t, s3Agent.Client.Config.HTTPClient.Transport.(*http.Transport).TLSClientConfig.RootCAs) // still includes sys certs
|
||||
assert.True(t, s3Agent.Client.Config.HTTPClient.Transport.(*http.Transport).TLSClientConfig.InsecureSkipVerify)
|
||||
assert.False(t, *s3Agent.Client.Config.DisableSSL)
|
||||
assert.NotNil(t, s3Agent.ClientV2)
|
||||
assert.Equal(t, "https://endpoint", *s3Agent.ClientV2.Options().BaseEndpoint)
|
||||
assert.NotNil(t, s3Agent.Client)
|
||||
assert.Equal(t, "https://endpoint", *s3Agent.Client.Options().BaseEndpoint)
|
||||
httpClient := s3Agent.Client.Options().HTTPClient.(*http.Client)
|
||||
assert.NotNil(t, httpClient.Transport.(*http.Transport).TLSClientConfig.RootCAs)
|
||||
assert.True(t, httpClient.Transport.(*http.Transport).TLSClientConfig.InsecureSkipVerify)
|
||||
})
|
||||
t.Run("test with secure tls client cert", func(t *testing.T) {
|
||||
debug := true
|
||||
@@ -69,10 +64,11 @@ func TestNewS3Agent(t *testing.T) {
|
||||
tlsCert := []byte("tlsCert")
|
||||
s3Agent, err := NewS3Agent(accessKey, secretKey, endpoint, debug, tlsCert, insecure, nil)
|
||||
assert.NoError(t, err)
|
||||
assert.NotNil(t, s3Agent.Client.Config.HTTPClient.Transport.(*http.Transport).TLSClientConfig.RootCAs)
|
||||
assert.False(t, *s3Agent.Client.Config.DisableSSL)
|
||||
assert.NotNil(t, s3Agent.ClientV2)
|
||||
assert.Equal(t, "https://endpoint", *s3Agent.ClientV2.Options().BaseEndpoint)
|
||||
assert.NotNil(t, s3Agent.Client)
|
||||
assert.Equal(t, "https://endpoint", *s3Agent.Client.Options().BaseEndpoint)
|
||||
httpClient := s3Agent.Client.Options().HTTPClient.(*http.Client)
|
||||
assert.NotNil(t, httpClient.Transport.(*http.Transport).TLSClientConfig.RootCAs)
|
||||
assert.False(t, httpClient.Transport.(*http.Transport).TLSClientConfig.InsecureSkipVerify)
|
||||
})
|
||||
t.Run("test with insecure tls client cert", func(t *testing.T) {
|
||||
debug := true
|
||||
@@ -80,15 +76,14 @@ func TestNewS3Agent(t *testing.T) {
|
||||
tlsCert := []byte("tlsCert")
|
||||
s3Agent, err := NewS3Agent(accessKey, secretKey, endpoint, debug, tlsCert, insecure, nil)
|
||||
assert.NoError(t, err)
|
||||
assert.NotNil(t, s3Agent.Client.Config.HTTPClient.Transport)
|
||||
assert.True(t, s3Agent.Client.Config.HTTPClient.Transport.(*http.Transport).TLSClientConfig.InsecureSkipVerify)
|
||||
assert.False(t, *s3Agent.Client.Config.DisableSSL)
|
||||
assert.NotNil(t, s3Agent.ClientV2)
|
||||
assert.Equal(t, "https://endpoint", *s3Agent.ClientV2.Options().BaseEndpoint)
|
||||
assert.NotNil(t, s3Agent.Client)
|
||||
assert.Equal(t, "https://endpoint", *s3Agent.Client.Options().BaseEndpoint)
|
||||
httpClient := s3Agent.Client.Options().HTTPClient.(*http.Client)
|
||||
assert.NotNil(t, httpClient.Transport)
|
||||
assert.True(t, httpClient.Transport.(*http.Transport).TLSClientConfig.InsecureSkipVerify)
|
||||
})
|
||||
t.Run("test with custom http.Client", func(t *testing.T) {
|
||||
debug := true
|
||||
logLevel := aws.LogDebug
|
||||
insecure := false
|
||||
httpClient := &http.Client{
|
||||
Transport: &http.Transport{
|
||||
@@ -99,32 +94,30 @@ func TestNewS3Agent(t *testing.T) {
|
||||
}
|
||||
s3Agent, err := NewS3Agent(accessKey, secretKey, endpoint, debug, nil, insecure, httpClient)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, &logLevel, s3Agent.Client.Config.LogLevel)
|
||||
assert.NotNil(t, s3Agent.Client.Config.HTTPClient.Transport)
|
||||
assert.True(t, *s3Agent.Client.Config.DisableSSL)
|
||||
transport := s3Agent.Client.Config.HTTPClient.Transport
|
||||
assert.Equal(t, 7, transport.(*http.Transport).MaxIdleConns)
|
||||
assert.Equal(t, 13, transport.(*http.Transport).MaxIdleConnsPerHost)
|
||||
assert.Equal(t, 17, transport.(*http.Transport).MaxConnsPerHost)
|
||||
assert.NotNil(t, s3Agent.ClientV2)
|
||||
assert.Equal(t, "http://endpoint", *s3Agent.ClientV2.Options().BaseEndpoint)
|
||||
assert.NotNil(t, s3Agent.Client)
|
||||
assert.Equal(t, "http://endpoint", *s3Agent.Client.Options().BaseEndpoint)
|
||||
resolvedClient := s3Agent.Client.Options().HTTPClient.(*http.Client)
|
||||
transport := resolvedClient.Transport.(*http.Transport)
|
||||
assert.Equal(t, 7, transport.MaxIdleConns)
|
||||
assert.Equal(t, 13, transport.MaxIdleConnsPerHost)
|
||||
assert.Equal(t, 17, transport.MaxConnsPerHost)
|
||||
})
|
||||
t.Run("v2 endpoint with host:port for TLS", func(t *testing.T) {
|
||||
t.Run("endpoint with host:port for TLS", func(t *testing.T) {
|
||||
ep := "rook-ceph-rgw-store.test-ns.svc:443"
|
||||
s3Agent, err := NewS3Agent(accessKey, secretKey, ep, false, nil, true, nil)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, "https://rook-ceph-rgw-store.test-ns.svc:443", *s3Agent.ClientV2.Options().BaseEndpoint)
|
||||
assert.Equal(t, "https://rook-ceph-rgw-store.test-ns.svc:443", *s3Agent.Client.Options().BaseEndpoint)
|
||||
})
|
||||
t.Run("v2 endpoint with host:port without TLS", func(t *testing.T) {
|
||||
t.Run("endpoint with host:port without TLS", func(t *testing.T) {
|
||||
ep := "rook-ceph-rgw-store.test-ns.svc:80"
|
||||
s3Agent, err := NewS3Agent(accessKey, secretKey, ep, false, nil, false, nil)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, "http://rook-ceph-rgw-store.test-ns.svc:80", *s3Agent.ClientV2.Options().BaseEndpoint)
|
||||
assert.Equal(t, "http://rook-ceph-rgw-store.test-ns.svc:80", *s3Agent.Client.Options().BaseEndpoint)
|
||||
})
|
||||
t.Run("v2 endpoint with full URL", func(t *testing.T) {
|
||||
t.Run("endpoint with full URL", func(t *testing.T) {
|
||||
ep := "https://rook-ceph-rgw-store.test-ns.svc:443"
|
||||
s3Agent, err := NewS3Agent(accessKey, secretKey, ep, false, nil, true, nil)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, "https://rook-ceph-rgw-store.test-ns.svc:443", *s3Agent.ClientV2.Options().BaseEndpoint)
|
||||
assert.Equal(t, "https://rook-ceph-rgw-store.test-ns.svc:443", *s3Agent.Client.Options().BaseEndpoint)
|
||||
})
|
||||
}
|
||||
@@ -21,7 +21,7 @@ import (
|
||||
b64 "encoding/base64"
|
||||
"fmt"
|
||||
|
||||
s3v2 "github.com/aws/aws-sdk-go-v2/service/s3"
|
||||
"github.com/aws/aws-sdk-go-v2/service/s3"
|
||||
bktv1alpha1 "github.com/kube-object-storage/lib-bucket-provisioner/pkg/apis/objectbucket.io/v1alpha1"
|
||||
rgw "github.com/rook/rook/pkg/operator/ceph/object"
|
||||
"github.com/rook/rook/tests/framework/installer"
|
||||
@@ -163,7 +163,7 @@ func (b *BucketOperation) CheckBucketNotificationSetonRGW(namespace, storeName,
|
||||
return false
|
||||
}
|
||||
logger.Infof("endpoint (%s) Accesskey (%s) secret (%s)", s3endpoint, s3AccessKey, s3SecretKey)
|
||||
notifications, err := s3client.ClientV2.GetBucketNotificationConfiguration(context.TODO(), &s3v2.GetBucketNotificationConfigurationInput{
|
||||
notifications, err := s3client.Client.GetBucketNotificationConfiguration(context.TODO(), &s3.GetBucketNotificationConfigurationInput{
|
||||
Bucket: &bucketname,
|
||||
})
|
||||
if err != nil {
|
||||
|
||||
@@ -19,20 +19,23 @@ package integration
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||
"github.com/aws/aws-sdk-go/service/s3"
|
||||
"github.com/aws/aws-sdk-go-v2/service/s3"
|
||||
s3types "github.com/aws/aws-sdk-go-v2/service/s3/types"
|
||||
smithy "github.com/aws/smithy-go"
|
||||
"github.com/google/go-cmp/cmp"
|
||||
"github.com/google/go-cmp/cmp/cmpopts"
|
||||
"github.com/kube-object-storage/lib-bucket-provisioner/pkg/apis/objectbucket.io/v1alpha1"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"github.com/stretchr/testify/suite"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/api/errors"
|
||||
k8serrors "k8s.io/apimachinery/pkg/api/errors"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
|
||||
cephv1 "github.com/rook/rook/pkg/apis/ceph.rook.io/v1"
|
||||
@@ -56,6 +59,20 @@ const (
|
||||
|
||||
var objectStoreServicePrefix = "rook-ceph-rgw-"
|
||||
|
||||
var lifecycleCmpOpts = cmp.Options{
|
||||
cmpopts.IgnoreUnexported(
|
||||
s3types.LifecycleRule{},
|
||||
s3types.LifecycleExpiration{},
|
||||
s3types.LifecycleRuleFilter{},
|
||||
s3types.LifecycleRuleAndOperator{},
|
||||
s3types.AbortIncompleteMultipartUpload{},
|
||||
s3types.NoncurrentVersionExpiration{},
|
||||
s3types.NoncurrentVersionTransition{},
|
||||
s3types.Transition{},
|
||||
s3types.Tag{},
|
||||
),
|
||||
}
|
||||
|
||||
func TestCephObjectSuite(t *testing.T) {
|
||||
s := new(ObjectSuite)
|
||||
defer func(s *ObjectSuite) {
|
||||
@@ -116,7 +133,7 @@ func (s *ObjectSuite) TestWithTLS() {
|
||||
func cleanUpTLS(s *ObjectSuite) {
|
||||
err := s.k8sh.Clientset.CoreV1().Secrets(s.settings.Namespace).Delete(context.TODO(), objectTLSSecretName, metav1.DeleteOptions{})
|
||||
if err != nil {
|
||||
if !errors.IsNotFound(err) {
|
||||
if !k8serrors.IsNotFound(err) {
|
||||
logger.Fatal("failed to deleted store TLS secret")
|
||||
}
|
||||
}
|
||||
@@ -604,7 +621,7 @@ func testObjectStoreOperations(s *suite.Suite, helper *clients.TestClient, k8sh
|
||||
})
|
||||
|
||||
t.Run("policy was applied verbatim to bucket", func(t *testing.T) {
|
||||
policyResp, err := s3client.Client.GetBucketPolicy(&s3.GetBucketPolicyInput{
|
||||
policyResp, err := s3client.Client.GetBucketPolicy(ctx, &s3.GetBucketPolicyInput{
|
||||
Bucket: &bucketName,
|
||||
})
|
||||
require.NoError(t, err)
|
||||
@@ -651,7 +668,7 @@ func testObjectStoreOperations(s *suite.Suite, helper *clients.TestClient, k8sh
|
||||
t.Run("policy update applied verbatim to bucket", func(t *testing.T) {
|
||||
var livePolicy string
|
||||
utils.Retry(20, time.Second, "policy changed", func() bool {
|
||||
policyResp, err := s3client.Client.GetBucketPolicy(&s3.GetBucketPolicyInput{
|
||||
policyResp, err := s3client.Client.GetBucketPolicy(ctx, &s3.GetBucketPolicyInput{
|
||||
Bucket: &bucketName,
|
||||
})
|
||||
if err != nil {
|
||||
@@ -704,15 +721,15 @@ func testObjectStoreOperations(s *suite.Suite, helper *clients.TestClient, k8sh
|
||||
t.Run("policy was removed from bucket", func(t *testing.T) {
|
||||
var err error
|
||||
utils.Retry(20, time.Second, "policy is gone", func() bool {
|
||||
_, err = s3client.Client.GetBucketPolicy(&s3.GetBucketPolicyInput{
|
||||
_, err = s3client.Client.GetBucketPolicy(ctx, &s3.GetBucketPolicyInput{
|
||||
Bucket: &bucketName,
|
||||
})
|
||||
return err != nil
|
||||
})
|
||||
require.Error(t, err)
|
||||
require.Implements(t, (*awserr.Error)(nil), err)
|
||||
aerr, _ := err.(awserr.Error)
|
||||
assert.Equal(t, aerr.Code(), "NoSuchBucketPolicy")
|
||||
var apiErr smithy.APIError
|
||||
require.True(t, errors.As(err, &apiErr))
|
||||
assert.Equal(t, "NoSuchBucketPolicy", apiErr.ErrorCode())
|
||||
})
|
||||
|
||||
t.Run("delete bucket", func(t *testing.T) {
|
||||
@@ -839,16 +856,16 @@ func testObjectStoreOperations(s *suite.Suite, helper *clients.TestClient, k8sh
|
||||
})
|
||||
|
||||
t.Run("lifecycle was applied verbatim to bucket", func(t *testing.T) {
|
||||
liveLc, err := s3client.Client.GetBucketLifecycleConfiguration(&s3.GetBucketLifecycleConfigurationInput{
|
||||
liveLc, err := s3client.Client.GetBucketLifecycleConfiguration(ctx, &s3.GetBucketLifecycleConfigurationInput{
|
||||
Bucket: &bucketName,
|
||||
})
|
||||
require.NoError(t, err)
|
||||
|
||||
confLc := &s3.GetBucketLifecycleConfigurationOutput{}
|
||||
confLc := &s3types.BucketLifecycleConfiguration{}
|
||||
err = json.Unmarshal([]byte(bucketLifecycle1), confLc)
|
||||
require.NoError(t, err)
|
||||
|
||||
assert.Equal(t, confLc, liveLc)
|
||||
assert.True(t, cmp.Equal(confLc.Rules, liveLc.Rules, lifecycleCmpOpts...), cmp.Diff(confLc.Rules, liveLc.Rules, lifecycleCmpOpts...))
|
||||
})
|
||||
|
||||
t.Run("update obc bucketLifecycle", func(t *testing.T) {
|
||||
@@ -891,21 +908,21 @@ func testObjectStoreOperations(s *suite.Suite, helper *clients.TestClient, k8sh
|
||||
t.Run("lifecycle update applied verbatim to bucket", func(t *testing.T) {
|
||||
var liveLc *s3.GetBucketLifecycleConfigurationOutput
|
||||
|
||||
confLc := &s3.GetBucketLifecycleConfigurationOutput{}
|
||||
confLc := &s3types.BucketLifecycleConfiguration{}
|
||||
err = json.Unmarshal([]byte(bucketLifecycle2), confLc)
|
||||
require.NoError(t, err)
|
||||
|
||||
utils.Retry(20, time.Second, "lifecycle changed", func() bool {
|
||||
liveLc, err = s3client.Client.GetBucketLifecycleConfiguration(&s3.GetBucketLifecycleConfigurationInput{
|
||||
liveLc, err = s3client.Client.GetBucketLifecycleConfiguration(ctx, &s3.GetBucketLifecycleConfigurationInput{
|
||||
Bucket: &bucketName,
|
||||
})
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
|
||||
return cmp.Equal(confLc, liveLc)
|
||||
return cmp.Equal(confLc.Rules, liveLc.Rules, lifecycleCmpOpts...)
|
||||
})
|
||||
assert.Equal(t, confLc, liveLc)
|
||||
assert.True(t, cmp.Equal(confLc.Rules, liveLc.Rules, lifecycleCmpOpts...), cmp.Diff(confLc.Rules, liveLc.Rules, lifecycleCmpOpts...))
|
||||
})
|
||||
|
||||
t.Run("remove obc bucketLifecycle", func(t *testing.T) {
|
||||
@@ -955,18 +972,19 @@ func testObjectStoreOperations(s *suite.Suite, helper *clients.TestClient, k8sh
|
||||
t.Skip("Waiting for rgw fix from regression in v19.2.3")
|
||||
}
|
||||
utils.Retry(20, time.Second, "lifecycle is gone", func() bool {
|
||||
_, err = s3client.Client.GetBucketLifecycleConfiguration(&s3.GetBucketLifecycleConfigurationInput{
|
||||
_, err = s3client.Client.GetBucketLifecycleConfiguration(ctx, &s3.GetBucketLifecycleConfigurationInput{
|
||||
Bucket: &bucketName,
|
||||
})
|
||||
if aerr, ok := err.(awserr.Error); ok {
|
||||
return aerr.Code() == "NoSuchLifecycleConfiguration"
|
||||
var apiErr smithy.APIError
|
||||
if errors.As(err, &apiErr) {
|
||||
return apiErr.ErrorCode() == "NoSuchLifecycleConfiguration"
|
||||
}
|
||||
return false
|
||||
})
|
||||
require.Error(t, err)
|
||||
require.Implements(t, (*awserr.Error)(nil), err)
|
||||
aerr, _ := err.(awserr.Error)
|
||||
assert.Equal(t, aerr.Code(), "NoSuchLifecycleConfiguration")
|
||||
var apiErr smithy.APIError
|
||||
require.True(t, errors.As(err, &apiErr))
|
||||
assert.Equal(t, "NoSuchLifecycleConfiguration", apiErr.ErrorCode())
|
||||
})
|
||||
|
||||
t.Run("delete bucket", func(t *testing.T) {
|
||||
|
||||
Reference in new issue
Block a user