Skip to content

Commit 68b66c6

Browse files
Added Jf stats command
1 parent 59e1d72 commit 68b66c6

File tree

7 files changed

+399
-136
lines changed

7 files changed

+399
-136
lines changed

docs/general/stats/help.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package statsDocs
2+
3+
var Usage = []string{"stats [--ServerId <server-id>] [--Product <product>] [--Output <output>] [--AccessToken <access-token>]"}
4+
5+
func GetDescription() string {
6+
return `Returns all statistics related to a specific product or of all products for a given server.`
7+
}
8+
9+
func GetArguments() string {
10+
return `
11+
--ServerId (optional)
12+
The server id for which the product will be searched. If not provided, the default configured server value will be used.
13+
14+
--Product (optional)
15+
The product name for which you want statistics Default value is all products. Currently, supported products are: Artifactory(rt), JPDs, repositories, projects, release-bundle(rb)
16+
Only abbrevation needs to be given, i.e., rt, jpd, pj, rb
17+
18+
--Output (optional)
19+
The output format in which you want statistics to be shown. Currently, Json, Table and Console Text (default) are supported.
20+
21+
--accessToken(optional)
22+
The access token using which you want statistics will be fetched from jfrog instance. By default, logged user access token is used. For some products, like JPDs, projects, user needs to provide admin token.
23+
`
24+
}

go.mod

