mirror of
https://codeberg.org/scip/esctl.git
synced 2026-08-24 04:54:18 +02:00
Refactor output code, add JSON, TSV and YAML output modes, add -o (#19), add version subcommand
This commit is contained in:
@@ -25,6 +25,7 @@ import (
|
||||
"sync"
|
||||
|
||||
"codeberg.org/scip/esctl/pkg/cfg"
|
||||
"codeberg.org/scip/esctl/pkg/printer"
|
||||
"github.com/elastic/go-elasticsearch/v9"
|
||||
"github.com/elastic/go-elasticsearch/v9/typedapi/cluster/health"
|
||||
"github.com/elastic/go-elasticsearch/v9/typedapi/types"
|
||||
@@ -74,14 +75,14 @@ func checkClusterStatus(conf *cfg.Config, leader, follower string) bool {
|
||||
status[cluster] = st
|
||||
}
|
||||
|
||||
table := NewTable(3, 5)
|
||||
table := printer.NewTable(conf, 3, 5)
|
||||
|
||||
table.Addheaders("setting", "leader:"+leader, "follower:"+follower)
|
||||
|
||||
table.entries = [][]string{
|
||||
table.Entries = [][]string{
|
||||
{"Cluster Name",
|
||||
Colorize(status[leader].Status.Name, status[leader].ClusterName),
|
||||
Colorize(status[follower].Status.Name, status[follower].ClusterName),
|
||||
printer.Colorize(conf, status[leader].Status.Name, status[leader].ClusterName),
|
||||
printer.Colorize(conf, status[follower].Status.Name, status[follower].ClusterName),
|
||||
},
|
||||
{"Active Shards",
|
||||
fmt.Sprintf("%d", status[leader].ActiveShards),
|
||||
@@ -101,7 +102,7 @@ func checkClusterStatus(conf *cfg.Config, leader, follower string) bool {
|
||||
},
|
||||
}
|
||||
|
||||
if err := table.PrintMarkdown(); err != nil {
|
||||
if err := table.Print(); err != nil {
|
||||
fmt.Println(err)
|
||||
return false
|
||||
}
|
||||
@@ -151,17 +152,17 @@ func findIlmErrors(conf *cfg.Config, leader, follower string) bool {
|
||||
|
||||
if len(failed[cluster]) > 0 {
|
||||
idx := 0
|
||||
table := NewTable(2, len(failed[cluster]))
|
||||
table := printer.NewTable(conf, 2, len(failed[cluster]))
|
||||
table.Addheaders("ilm errors on "+which, "errors")
|
||||
|
||||
for name, count := range failed[cluster] {
|
||||
table.entries[idx] = []string{name, count}
|
||||
table.Entries[idx] = []string{name, count}
|
||||
idx++
|
||||
}
|
||||
|
||||
table.Sort()
|
||||
|
||||
if err := table.PrintMarkdown(); err != nil {
|
||||
if err := table.Print(); err != nil {
|
||||
fmt.Println(err)
|
||||
return false
|
||||
}
|
||||
@@ -223,18 +224,18 @@ func findIndicesOnlyOnLeader(conf *cfg.Config, indices ClusterIndices, leader, f
|
||||
}
|
||||
|
||||
idx := 0
|
||||
table := NewTable(3, len(indexOnlyOnLeader))
|
||||
table := printer.NewTable(conf, 3, len(indexOnlyOnLeader))
|
||||
table.Addheaders("index only on leader", "size", "docscount")
|
||||
|
||||
for name, index := range indexOnlyOnLeader {
|
||||
name := Colorize("red", name)
|
||||
name := printer.Colorize(conf, "red", name)
|
||||
|
||||
table.entries[idx] = []string{name, *index.DatasetSize, *index.DocsCount}
|
||||
table.Entries[idx] = []string{name, *index.DatasetSize, *index.DocsCount}
|
||||
idx++
|
||||
}
|
||||
|
||||
table.Sort()
|
||||
if err := table.PrintMarkdown(); err != nil {
|
||||
if err := table.Print(); err != nil {
|
||||
fmt.Println(err)
|
||||
return false
|
||||
}
|
||||
@@ -273,18 +274,18 @@ func findOrphanedIndices(conf *cfg.Config, indices ClusterIndices, leader, follo
|
||||
}
|
||||
|
||||
idx := 0
|
||||
table := NewTable(3, len(orphaned))
|
||||
table := printer.NewTable(conf, 3, len(orphaned))
|
||||
table.Addheaders("orphaned index on follower", "size", "docscount")
|
||||
|
||||
for name, index := range orphaned {
|
||||
name := Colorize("red", name)
|
||||
name := printer.Colorize(conf, "red", name)
|
||||
|
||||
table.entries[idx] = []string{name, *index.DatasetSize, *index.DocsCount}
|
||||
table.Entries[idx] = []string{name, *index.DatasetSize, *index.DocsCount}
|
||||
idx++
|
||||
}
|
||||
|
||||
table.Sort()
|
||||
if err := table.PrintMarkdown(); err != nil {
|
||||
if err := table.Print(); err != nil {
|
||||
fmt.Println(err)
|
||||
return false
|
||||
}
|
||||
@@ -307,18 +308,18 @@ func findFailedFollowerIndices(conf *cfg.Config, indices ClusterIndices, followe
|
||||
}
|
||||
|
||||
idx := 0
|
||||
table := NewTable(3, len(red))
|
||||
table := printer.NewTable(conf, 3, len(red))
|
||||
table.Addheaders("red index on follower", "size", "docscount")
|
||||
|
||||
for name, index := range red {
|
||||
name := Colorize("red", name)
|
||||
name := printer.Colorize(conf, "red", name)
|
||||
|
||||
table.entries[idx] = []string{name, *index.DatasetSize, *index.DocsCount}
|
||||
table.Entries[idx] = []string{name, *index.DatasetSize, *index.DocsCount}
|
||||
idx++
|
||||
}
|
||||
|
||||
table.Sort()
|
||||
if err := table.PrintMarkdown(); err != nil {
|
||||
if err := table.Print(); err != nil {
|
||||
fmt.Println(err)
|
||||
return false
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user