Skip to content

Commit f12dc0d

Browse files
fix: add bucketDetails for accountInfo()
also do not use AGPLv3 pkg/sys
1 parent 2c79afe commit f12dc0d

File tree

4 files changed

+36
-11
lines changed

4 files changed

+36
-11
lines changed

go.mod

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ require (
77
github.com/minio/minio-go/v7 v7.0.11-0.20210302210017-6ae69c73ce78
88
github.com/minio/sha256-simd v1.0.0 // indirect
99
github.com/philhofer/fwd v1.1.1 // indirect
10+
github.com/prometheus/procfs v0.7.3
1011
github.com/secure-io/sio-go v0.3.1
1112
github.com/shirou/gopsutil/v3 v3.21.6
1213
github.com/smartystreets/assertions v1.1.1 // indirect
@@ -15,6 +16,3 @@ require (
1516
golang.org/x/net v0.0.0-20210421230115-4e50805a0758
1617
gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 // indirect
1718
)
18-
19-
// incompatible APIs
20-
retract [v1.1.1, v1.1.2, v1.1.3]

go.sum

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25Kn
88
github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
99
github.com/go-ole/go-ole v1.2.4 h1:nNBDSCOigTSiarFpYE9J/KtEA1IOW4CNeqT9TQDqCxI=
1010
github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM=
11+
github.com/google/go-cmp v0.5.4 h1:L8R9j+yAqZuZjsqh/z+F1NCffTKKLShY6zXTItVIZ8M=
12+
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
1113
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
1214
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
1315
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8=
@@ -50,6 +52,8 @@ github.com/philhofer/fwd v1.1.1 h1:GdGcTjf5RNAxwS4QLsiMzJYj5KEvPJD3Abr261yRQXQ=
5052
github.com/philhofer/fwd v1.1.1/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU=
5153
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
5254
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
55+
github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU=
56+
github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
5357
github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ=
5458
github.com/secure-io/sio-go v0.3.1 h1:dNvY9awjabXTYGsTF1PiCySl9Ltofk9GA3VdWlo7rRc=
5559
github.com/secure-io/sio-go v0.3.1/go.mod h1:+xbkjDzPjwh4Axd07pRKSNriS9SCiYksWnZqdnfpQxs=
@@ -86,6 +90,7 @@ golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81R
8690
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
8791
golang.org/x/net v0.0.0-20210421230115-4e50805a0758 h1:aEpZnXcAmXkd6AvLb2OPt+EN1Zu/8Ne3pCqPjja5PXY=
8892
golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM=
93+
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
8994
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
9095
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
9196
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -94,6 +99,7 @@ golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7w
9499
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
95100
golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
96101
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
102+
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
97103
golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
98104
golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe h1:WdX7u8s3yOigWAhHEaDl8r9G+4XwFQEQFtBMYyN+kXQ=
99105
golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -103,6 +109,7 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
103109
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
104110
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
105111
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
112+
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
106113
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
107114
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
108115
gopkg.in/ini.v1 v1.57.0 h1:9unxIsFcTt4I55uWluz+UmL95q4kdJ0buvQ1ZIqVQww=

health.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import (
3030
"syscall"
3131
"time"
3232

33-
"github.com/minio/pkg/sys"
33+
"github.com/prometheus/procfs"
3434
"github.com/shirou/gopsutil/v3/cpu"
3535
"github.com/shirou/gopsutil/v3/disk"
3636
"github.com/shirou/gopsutil/v3/host"
@@ -306,11 +306,15 @@ func GetSysConfig(ctx context.Context, addr string) SysConfig {
306306
NodeCommon: NodeCommon{Addr: addr},
307307
Config: map[string]interface{}{},
308308
}
309-
_, maxLimit, err := sys.GetMaxOpenFileLimit()
309+
proc, err := procfs.Self()
310310
if err != nil {
311311
sc.Error = "rlimit: " + err.Error()
312312
} else {
313-
sc.Config["rlimit-max"] = maxLimit
313+
limits, err := proc.Limits()
314+
if err != nil {
315+
sc.Error = "rlimit: " + err.Error()
316+
}
317+
sc.Config["rlimit-max"] = limits.OpenFiles
314318
}
315319

316320
return sc

user-commands.go

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ import (
2323
"net/http"
2424
"net/url"
2525
"time"
26+
27+
"github.com/minio/minio-go/v7/pkg/tags"
2628
)
2729

2830
// AccountAccess contains information about
@@ -31,14 +33,28 @@ type AccountAccess struct {
3133
Write bool `json:"write"`
3234
}
3335

36+
// BucketDetails provides information about features currently
37+
// turned-on per bucket.
38+
type BucketDetails struct {
39+
Versioning bool `json:"versioning"`
40+
VersioningSuspended bool `json:"versioningSuspended"`
41+
Locking bool `json:"locking"`
42+
Replication bool `json:"replication"`
43+
Tagging *tags.Tags `json:"tags"`
44+
Quota *BucketQuota `json:"quota"`
45+
}
46+
3447
// BucketAccessInfo represents bucket usage of a bucket, and its relevant
3548
// access type for an account
3649
type BucketAccessInfo struct {
37-
Name string `json:"name"`
38-
Size uint64 `json:"size"`
39-
PrefixUsage map[string]uint64 `json:"prefixUsage"`
40-
Created time.Time `json:"created"`
41-
Access AccountAccess `json:"access"`
50+
Name string `json:"name"`
51+
Size uint64 `json:"size"`
52+
Objects uint64 `json:"objects"`
53+
ObjectSizesHistogram map[string]uint64 `json:"objectHistogram"`
54+
Details *BucketDetails `json:"details"`
55+
PrefixUsage map[string]uint64 `json:"prefixUsage"`
56+
Created time.Time `json:"created"`
57+
Access AccountAccess `json:"access"`
4258
}
4359

4460
// AccountInfo represents the account usage info of an

0 commit comments

Comments
 (0)