Skip to content

Commit b7a3663

Browse files
committed
feat: Add upload to aws and retrieving results from aws
1 parent eb0c3a9 commit b7a3663

File tree

28 files changed

+1517
-61
lines changed

28 files changed

+1517
-61
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,5 @@ contracts/cache/
1010
contracts/out/
1111
contracts/abi/
1212
benchmark/benchmark
13+
14+
.env

README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ git submodule update --init --recursive
3131
# Build the application
3232
make build
3333

34+
# Build the binaries, geth, reth, rbuilder
35+
make build-binaries
36+
3437
# Run the basic benchmark
3538
./bin/base-bench run \
3639
--config ./configs/public/basic.yml \
@@ -39,6 +42,18 @@ make build
3942
--geth-bin path_to_geth_bin \
4043
--output-dir ./output
4144

45+
# Run the basic benchmark with S3
46+
./bin/base-bench run \
47+
--config ./configs/public/basic.yml \
48+
--root-dir ./data-dir \
49+
--reth-bin path_to_reth_bin \
50+
--geth-bin path_to_geth_bin \
51+
--output-dir ./output \
52+
--enable-s3=true --s3-bucket <bucket-name>
53+
54+
# Upload the results to S3
55+
./bin/base-bench export-to-cloud --output-dir ./output --s3-bucket <bucket-name>
56+
4257
# View the interactive dashboard
4358
cd report/
4459
npm i
@@ -132,6 +147,10 @@ OPTIONS:
132147
--geth-auth-rpc-port value Auth RPC port (default: 8551)
133148
--geth-metrics-port value Metrics port (default: 8080)
134149

150+
# S3 Configuration
151+
--enable-s3 value Enable S3 (default: false)
152+
--s3-bucket value S3 bucket name (default: "base-benchmarking-results-dev")
153+
135154
# General Options
136155
--proxy-port value Proxy port (default: 8546)
137156
--help, -h Show help (default: false)

benchmark/cmd/main.go

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"github.com/base/base-bench/benchmark/config"
1010
"github.com/base/base-bench/benchmark/flags"
1111
"github.com/base/base-bench/runner"
12+
"github.com/base/base-bench/runner/aws"
1213
"github.com/base/base-bench/runner/importer"
1314
"github.com/urfave/cli/v2"
1415

@@ -46,6 +47,13 @@ func main() {
4647
Description: "Import benchmark runs from local metadata.json or remote URL into existing output metadata.json. Use --src-tag and --dest-tag to apply tags to runs, or use interactive mode.",
4748
ArgsUsage: "[metadata-file-or-url]",
4849
},
50+
{
51+
Name: "export-to-cloud",
52+
Flags: cliapp.ProtectFlags(flags.ExportFlags),
53+
Action: ExportMain(Version),
54+
Usage: "export output directory to S3",
55+
Description: "Export the entire output directory to AWS S3 bucket and sync with remote metadata.json.",
56+
},
4957
}
5058
app.Flags = flags.Flags
5159
app.Version = opservice.FormatVersion(Version, GitCommit, GitDate, "")
@@ -185,3 +193,33 @@ func ImportMain(version string) cli.ActionFunc {
185193
return nil
186194
}
187195
}
196+
197+
func ExportMain(version string) cli.ActionFunc {
198+
return func(cliCtx *cli.Context) error {
199+
cfg := config.NewExportCmdConfig(cliCtx)
200+
if err := cfg.Check(); err != nil {
201+
return fmt.Errorf("invalid CLI flags: %w", err)
202+
}
203+
204+
l := oplog.NewLogger(oplog.AppOut(cliCtx), oplog.DefaultCLIConfig())
205+
oplog.SetGlobalLogHandler(l.Handler())
206+
207+
// Initialize S3 service
208+
s3Service, err := aws.NewS3Service(cfg.S3Bucket(), l)
209+
if err != nil {
210+
return fmt.Errorf("failed to initialize S3 service: %w", err)
211+
}
212+
213+
// Export output directory to S3
214+
err = s3Service.ExportOutputDirectory(cfg.OutputDir())
215+
if err != nil {
216+
return fmt.Errorf("failed to export output directory to S3: %w", err)
217+
}
218+
219+
fmt.Printf("✅ Export completed successfully!\n")
220+
fmt.Printf(" • Output directory: %s\n", cfg.OutputDir())
221+
fmt.Printf(" • S3 bucket: %s\n", cfg.S3Bucket())
222+
223+
return nil
224+
}
225+
}