Lines changed: 49 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ require (
1515
github.com/buger/jsonparser v1.1.1
1616
github.com/docker/docker v27.5.1+incompatible
1717
github.com/gocarina/gocsv v0.0.0-20240520201108-78e41c74b4b1
18+
github.com/golang-jwt/jwt/v4 v4.5.2
1819
github.com/jfrog/archiver/v3 v3.6.1
1920
github.com/jfrog/build-info-go v1.10.17
2021
github.com/jfrog/gofrog v1.7.6
@@ -25,26 +26,29 @@ require (
2526
github.com/jfrog/jfrog-client-go v1.54.7
2627
github.com/jszwec/csvutil v1.10.0
2728
github.com/manifoldco/promptui v0.9.0
28-
github.com/stretchr/testify v1.11.0
29+
github.com/stretchr/testify v1.11.1
2930
github.com/testcontainers/testcontainers-go v0.35.0
30-
github.com/urfave/cli v1.22.16
31+
github.com/urfave/cli v1.22.17
3132
github.com/xeipuuv/gojsonschema v1.2.0
3233
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394
3334
gopkg.in/yaml.v2 v2.4.0
3435
)
3536

3637
require (
37-
dario.cat/mergo v1.0.1 // indirect
38+
atomicgo.dev/cursor v0.2.0 // indirect
39+
atomicgo.dev/keyboard v0.2.9 // indirect
40+
atomicgo.dev/schedule v0.1.0 // indirect
41+
dario.cat/mergo v1.0.2 // indirect
3842
github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6 // indirect
39-
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect
40-
github.com/BurntSushi/toml v1.4.0 // indirect
43+
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // indirect
44+
github.com/BurntSushi/toml v1.5.0 // indirect
4145
github.com/CycloneDX/cyclonedx-go v0.9.2 // indirect
4246
github.com/Microsoft/go-winio v0.6.2 // indirect
4347
github.com/ProtonMail/go-crypto v1.1.6 // indirect
4448
github.com/VividCortex/ewma v1.2.0 // indirect
4549
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d // indirect
4650
github.com/andybalholm/brotli v1.1.1 // indirect
47-
github.com/apache/camel-k/v2 v2.5.0 // indirect
51+
github.com/apache/camel-k/v2 v2.7.0 // indirect
4852
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
4953
github.com/beevik/etree v1.4.0 // indirect
5054
github.com/blang/semver v3.5.1+incompatible // indirect
@@ -53,10 +57,11 @@ require (
5357
github.com/cenkalti/backoff/v5 v5.0.2 // indirect
5458
github.com/chzyer/readline v1.5.1 // indirect
5559
github.com/cloudflare/circl v1.6.1 // indirect
60+
github.com/containerd/console v1.0.5 // indirect
5661
github.com/containerd/log v0.1.0 // indirect
5762
github.com/containerd/platforms v0.2.1 // indirect
5863
github.com/cpuguy83/dockercfg v0.3.2 // indirect
59-
github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect
64+
github.com/cpuguy83/go-md2man/v2 v2.0.7 // indirect
6065
github.com/cyberphone/json-canonicalization v0.0.0-20220623050100-57a0ce2678a7 // indirect
6166
github.com/cyphar/filepath-securejoin v0.4.1 // indirect
6267
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
@@ -69,15 +74,16 @@ require (
6974
github.com/emirpasic/gods v1.18.1 // indirect
7075
github.com/fatih/color v1.18.0 // indirect
7176
github.com/felixge/httpsnoop v1.0.4 // indirect
72-
github.com/forPelevin/gomoji v1.3.0 // indirect
73-
github.com/fsnotify/fsnotify v1.8.0 // indirect
77+
github.com/forPelevin/gomoji v1.3.1 // indirect
78+
github.com/fsnotify/fsnotify v1.9.0 // indirect
79+
github.com/fxamacker/cbor/v2 v2.8.0 // indirect
7480
github.com/gfleury/go-bitbucket-v1 v0.0.0-20230825095122-9bc1711434ab // indirect
7581
github.com/go-chi/chi v4.1.2+incompatible // indirect
7682
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
7783
github.com/go-git/go-billy/v5 v5.6.2 // indirect
78-
github.com/go-git/go-git/v5 v5.16.0 // indirect
84+
github.com/go-git/go-git/v5 v5.16.2 // indirect
7985
github.com/go-jose/go-jose/v4 v4.0.5 // indirect
80-
github.com/go-logr/logr v1.4.2 // indirect
86+
github.com/go-logr/logr v1.4.3 // indirect
8187
github.com/go-logr/stdr v1.2.2 // indirect
8288
github.com/go-logr/zapr v1.3.0 // indirect
8389
github.com/go-ole/go-ole v1.2.6 // indirect
@@ -93,7 +99,6 @@ require (
9399
github.com/go-openapi/validate v0.24.0 // indirect
94100
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
95101
github.com/gogo/protobuf v1.3.2 // indirect
96-
github.com/golang-jwt/jwt/v4 v4.5.2 // indirect
97102
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
98103
github.com/golang/protobuf v1.5.4 // indirect
99104
github.com/golang/snappy v1.0.0 // indirect
@@ -104,33 +109,33 @@ require (
104109
github.com/google/go-querystring v1.1.0 // indirect
105110
github.com/google/gofuzz v1.2.0 // indirect
106111
github.com/google/uuid v1.6.0 // indirect
107-
github.com/gookit/color v1.5.4 // indirect
112+
github.com/gookit/color v1.6.0 // indirect
108113
github.com/grokify/mogo v0.64.12 // indirect
109114
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
110115
github.com/hashicorp/go-hclog v1.6.3 // indirect
111116
github.com/hashicorp/go-plugin v1.6.3 // indirect
112117
github.com/hashicorp/go-retryablehttp v0.7.7 // indirect
113118
github.com/hashicorp/yamux v0.1.1 // indirect
114-
github.com/imdario/mergo v0.3.16 // indirect
115119
github.com/in-toto/attestation v1.1.1 // indirect
116120
github.com/in-toto/in-toto-golang v0.9.0 // indirect
117121
github.com/inconshreveable/mousetrap v1.1.0 // indirect
118122
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
119-
github.com/jedib0t/go-pretty/v6 v6.6.5 // indirect
123+
github.com/jedib0t/go-pretty/v6 v6.6.8 // indirect
120124
github.com/jedisct1/go-minisign v0.0.0-20211028175153-1c139d1cc84b // indirect
121125
github.com/jfrog/froggit-go v1.20.3 // indirect
122126
github.com/jfrog/go-mockhttp v0.3.1 // indirect
123127
github.com/jfrog/jfrog-apps-config v1.0.1 // indirect
124128
github.com/josharian/intern v1.0.0 // indirect
125129
github.com/json-iterator/go v1.1.12 // indirect
126130
github.com/kevinburke/ssh_config v1.2.0 // indirect
127-
github.com/klauspost/compress v1.17.11 // indirect
131+
github.com/klauspost/compress v1.18.0 // indirect
128132
github.com/klauspost/cpuid/v2 v2.2.9 // indirect
129133
github.com/klauspost/pgzip v1.2.6 // indirect
130134
github.com/ktrysmt/go-bitbucket v0.9.80 // indirect
131135
github.com/letsencrypt/boulder v0.0.0-20240620165639-de9c06129bec // indirect
136+
github.com/lithammer/fuzzysearch v1.1.8 // indirect
132137
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
133-
github.com/magiconair/properties v1.8.9 // indirect
138+
github.com/magiconair/properties v1.8.10 // indirect
134139
github.com/mailru/easyjson v0.9.0 // indirect
135140
github.com/mattn/go-colorable v0.1.14 // indirect
136141
github.com/mattn/go-isatty v0.0.20 // indirect
@@ -156,18 +161,19 @@ require (
156161
github.com/opentracing/opentracing-go v1.2.0 // indirect
157162
github.com/owenrumney/go-sarif/v3 v3.2.3 // indirect
158163
github.com/package-url/packageurl-go v0.1.3 // indirect
159-
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
164+
github.com/pelletier/go-toml/v2 v2.2.4 // indirect
160165
github.com/pierrec/lz4/v4 v4.1.22 // indirect
161166
github.com/pjbgf/sha1cd v0.3.2 // indirect
162167
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
163168
github.com/pkg/errors v0.9.1 // indirect
164169
github.com/pkg/term v1.2.0-beta.2 // indirect
165170
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
166171
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
172+
github.com/pterm/pterm v0.12.81 // indirect
167173
github.com/rivo/uniseg v0.4.7 // indirect
168174
github.com/robfig/cron/v3 v3.0.1 // indirect
169175
github.com/russross/blackfriday/v2 v2.1.0 // indirect
170-
github.com/sagikazarmark/locafero v0.7.0 // indirect
176+
github.com/sagikazarmark/locafero v0.11.0 // indirect
171177
github.com/sassoftware/relic v7.2.1+incompatible // indirect
172178
github.com/secure-systems-lab/go-securesystemslib v0.9.0 // indirect
173179
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect
@@ -181,13 +187,13 @@ require (
181187
github.com/sigstore/timestamp-authority v1.2.7 // indirect
182188
github.com/sirupsen/logrus v1.9.3 // indirect
183189
github.com/skeema/knownhosts v1.3.1 // indirect
184-
github.com/sourcegraph/conc v0.3.0 // indirect
185-
github.com/spf13/afero v1.12.0 // indirect
186-
github.com/spf13/cast v1.7.1 // indirect
190+
github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 // indirect
191+
github.com/spf13/afero v1.15.0 // indirect
192+
github.com/spf13/cast v1.10.0 // indirect
187193
github.com/spf13/cobra v1.9.1 // indirect
188-
github.com/spf13/pflag v1.0.6 // indirect
189-
github.com/spf13/viper v1.20.1 // indirect
190-
github.com/stoewer/go-strcase v1.3.0 // indirect
194+
github.com/spf13/pflag v1.0.10 // indirect
195+
github.com/spf13/viper v1.21.0 // indirect
196+
github.com/stoewer/go-strcase v1.3.1 // indirect
191197
github.com/stretchr/objx v0.5.2 // indirect
192198
github.com/subosito/gotenv v1.6.0 // indirect
193199
github.com/theupdateframework/go-tuf v0.7.0 // indirect
@@ -197,8 +203,9 @@ require (
197203
github.com/tklauser/numcpus v0.6.1 // indirect
198204
github.com/transparency-dev/merkle v0.0.2 // indirect
199205
github.com/ulikunitz/xz v0.5.15 // indirect
200-
github.com/vbauerster/mpb/v8 v8.9.1 // indirect
206+
github.com/vbauerster/mpb/v8 v8.10.2 // indirect
201207
github.com/virtuald/go-ordered-json v0.0.0-20170621173500-b18e6e673d74 // indirect
208+
github.com/x448/float16 v0.8.4 // indirect
202209
github.com/xanzy/go-gitlab v0.110.0 // indirect
203210
github.com/xanzy/ssh-agent v0.3.3 // indirect
204211
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
@@ -215,15 +222,16 @@ require (
215222
go.opentelemetry.io/otel/trace v1.35.0 // indirect
216223
go.uber.org/multierr v1.11.0 // indirect
217224
go.uber.org/zap v1.27.0 // indirect
225+
go.yaml.in/yaml/v3 v3.0.4 // indirect
218226
golang.org/x/crypto v0.38.0 // indirect
219-
golang.org/x/mod v0.24.0 // indirect
227+
golang.org/x/mod v0.26.0 // indirect
220228
golang.org/x/net v0.40.0 // indirect
221-
golang.org/x/oauth2 v0.29.0 // indirect
222-
golang.org/x/sync v0.14.0 // indirect
223-
golang.org/x/sys v0.33.0 // indirect
224-
golang.org/x/term v0.32.0 // indirect
225-
golang.org/x/text v0.25.0 // indirect
226-
golang.org/x/time v0.11.0 // indirect
229+
golang.org/x/oauth2 v0.30.0 // indirect
230+
golang.org/x/sync v0.16.0 // indirect
231+
golang.org/x/sys v0.36.0 // indirect
232+
golang.org/x/term v0.35.0 // indirect
233+
golang.org/x/text v0.28.0 // indirect
234+
golang.org/x/time v0.12.0 // indirect
227235
google.golang.org/genproto/googleapis/api v0.0.0-20250414145226-207652e42e2e // indirect
228236
google.golang.org/genproto/googleapis/rpc v0.0.0-20250414145226-207652e42e2e // indirect
229237
google.golang.org/grpc v1.72.2 // indirect
@@ -232,22 +240,22 @@ require (
232240
gopkg.in/ini.v1 v1.67.0 // indirect
233241
gopkg.in/warnings.v0 v0.1.2 // indirect
234242
gopkg.in/yaml.v3 v3.0.1 // indirect
235-
k8s.io/api v0.29.7 // indirect
236-
k8s.io/apimachinery v0.29.7 // indirect
243+
k8s.io/api v0.32.3 // indirect
244+
k8s.io/apimachinery v0.32.3 // indirect
237245
k8s.io/klog/v2 v2.130.1 // indirect
238-
k8s.io/utils v0.0.0-20240310230437-4693a0247e57 // indirect
239-
sigs.k8s.io/controller-runtime v0.17.5 // indirect
240-
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect
241-
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
246+
k8s.io/utils v0.0.0-20250321185631-1f6e0b77f77e // indirect
247+
sigs.k8s.io/controller-runtime v0.20.4 // indirect
248+
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect
249+
sigs.k8s.io/structured-merge-diff/v4 v4.7.0 // indirect
242250
sigs.k8s.io/yaml v1.4.0 // indirect
243251
)
244252

245253
replace github.com/jfrog/build-info-go => github.com/jfrog/build-info-go v1.8.9-0.20250907205057-2bfe50c014b7
246254

247255
// replace github.com/jfrog/jfrog-cli-artifactory => github.com/jfrog/jfrog-cli-artifactory v0.7.2-0.20250907212025-fb4679f280a0
248256

249-
// replace github.com/jfrog/jfrog-cli-core/v2 => github.com/jfrog/jfrog-cli-core/v2 v2.59.2-0.20250804083101-9cf424ecc926
257+
replace github.com/jfrog/jfrog-cli-core/v2 => github.com/naveenku-jfrog/jfrog-cli-core/v2 v2.0.0-20250915155747-76d42aa3b640
250258

251-
// replace github.com/jfrog/jfrog-client-go => github.com/jfrog/jfrog-client-go v1.28.1-0.20250812100044-b52afcc698c1
259+
replace github.com/jfrog/jfrog-client-go => github.com/naveenku-jfrog/jfrog-client-go v1.54.2-0.20250915154721-774db72c9f8c
252260

253261
//replace github.com/jfrog/jfrog-cli-security => github.com/jfrog/jfrog-cli-security v1.17.2-0.20250511132918-d9cc4cd50020

0 commit comments

Comments
 (0)