Skip to content

Commit 042656e

Browse files
committed
Query params replicate-ilm-expiry and disable-ilm-expiry-replication
For enabling and disabling ILM expiry replication for site replication Signed-off-by: Shubhendu Ram Tripathi <shubhendu@minio.io>
1 parent 429dfb4 commit 042656e

File tree

5 files changed

+44
-27
lines changed

5 files changed

+44
-27
lines changed

go.mod

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ require (
2121
github.com/minio/cli v1.24.2
2222
github.com/minio/highwayhash v1.0.2
2323
github.com/minio/kes v0.22.3
24-
github.com/minio/madmin-go/v3 v3.0.18
24+
github.com/minio/madmin-go/v3 v3.0.21
2525
github.com/minio/mc v0.0.0-20230907224855-9dcef8825fae
2626
github.com/minio/minio-go/v7 v7.0.64-0.20230920204636-e783c9ba11b3
2727
github.com/minio/selfupdate v0.6.0
@@ -43,7 +43,7 @@ require (
4343

4444
require (
4545
github.com/mattn/go-ieproxy v0.0.11
46-
github.com/minio/pkg/v2 v2.0.1
46+
github.com/minio/pkg/v2 v2.0.2
4747
)
4848

4949
require (
@@ -145,12 +145,16 @@ require (
145145
golang.org/x/sys v0.12.0 // indirect
146146
golang.org/x/term v0.12.0 // indirect
147147
google.golang.org/appengine v1.6.8 // indirect
148-
google.golang.org/genproto v0.0.0-20230911183012-2d3300fd4832 // indirect
149-
google.golang.org/genproto/googleapis/api v0.0.0-20230911183012-2d3300fd4832 // indirect
150-
google.golang.org/genproto/googleapis/rpc v0.0.0-20230911183012-2d3300fd4832 // indirect
148+
google.golang.org/genproto v0.0.0-20230913181813-007df8e322eb // indirect
149+
google.golang.org/genproto/googleapis/api v0.0.0-20230913181813-007df8e322eb // indirect
150+
google.golang.org/genproto/googleapis/rpc v0.0.0-20230913181813-007df8e322eb // indirect
151151
google.golang.org/grpc v1.58.0 // indirect
152152
google.golang.org/protobuf v1.31.0 // indirect
153153
gopkg.in/h2non/filetype.v1 v1.0.5 // indirect
154154
gopkg.in/ini.v1 v1.67.0 // indirect
155155
gopkg.in/yaml.v3 v3.0.1 // indirect
156156
)
157+
158+
replace github.com/minio/madmin-go/v3 v3.0.21 => github.com/shtripat/madmin-go/v3 v3.0.0-20231006091630-335bf82eb9d9
159+
160+
replace github.com/minio/mc v0.0.0-20230907224855-9dcef8825fae => github.com/shtripat/mc v0.0.0-20231009060441-95b543540ac6

go.sum

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -241,17 +241,13 @@ github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA
241241
github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY=
242242
github.com/minio/kes v0.22.3 h1:aSPW9uCMVaLax5POxvoQJxCU4MNo/KzMXA7WfmC/lRw=
243243
github.com/minio/kes v0.22.3/go.mod h1:wnhmdwWX2rpurNPKn3yDFImg2wuc7j3e+IU5rVkR9UY=
244-
github.com/minio/madmin-go/v3 v3.0.18 h1:HuuuGf+uv6O3wlbx/VgIPjXGtVQXMrNk9qcrtE5VusU=
245-
github.com/minio/madmin-go/v3 v3.0.18/go.mod h1:B2EgtEGrfWx+AkXv+OAcS6IHwoIJcd1p75QfDPSPd6Q=
246-
github.com/minio/mc v0.0.0-20230907224855-9dcef8825fae h1:LteOWEz6ZnP8hm6AEScDmnyxyJLUe7v1f/cPHmOpkV8=
247-
github.com/minio/mc v0.0.0-20230907224855-9dcef8825fae/go.mod h1:M/RN4OtnloGZLgLd/HicgzoEQdYXYz0taYqZzoBqVrc=
248244
github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34=
249245
github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM=
250246
github.com/minio/minio-go/v7 v7.0.64-0.20230920204636-e783c9ba11b3 h1:0DtfDxg67S/IRcGnIBKgzyjZ0GXyk3jN1Fy5/+8CQlM=
251247
github.com/minio/minio-go/v7 v7.0.64-0.20230920204636-e783c9ba11b3/go.mod h1:Q6X7Qjb7WMhvG65qKf4gUgA5XaiSox74kR1uAEjxRS4=
252248
github.com/minio/mux v1.9.0 h1:dWafQFyEfGhJvK6AwLOt83bIG5bxKxKJnKMCi0XAaoA=
253-
github.com/minio/pkg/v2 v2.0.1 h1:MI3xMGCxoN5EEBRp98uEU5J0LlaF+8fLPtL8oHTHLX0=
254-
github.com/minio/pkg/v2 v2.0.1/go.mod h1:6xTAr5M9yobpUroXAAaTrGJ9fhOZIqKYOT0I87u2yZ4=
249+
github.com/minio/pkg/v2 v2.0.2 h1:cytXmC21fBNS+0NVKEE5FuYmQfY+HFTqis6Kkj3U9ac=
250+
github.com/minio/pkg/v2 v2.0.2/go.mod h1:6xTAr5M9yobpUroXAAaTrGJ9fhOZIqKYOT0I87u2yZ4=
255251
github.com/minio/selfupdate v0.6.0 h1:i76PgT0K5xO9+hjzKcacQtO7+MjJ4JKA8Ak8XQ9DDwU=
256252
github.com/minio/selfupdate v0.6.0/go.mod h1:bO02GTIPCMQFTEvE5h4DjYB58bCoZ35XLeBf0buTDdM=
257253
github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM=
@@ -338,6 +334,10 @@ github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFt
338334
github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ=
339335
github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU=
340336
github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k=
337+
github.com/shtripat/madmin-go/v3 v3.0.0-20231006091630-335bf82eb9d9 h1:Pr78fu/ly28Vh2YlCe6mP7NzCmucHObSS29FzMqvK8o=
338+
github.com/shtripat/madmin-go/v3 v3.0.0-20231006091630-335bf82eb9d9/go.mod h1:B2EgtEGrfWx+AkXv+OAcS6IHwoIJcd1p75QfDPSPd6Q=
339+
github.com/shtripat/mc v0.0.0-20231009060441-95b543540ac6 h1:MywCwWgCuAgmcDVIZZhoe9I+i0BGJ6kWkJ9CaXCPrTc=
340+
github.com/shtripat/mc v0.0.0-20231009060441-95b543540ac6/go.mod h1:a0eU0ocJ8EqNKGQ3+V+f9qIlQfkSDy5zb6JcqVVleVg=
341341
github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
342342
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
343343
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
@@ -520,12 +520,12 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T
520520
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
521521
google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM=
522522
google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds=
523-
google.golang.org/genproto v0.0.0-20230911183012-2d3300fd4832 h1:/30npZKtUjXqju7ZA2MsvpkGKD4mQFtf+zPnZasABjg=
524-
google.golang.org/genproto v0.0.0-20230911183012-2d3300fd4832/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4=
525-
google.golang.org/genproto/googleapis/api v0.0.0-20230911183012-2d3300fd4832 h1:4E7rZzBdR5LmiZx6n47Dg4AjH8JLhMQWywsYqvXNLcs=
526-
google.golang.org/genproto/googleapis/api v0.0.0-20230911183012-2d3300fd4832/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk=
527-
google.golang.org/genproto/googleapis/rpc v0.0.0-20230911183012-2d3300fd4832 h1:o4LtQxebKIJ4vkzyhtD2rfUNZ20Zf0ik5YVP5E7G7VE=
528-
google.golang.org/genproto/googleapis/rpc v0.0.0-20230911183012-2d3300fd4832/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
523+
google.golang.org/genproto v0.0.0-20230913181813-007df8e322eb h1:XFBgcDwm7irdHTbz4Zk2h7Mh+eis4nfJEFQFYzJzuIA=
524+
google.golang.org/genproto v0.0.0-20230913181813-007df8e322eb/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4=
525+
google.golang.org/genproto/googleapis/api v0.0.0-20230913181813-007df8e322eb h1:lK0oleSc7IQsUxO3U5TjL9DWlsxpEBemh+zpB7IqhWI=
526+
google.golang.org/genproto/googleapis/api v0.0.0-20230913181813-007df8e322eb/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk=
527+
google.golang.org/genproto/googleapis/rpc v0.0.0-20230913181813-007df8e322eb h1:Isk1sSH7bovx8Rti2wZK0UZF6oraBDK74uoyLEEVFN0=
528+
google.golang.org/genproto/googleapis/rpc v0.0.0-20230913181813-007df8e322eb/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
529529
google.golang.org/grpc v1.58.0 h1:32JY8YpPMSR45K+c3o6b8VL73V+rR8k+DeMIr4vRH8o=
530530
google.golang.org/grpc v1.58.0/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0=
531531
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=

restapi/admin_client_mock.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -317,11 +317,11 @@ func (ac AdminClientMock) getSiteReplicationInfo(ctx context.Context) (*madmin.S
317317
return getSiteReplicationInfo(ctx)
318318
}
319319

320-
func (ac AdminClientMock) addSiteReplicationInfo(ctx context.Context, sites []madmin.PeerSite) (*madmin.ReplicateAddStatus, error) {
320+
func (ac AdminClientMock) addSiteReplicationInfo(ctx context.Context, sites []madmin.PeerSite, _ madmin.SRAddOptions) (*madmin.ReplicateAddStatus, error) {
321321
return addSiteReplicationInfo(ctx, sites)
322322
}
323323

324-
func (ac AdminClientMock) editSiteReplicationInfo(ctx context.Context, site madmin.PeerInfo) (*madmin.ReplicateEditStatus, error) {
324+
func (ac AdminClientMock) editSiteReplicationInfo(ctx context.Context, site madmin.PeerInfo, _ madmin.SREditOptions) (*madmin.ReplicateEditStatus, error) {
325325
return editSiteReplicationInfo(ctx, site)
326326
}
327327

restapi/admin_site_replication.go

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package restapi
1919
import (
2020
"context"
2121

22+
"github.com/go-openapi/runtime"
2223
"github.com/go-openapi/runtime/middleware"
2324
"github.com/minio/console/models"
2425
"github.com/minio/console/restapi/operations"
@@ -162,7 +163,13 @@ func addSiteReplication(ctx context.Context, client MinioAdmin, params *siteRepA
162163
rSites = append(rSites, *pInfo)
163164
}
164165
}
165-
cc, err := client.addSiteReplicationInfo(ctx, rSites)
166+
qs := runtime.Values(params.HTTPRequest.URL.Query())
167+
_, qhkReplicateILMExpiry, _ := qs.GetOK("replicate-ilm-expiry")
168+
var opts madmin.SRAddOptions
169+
if qhkReplicateILMExpiry {
170+
opts.ReplicateILMExpiry = true
171+
}
172+
cc, err := client.addSiteReplicationInfo(ctx, rSites, opts)
166173
if err != nil {
167174
return nil, err
168175
}
@@ -183,7 +190,13 @@ func editSiteReplication(ctx context.Context, client MinioAdmin, params *siteRep
183190
Name: params.Body.Name, // does not get updated.
184191
DeploymentID: params.Body.DeploymentID, // readonly
185192
}
186-
eRes, err := client.editSiteReplicationInfo(ctx, *peerSiteInfo)
193+
qs := runtime.Values(params.HTTPRequest.URL.Query())
194+
_, qhkDisableILMExpiryReplication, _ := qs.GetOK("disable-ilm-expiry-replication")
195+
var opts madmin.SREditOptions
196+
if qhkDisableILMExpiryReplication {
197+
opts.DisableILMExpiryReplication = true
198+
}
199+
eRes, err := client.editSiteReplicationInfo(ctx, *peerSiteInfo, opts)
187200
if err != nil {
188201
return nil, err
189202
}

restapi/client-admin.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,8 @@ type MinioAdmin interface {
9898
speedtest(ctx context.Context, opts madmin.SpeedtestOpts) (chan madmin.SpeedTestResult, error)
9999
// Site Relication
100100
getSiteReplicationInfo(ctx context.Context) (*madmin.SiteReplicationInfo, error)
101-
addSiteReplicationInfo(ctx context.Context, sites []madmin.PeerSite) (*madmin.ReplicateAddStatus, error)
102-
editSiteReplicationInfo(ctx context.Context, site madmin.PeerInfo) (*madmin.ReplicateEditStatus, error)
101+
addSiteReplicationInfo(ctx context.Context, sites []madmin.PeerSite, opts madmin.SRAddOptions) (*madmin.ReplicateAddStatus, error)
102+
editSiteReplicationInfo(ctx context.Context, site madmin.PeerInfo, opts madmin.SREditOptions) (*madmin.ReplicateEditStatus, error)
103103
deleteSiteReplicationInfo(ctx context.Context, removeReq madmin.SRRemoveReq) (*madmin.ReplicateRemoveStatus, error)
104104

105105
// Replication status
@@ -580,8 +580,8 @@ func (ac AdminClient) getSiteReplicationInfo(ctx context.Context) (*madmin.SiteR
580580
}, nil
581581
}
582582

583-
func (ac AdminClient) addSiteReplicationInfo(ctx context.Context, sites []madmin.PeerSite) (*madmin.ReplicateAddStatus, error) {
584-
res, err := ac.Client.SiteReplicationAdd(ctx, sites)
583+
func (ac AdminClient) addSiteReplicationInfo(ctx context.Context, sites []madmin.PeerSite, opts madmin.SRAddOptions) (*madmin.ReplicateAddStatus, error) {
584+
res, err := ac.Client.SiteReplicationAdd(ctx, sites, opts)
585585
if err != nil {
586586
return nil, err
587587
}
@@ -594,8 +594,8 @@ func (ac AdminClient) addSiteReplicationInfo(ctx context.Context, sites []madmin
594594
}, nil
595595
}
596596

597-
func (ac AdminClient) editSiteReplicationInfo(ctx context.Context, site madmin.PeerInfo) (*madmin.ReplicateEditStatus, error) {
598-
res, err := ac.Client.SiteReplicationEdit(ctx, site)
597+
func (ac AdminClient) editSiteReplicationInfo(ctx context.Context, site madmin.PeerInfo, opts madmin.SREditOptions) (*madmin.ReplicateEditStatus, error) {
598+
res, err := ac.Client.SiteReplicationEdit(ctx, site, opts)
599599
if err != nil {
600600
return nil, err
601601
}

0 commit comments

Comments
 (0)