mirror of
https://codeberg.org/scip/esctl.git
synced 2026-08-24 10:54:18 +02:00
satisfy full linter
This commit is contained in:
@@ -177,7 +177,6 @@ func ClusterRerouteAllocatePrimary(conf *cfg.Config, stale bool) *cli.Command {
|
||||
if stale {
|
||||
name = "allocate-stale-primary"
|
||||
usage = "allocate a stale primary shard to a node"
|
||||
|
||||
}
|
||||
|
||||
return &cli.Command{
|
||||
|
||||
@@ -48,8 +48,10 @@ func complete(cmd *cli.Command, what int) {
|
||||
return
|
||||
}
|
||||
|
||||
var list []string
|
||||
var err error
|
||||
var (
|
||||
list []string
|
||||
err error
|
||||
)
|
||||
|
||||
switch what {
|
||||
case Cindex:
|
||||
|
||||
@@ -71,7 +71,7 @@ func IlmForecastList(conf *cfg.Config) *cli.Command {
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "within",
|
||||
Usage: "<duration> withing which to forecast",
|
||||
Usage: "<duration> within which to forecast",
|
||||
Destination: &conf.Ilm.Within,
|
||||
Aliases: []string{"w"},
|
||||
},
|
||||
@@ -121,7 +121,7 @@ func IlmForecastShow(conf *cfg.Config) *cli.Command {
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "within",
|
||||
Usage: "duration withing which to forecast",
|
||||
Usage: "duration within which to forecast",
|
||||
Destination: &conf.Ilm.Within,
|
||||
Aliases: []string{"w"},
|
||||
},
|
||||
|
||||
@@ -19,7 +19,6 @@ package cmd
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
|
||||
"codeberg.org/scip/esctl/pkg/cfg"
|
||||
"codeberg.org/scip/esctl/pkg/es"
|
||||
@@ -163,7 +162,7 @@ Valid field mapping types: integer, text, date, keyword`,
|
||||
Action: func(ctx context.Context, cmd *cli.Command) error {
|
||||
args := cmd.Args()
|
||||
if args.Len() == 0 {
|
||||
return fmt.Errorf("no index specified")
|
||||
return errors.New("no index specified")
|
||||
}
|
||||
|
||||
mappings := args.Slice()[1:]
|
||||
|
||||
@@ -38,7 +38,8 @@ func IndexAlias(conf *cfg.Config) *cli.Command {
|
||||
IndexAliasDelete(conf),
|
||||
IndexAliasRollover(conf),
|
||||
// FIXME: implement IndexAliasAdd
|
||||
//IndexAliasAdd(conf), // see https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-update-aliases
|
||||
// see https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-update-aliases
|
||||
// IndexAliasAdd(conf),
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,6 @@ package cmd
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"slices"
|
||||
|
||||
"codeberg.org/scip/esctl/pkg/cfg"
|
||||
@@ -180,7 +179,7 @@ https://www.elastic.co/docs/reference/elasticsearch/index-settings
|
||||
Action: func(ctx context.Context, cmd *cli.Command) error {
|
||||
args := cmd.Args()
|
||||
if args.Len() == 0 {
|
||||
return fmt.Errorf("no name specified")
|
||||
return errors.New("no name specified")
|
||||
}
|
||||
|
||||
if conf.Mode != "" {
|
||||
|
||||
100
cmd/root.go
100
cmd/root.go
@@ -31,9 +31,60 @@ import (
|
||||
"github.com/urfave/cli/v3"
|
||||
)
|
||||
|
||||
const (
|
||||
versionFmt = `esctl version: %s
|
||||
build: %s
|
||||
branch: %s
|
||||
commit: %s
|
||||
go version: %s
|
||||
API Version: %s`
|
||||
|
||||
jsonPathUsage = `jsonPath usage:
|
||||
|
||||
name.last >> "Anderson"
|
||||
age >> 37
|
||||
children >> ["Sara","Alex","Jack"]
|
||||
children.# >> 3
|
||||
children.1 >> "Alex"
|
||||
child*.2 >> "Jack"
|
||||
c?ildren.0 >> "Sara"
|
||||
fav\.movie >> "Deer Hunter"
|
||||
friends.#.first >> ["Dale","Roger","Jane"]
|
||||
friends.1.last >> "Craig"
|
||||
|
||||
You can also query an array for the first match by using #(...), or
|
||||
find all matches with #(...)#. Queries support the ==, !=, <, <=, >,
|
||||
>= comparison operators and the simple pattern matching % (like) and
|
||||
!% (not like) operators. Eg:
|
||||
|
||||
friends.#(last=="Murphy").first >> "Dale"
|
||||
friends.#(last=="Murphy")#.first >> ["Dale","Jane"]
|
||||
friends.#(age>45)#.last >> ["Craig","Murphy"]
|
||||
friends.#(first%"D*").last >> "Murphy"
|
||||
friends.#(first!%"D*").last >> "Craig"
|
||||
friends.#(nets.#(=="fb"))#.first >> ["Dale","Roger"]
|
||||
|
||||
To extract more than one field, use:
|
||||
|
||||
{"ns":source.namespace_name,"time":source.@timestamp} >>
|
||||
|
||||
{
|
||||
"ns": "3f80316965c64405-275a75782e984bcc8d82",
|
||||
"time": "2026-06-10T04:23:38.914080361+00:00"
|
||||
}
|
||||
{
|
||||
"ns": "3f80316965c64405-f0e1dcef668e45bb9afd",
|
||||
"time": "2026-06-10T09:39:00.554892542+00:00"
|
||||
}
|
||||
|
||||
|
||||
Documentation: https://github.com/tidwall/gjson/blob/master/SYNTAX.md`
|
||||
)
|
||||
|
||||
func Finish(err error) int {
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, "Error: ", err.Error())
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
@@ -127,6 +178,7 @@ func Main() int {
|
||||
return nil, err
|
||||
} else {
|
||||
fmt.Println(cmd.UsageText)
|
||||
|
||||
return nil, nil
|
||||
}
|
||||
}
|
||||
@@ -161,53 +213,13 @@ func Main() int {
|
||||
}
|
||||
|
||||
func HelpJsonPath(conf *cfg.Config) *cli.Command {
|
||||
msg := `jsonPath usage:
|
||||
|
||||
name.last >> "Anderson"
|
||||
age >> 37
|
||||
children >> ["Sara","Alex","Jack"]
|
||||
children.# >> 3
|
||||
children.1 >> "Alex"
|
||||
child*.2 >> "Jack"
|
||||
c?ildren.0 >> "Sara"
|
||||
fav\.movie >> "Deer Hunter"
|
||||
friends.#.first >> ["Dale","Roger","Jane"]
|
||||
friends.1.last >> "Craig"
|
||||
|
||||
You can also query an array for the first match by using #(...), or
|
||||
find all matches with #(...)#. Queries support the ==, !=, <, <=, >,
|
||||
>= comparison operators and the simple pattern matching % (like) and
|
||||
!% (not like) operators. Eg:
|
||||
|
||||
friends.#(last=="Murphy").first >> "Dale"
|
||||
friends.#(last=="Murphy")#.first >> ["Dale","Jane"]
|
||||
friends.#(age>45)#.last >> ["Craig","Murphy"]
|
||||
friends.#(first%"D*").last >> "Murphy"
|
||||
friends.#(first!%"D*").last >> "Craig"
|
||||
friends.#(nets.#(=="fb"))#.first >> ["Dale","Roger"]
|
||||
|
||||
To extract more than one field, use:
|
||||
|
||||
{"ns":source.namespace_name,"time":source.@timestamp} >>
|
||||
|
||||
{
|
||||
"ns": "3f80316965c64405-275a75782e984bcc8d82",
|
||||
"time": "2026-06-10T04:23:38.914080361+00:00"
|
||||
}
|
||||
{
|
||||
"ns": "3f80316965c64405-f0e1dcef668e45bb9afd",
|
||||
"time": "2026-06-10T09:39:00.554892542+00:00"
|
||||
}
|
||||
|
||||
|
||||
Documentation: https://github.com/tidwall/gjson/blob/master/SYNTAX.md`
|
||||
|
||||
return &cli.Command{
|
||||
Name: "help-jsonpath",
|
||||
Usage: "show jsonpath help",
|
||||
|
||||
Action: func(ctx context.Context, cmd *cli.Command) error {
|
||||
_, err := fmt.Println(msg)
|
||||
_, err := fmt.Println(jsonPathUsage)
|
||||
|
||||
return err
|
||||
},
|
||||
}
|
||||
@@ -219,8 +231,9 @@ func Version(conf *cfg.Config) *cli.Command {
|
||||
Usage: "show esctl version information",
|
||||
|
||||
Action: func(ctx context.Context, cmd *cli.Command) error {
|
||||
_, err := fmt.Printf("esctl version: %s\n build: %s\n branch: %s\n commit: %s\n go version: %s\n API Version: %s\n",
|
||||
_, err := fmt.Printf(versionFmt,
|
||||
cfg.Version, cfg.BUILD, cfg.BRANCH, cfg.COMMIT, cfg.GOVERSION, cfg.APIVERSION)
|
||||
|
||||
return err
|
||||
},
|
||||
}
|
||||
@@ -327,7 +340,6 @@ func HelpUsage(conf *cfg.Config) *cli.Command {
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// copy of cmd.Walk() with the exception to skip hidden commands and its siblings
|
||||
|
||||
@@ -29,6 +29,7 @@ func addReference(ref string) string {
|
||||
for line := range strings.SplitSeq(ref, "\n") {
|
||||
indentedRef = append(indentedRef, " "+line)
|
||||
}
|
||||
|
||||
return fmt.Sprintf("%s\nREFERENCE:\n%s\n",
|
||||
cli.SubcommandHelpTemplate,
|
||||
strings.Join(indentedRef, "\n"))
|
||||
|
||||
Reference in New Issue
Block a user