benchmark/config/export_config.go

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package config
2+
3+
import (
4+
"fmt"
5+
6+
"github.com/base/base-bench/benchmark/flags"
7+
"github.com/urfave/cli/v2"
8+
)
9+
10+
// ExportCmdConfig represents the configuration for the export-to-cloud command
11+
type ExportCmdConfig struct {
12+
outputDir string
13+
s3Bucket string
14+
}
15+
16+
// NewExportCmdConfig creates a new export command config from CLI context
17+
func NewExportCmdConfig(cliCtx *cli.Context) *ExportCmdConfig {
18+
return &ExportCmdConfig{
19+
outputDir: cliCtx.String(flags.OutputDirFlagName),
20+
s3Bucket: cliCtx.String(flags.S3BucketFlagName),
21+
}
22+
}
23+
24+
// OutputDir returns the output directory path
25+
func (c *ExportCmdConfig) OutputDir() string {
26+
return c.outputDir
27+
}
28+
29+
// S3Bucket returns the S3 bucket name
30+
func (c *ExportCmdConfig) S3Bucket() string {
31+
return c.s3Bucket
32+
}
33+
34+
// Check validates the export command configuration
35+
func (c *ExportCmdConfig) Check() error {
36+
if c.outputDir == "" {
37+
return fmt.Errorf("output directory is required")
38+
}
39+
40+
if c.s3Bucket == "" {
41+
return fmt.Errorf("S3 bucket is required for export command")
42+
}
43+
44+
return nil
45+
}

benchmark/flags/export_flags.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package flags
2+
3+
import "github.com/urfave/cli/v2"
4+
5+
var ExportFlags = []cli.Flag{
6+
OutputDirFlag,
7+
S3BucketFlag,
8+
}

benchmark/flags/flags.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ const (
1818
ConfigFlagName = "config"
1919
RootDirFlagName = "root-dir"
2020
OutputDirFlagName = "output-dir"
21+
EnableS3FlagName = "enable-s3"
22+
S3BucketFlagName = "s3-bucket"
2123
TxFuzzBinFlagName = "tx-fuzz-bin"
2224
ProxyPortFlagName = "proxy-port"
2325
)
@@ -62,6 +64,19 @@ var (
6264
Value: 8546,
6365
EnvVars: prefixEnvVars("PROXY_PORT"),
6466
}
67+
68+
EnableS3Flag = &cli.BoolFlag{
69+
Name: EnableS3FlagName,
70+
Usage: "Enable S3 upload of benchmark results",
71+
EnvVars: prefixEnvVars("ENABLE_S3"),
72+
Value: false,
73+
}
74+
75+
S3BucketFlag = &cli.StringFlag{
76+
Name: S3BucketFlagName,
77+
Usage: "S3 bucket name for storing benchmark results",
78+
EnvVars: prefixEnvVars("S3_BUCKET"),
79+
}
6580
)
6681

6782
// Flags contains the list of configuration options available to the binary.
@@ -73,6 +88,8 @@ var RunFlags = []cli.Flag{
7388
OutputDirFlag,
7489
TxFuzzBinFlag,
7590
ProxyPortFlag,
91+
EnableS3Flag,
92+
S3BucketFlag,
7693
}
7794

7895
func init() {

clients/build-reth.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,11 @@ git checkout "$RETH_VERSION"
4040

4141
# Build the binary using cargo
4242
echo "Building reth with cargo..."
43-
cargo build --release --bin reth
43+
cargo build --bin op-reth --profile maxperf --manifest-path crates/optimism/bin/Cargo.toml
4444

4545
# Copy binary to output directory
4646
echo "Copying binary to output directory..."
4747
mkdir -p "../../$OUTPUT_DIR"
48-
cp target/release/reth "../../$OUTPUT_DIR/"
48+
cp target/maxperf/op-reth "../../$OUTPUT_DIR/"
4949

5050
echo "reth binary built successfully and placed in $OUTPUT_DIR/reth"

configs/public/basic.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ benchmarks:
2323
value: 10
2424
- type: gas_limit
2525
values:
26-
- 15000000
26+
- 20000000
2727
- 30000000
2828
- 60000000
2929
- 90000000

go.mod

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ go 1.23.0
55
toolchain go1.23.10
66

77
require (
8+
github.com/aws/aws-sdk-go v1.47.13
9+
github.com/charmbracelet/huh v0.7.0
810
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc
911
github.com/ethereum-optimism/optimism v1.13.3
1012
github.com/ethereum/go-ethereum v1.15.11
@@ -34,16 +36,13 @@ require (
3436
github.com/cespare/xxhash/v2 v2.3.0 // indirect
3537
github.com/charmbracelet/bubbles v0.21.0 // indirect
3638
github.com/charmbracelet/bubbletea v1.3.4 // indirect
37-
github.com/charmbracelet/bubbletea/v2 v2.0.0-beta1 // indirect
3839
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc // indirect
39-
github.com/charmbracelet/huh v0.7.0 // indirect
4040
github.com/charmbracelet/lipgloss v1.1.0 // indirect
4141
github.com/charmbracelet/x/ansi v0.8.0 // indirect
4242
github.com/charmbracelet/x/cellbuf v0.0.13 // indirect
43+
github.com/charmbracelet/x/exp/golden v0.0.0-20241212170349-ad4b7ae0f25f // indirect
4344
github.com/charmbracelet/x/exp/strings v0.0.0-20240722160745-212f7b056ed0 // indirect
44-
github.com/charmbracelet/x/input v0.3.4 // indirect
4545
github.com/charmbracelet/x/term v0.2.1 // indirect
46-
github.com/charmbracelet/x/windows v0.2.0 // indirect
4746
github.com/cockroachdb/errors v1.11.3 // indirect
4847
github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce // indirect
4948
github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect
@@ -82,6 +81,7 @@ require (
8281
github.com/ipfs/go-datastore v0.6.0 // indirect
8382
github.com/jackpal/go-nat-pmp v1.0.2 // indirect
8483
github.com/jbenet/goprocess v0.1.4 // indirect
84+
github.com/jmespath/go-jmespath v0.4.0 // indirect
8585
github.com/klauspost/compress v1.18.0 // indirect
8686
github.com/klauspost/cpuid/v2 v2.2.9 // indirect
8787
github.com/kr/pretty v0.3.1 // indirect

go.sum

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg
22
github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
33
github.com/DataDog/zstd v1.5.6-0.20230824185856-869dae002e5e h1:ZIWapoIRN1VqT8GR8jAwb1Ie9GyehWjVcGh32Y2MznE=
44
github.com/DataDog/zstd v1.5.6-0.20230824185856-869dae002e5e/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw=
5+
github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ=
6+
github.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE=
57
github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
68
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
79
github.com/VictoriaMetrics/fastcache v1.12.2 h1:N0y9ASrJ0F6h0QaC3o6uJb3NIZ9VKLjCM7NQbSmF7WI=
@@ -14,8 +16,12 @@ github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1
1416
github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY=
1517
github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4=
1618
github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI=
19+
github.com/aws/aws-sdk-go v1.47.13 h1:pJgCtldg5azDAFoEcE0fz6n+FnCc1/FY4krtUa5uvZQ=
20+
github.com/aws/aws-sdk-go v1.47.13/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk=
1721
github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k=
1822
github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
23+
github.com/aymanbagabas/go-udiff v0.2.0 h1:TK0fH4MteXUDspT88n8CKzvK0X9O2xu9yQjWpi6yML8=
24+
github.com/aymanbagabas/go-udiff v0.2.0/go.mod h1:RE4Ex0qsGkTAJoQdQQCA0uG+nAzJO/pI/QwceO5fgrA=
1925
github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o=
2026
github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
2127
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
@@ -59,8 +65,6 @@ github.com/charmbracelet/bubbles v0.21.0 h1:9TdC97SdRVg/1aaXNVWfFH3nnLAwOXr8Fn6u
5965
github.com/charmbracelet/bubbles v0.21.0/go.mod h1:HF+v6QUR4HkEpz62dx7ym2xc71/KBHg+zKwJtMw+qtg=
6066
github.com/charmbracelet/bubbletea v1.3.4 h1:kCg7B+jSCFPLYRA52SDZjr51kG/fMUEoPoZrkaDHyoI=
6167
github.com/charmbracelet/bubbletea v1.3.4/go.mod h1:dtcUCyCGEX3g9tosuYiut3MXgY/Jsv9nKVdibKKRRXo=
62-
github.com/charmbracelet/bubbletea/v2 v2.0.0-beta1 h1:yaxFt97mvofGY7bYZn8U/aSVoamXGE3O4AEvWhshUDI=
63-
github.com/charmbracelet/bubbletea/v2 v2.0.0-beta1/go.mod h1:qbcZLI5z8R49v9xBdU5V5Dh5D2uccx8wSwBqxQyErqc=
6468
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc h1:4pZI35227imm7yK2bGPcfpFEmuY1gc2YSTShr4iJBfs=
6569
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc/go.mod h1:X4/0JoqgTIPSFcRA/P6INZzIuyqdFY5rm8tb41s9okk=
6670
github.com/charmbracelet/huh v0.7.0 h1:W8S1uyGETgj9Tuda3/JdVkc3x7DBLZYPZc4c+/rnRdc=
@@ -71,14 +75,20 @@ github.com/charmbracelet/x/ansi v0.8.0 h1:9GTq3xq9caJW8ZrBTe0LIe2fvfLR/bYXKTx2ll
7175
github.com/charmbracelet/x/ansi v0.8.0/go.mod h1:wdYl/ONOLHLIVmQaxbIYEC/cRKOQyjTkowiI4blgS9Q=
7276
github.com/charmbracelet/x/cellbuf v0.0.13 h1:/KBBKHuVRbq1lYx5BzEHBAFBP8VcQzJejZ/IA3iR28k=
7377
github.com/charmbracelet/x/cellbuf v0.0.13/go.mod h1:xe0nKWGd3eJgtqZRaN9RjMtK7xUYchjzPr7q6kcvCCs=
78+
github.com/charmbracelet/x/conpty v0.1.0 h1:4zc8KaIcbiL4mghEON8D72agYtSeIgq8FSThSPQIb+U=
79+
github.com/charmbracelet/x/conpty v0.1.0/go.mod h1:rMFsDJoDwVmiYM10aD4bH2XiRgwI7NYJtQgl5yskjEQ=
80+
github.com/charmbracelet/x/errors v0.0.0-20240508181413-e8d8b6e2de86 h1:JSt3B+U9iqk37QUU2Rvb6DSBYRLtWqFqfxf8l5hOZUA=
81+
github.com/charmbracelet/x/errors v0.0.0-20240508181413-e8d8b6e2de86/go.mod h1:2P0UgXMEa6TsToMSuFqKFQR+fZTO9CNGUNokkPatT/0=
82+
github.com/charmbracelet/x/exp/golden v0.0.0-20241212170349-ad4b7ae0f25f h1:UytXHv0UxnsDFmL/7Z9Q5SBYPwSuRLXHbwx+6LycZ2w=
83+
github.com/charmbracelet/x/exp/golden v0.0.0-20241212170349-ad4b7ae0f25f/go.mod h1:wDlXFlCrmJ8J+swcL/MnGUuYnqgQdW9rhSD61oNMb6U=
7484
github.com/charmbracelet/x/exp/strings v0.0.0-20240722160745-212f7b056ed0 h1:qko3AQ4gK1MTS/de7F5hPGx6/k1u0w4TeYmBFwzYVP4=
7585
github.com/charmbracelet/x/exp/strings v0.0.0-20240722160745-212f7b056ed0/go.mod h1:pBhA0ybfXv6hDjQUZ7hk1lVxBiUbupdw5R31yPUViVQ=
76-
github.com/charmbracelet/x/input v0.3.4 h1:Mujmnv/4DaitU0p+kIsrlfZl/UlmeLKw1wAP3e1fMN0=
77-
github.com/charmbracelet/x/input v0.3.4/go.mod h1:JI8RcvdZWQIhn09VzeK3hdp4lTz7+yhiEdpEQtZN+2c=
7886
github.com/charmbracelet/x/term v0.2.1 h1:AQeHeLZ1OqSXhrAWpYUtZyX1T3zVxfpZuEQMIQaGIAQ=
7987
github.com/charmbracelet/x/term v0.2.1/go.mod h1:oQ4enTYFV7QN4m0i9mzHrViD7TQKvNEEkHUMCmsxdUg=
80-
github.com/charmbracelet/x/windows v0.2.0 h1:ilXA1GJjTNkgOm94CLPeSz7rar54jtFatdmoiONPuEw=
81-
github.com/charmbracelet/x/windows v0.2.0/go.mod h1:ZibNFR49ZFqCXgP76sYanisxRyC+EYrBE7TTknD8s1s=
88+
github.com/charmbracelet/x/termios v0.1.1 h1:o3Q2bT8eqzGnGPOYheoYS8eEleT5ZVNYNy8JawjaNZY=
89+
github.com/charmbracelet/x/termios v0.1.1/go.mod h1:rB7fnv1TgOPOyyKRJ9o+AsTU/vK5WHJ2ivHeut/Pcwo=
90+
github.com/charmbracelet/x/xpty v0.1.2 h1:Pqmu4TEJ8KeA9uSkISKMU3f+C1F6OGBn8ABuGlqCbtI=
91+
github.com/charmbracelet/x/xpty v0.1.2/go.mod h1:XK2Z0id5rtLWcpeNiMYBccNNBrP2IJnzHI0Lq13Xzq4=
8292
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
8393
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
8494
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
@@ -109,6 +119,8 @@ github.com/crate-crypto/go-ipa v0.0.0-20240724233137-53bbb0ceb27a/go.mod h1:sTwz
109119
github.com/crate-crypto/go-kzg-4844 v1.1.0 h1:EN/u9k2TF6OWSHrCCDBBU6GLNMq88OspHHlMnHfoyU4=
110120
github.com/crate-crypto/go-kzg-4844 v1.1.0/go.mod h1:JolLjpSff1tCCJKaJx4psrlEdlXuJEC996PL3tTAFks=
111121
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
122+
github.com/creack/pty v1.1.24 h1:bJrF4RRfyJnbTJqzRLHzcGaZK1NeM5kTC9jGgovnR1s=
123+
github.com/creack/pty v1.1.24/go.mod h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE=
112124
github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
113125
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
114126
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -234,6 +246,10 @@ github.com/jbenet/goprocess v0.1.4 h1:DRGOFReOMqqDNXwW70QkacFW0YN9QnwLV0Vqk+3oU0
234246
github.com/jbenet/goprocess v0.1.4/go.mod h1:5yspPrukOVuOLORacaBi858NqyClJPQxYZlqdZVfqY4=
235247
github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
236248
github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
249+
github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
250+
github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
251+
github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
252+
github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
237253
github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ=
238254
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
239255
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
@@ -470,8 +486,6 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ
470486
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
471487
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
472488
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
473-
golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w=
474-
golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
475489
golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw=
476490
golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
477491
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -504,8 +518,6 @@ golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
504518
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
505519
golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
506520
golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
507-
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
508-
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
509521
golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
510522
golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
511523
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
@@ -526,8 +538,6 @@ golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
526538
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
527539
golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
528540
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
529-
golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
530-
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
531541
golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY=
532542
golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=
533543
golang.org/x/time v0.10.0 h1:3usCWA8tQn0L8+hFJQNgzpWbd89begxN66o1Ojdn5L4=
@@ -565,6 +575,7 @@ gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWD
565575
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
566576
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
567577
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
578+
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
568579
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
569580
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
570581
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=

0 commit comments

Comments
 (0)