diff --git a/go.mod b/go.mod index e87b72c..c5bc537 100644 --- a/go.mod +++ b/go.mod @@ -81,6 +81,7 @@ require ( github.com/muesli/termenv v0.16.0 // indirect github.com/oklog/ulid/v2 v2.1.1 // indirect github.com/rivo/uniseg v0.4.7 // indirect + github.com/rodaine/table v1.3.1 // indirect github.com/tidwall/match v1.1.1 // indirect github.com/tidwall/pretty v1.2.0 // indirect github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect diff --git a/go.sum b/go.sum index 7f1e805..0ea57e7 100644 --- a/go.sum +++ b/go.sum @@ -151,6 +151,8 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/rodaine/table v1.3.1 h1:jBVgg1bEu5EzEdYSrwUUlQpayDtkvtTmgFS0FPAxOq8= +github.com/rodaine/table v1.3.1/go.mod h1:VYCJRCHa2DpD25uFALcB6hi5ECF3eEJQVhCXRjHgXc4= github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/sergi/go-diff v1.0.0 h1:Kpca3qRNrduNnOQeazBd0ysaKrUJiIuISHxogkT9RPQ= diff --git a/pkg/es/api.go b/pkg/es/api.go index 63a6346..1cb5adc 100644 --- a/pkg/es/api.go +++ b/pkg/es/api.go @@ -328,7 +328,7 @@ func ApiList(conf *cfg.Config, pattern string) error { filter := regexp.MustCompile(pattern) - table := printer.NewTable(conf, 4, 0) + table := printer.NewTable(conf).WithSize(4, 0) table.Addheaders("path", "http verb", "tag", "description") for path, item := range assets.OpenAPI.Spec().Paths.Paths { diff --git a/pkg/es/ccr.go b/pkg/es/ccr.go index 671f724..18a70ab 100644 --- a/pkg/es/ccr.go +++ b/pkg/es/ccr.go @@ -111,7 +111,7 @@ func CcrRemoteInfo(conf *cfg.Config, index string) error { mode = "leader" } - table := printer.NewTable(conf, 2, 5) + table := printer.NewTable(conf).WithSize(2, 5) table.Addheaders("ccr remote property", "value") table.Entries = [][]any{ diff --git a/pkg/es/ccr_follower.go b/pkg/es/ccr_follower.go index feb8f9e..db3ba49 100644 --- a/pkg/es/ccr_follower.go +++ b/pkg/es/ccr_follower.go @@ -164,7 +164,7 @@ func CcrFollowerShow(conf *cfg.Config, index string) error { follower := res.Indices[0].Shards[0] - table := printer.NewTable(conf, 2, 9) + table := printer.NewTable(conf).WithSize(2, 9) table.Addheaders("ccr follower property", "value") table.Entries = [][]any{ diff --git a/pkg/es/cluster.go b/pkg/es/cluster.go index a7af1d6..049032d 100644 --- a/pkg/es/cluster.go +++ b/pkg/es/cluster.go @@ -58,7 +58,7 @@ func ClusterList(conf *cfg.Config) error { wg.Wait() - table := printer.NewTable(conf, 5, len(conf.Clusters)) + table := printer.NewTable(conf).WithSize(5, len(conf.Clusters)) table.Addheaders("cluster", "uri", "reachable", "current", "error") idx := 0 @@ -212,7 +212,7 @@ func ClusterStatus(conf *cfg.Config) error { } } - table := printer.NewTable(conf, 2, 7) + table := printer.NewTable(conf).WithSize(2, 7) table.Addheaders(conf.DefaultCluster.Name, "status") table.Entries = [][]any{ diff --git a/pkg/es/cluster_settings.go b/pkg/es/cluster_settings.go index a4e85d4..2362173 100644 --- a/pkg/es/cluster_settings.go +++ b/pkg/es/cluster_settings.go @@ -38,7 +38,7 @@ func ClusterSettingsList(conf *cfg.Config) error { return fmt.Errorf("failed to get cluster settings: %w", esErrorString(err)) } - table := printer.NewTable(conf, 2, 0) + table := printer.NewTable(conf).WithSize(2, 0) table.Addheaders("setting", "value") entries := [][]any{} diff --git a/pkg/es/cluster_util.go b/pkg/es/cluster_util.go index 67fabcb..3ad4b7c 100644 --- a/pkg/es/cluster_util.go +++ b/pkg/es/cluster_util.go @@ -71,7 +71,7 @@ func checkClusterStatus(conf *cfg.Config, leader, follower string) bool { status[cluster] = clusterHealth } - table := printer.NewTable(conf, 3, 6) + table := printer.NewTable(conf).WithSize(3, 6) table.Addheaders("setting", "leader:"+leader, "follower:"+follower) @@ -151,7 +151,7 @@ func findIlmErrors(conf *cfg.Config, leader, follower string) bool { if len(failed[cluster]) > 0 { idx := 0 - table := printer.NewTable(conf, 2, len(failed[cluster])) + table := printer.NewTable(conf).WithSize(2, len(failed[cluster])) table.Addheaders("ilm errors on "+which, "errors") for name, count := range failed[cluster] { @@ -225,7 +225,7 @@ func findIndicesOnlyOnLeader(conf *cfg.Config, indices ClusterIndices, leader, f } idx := 0 - table := printer.NewTable(conf, 3, len(indexOnlyOnLeader)) + table := printer.NewTable(conf).WithSize(3, len(indexOnlyOnLeader)) table.Addheaders("index only on leader", "size", "docscount") for name, index := range indexOnlyOnLeader { @@ -275,7 +275,7 @@ func findOrphanedIndices(conf *cfg.Config, indices ClusterIndices, leader, follo } idx := 0 - table := printer.NewTable(conf, 3, len(orphaned)) + table := printer.NewTable(conf).WithSize(3, len(orphaned)) table.Addheaders("orphaned index on follower", "size", "docscount") for name, index := range orphaned { @@ -311,7 +311,7 @@ func findFailedFollowerIndices(conf *cfg.Config, indices ClusterIndices, followe } idx := 0 - table := printer.NewTable(conf, 3, len(red)) + table := printer.NewTable(conf).WithSize(3, len(red)) table.Addheaders("red index on follower", "size", "docscount") for name, index := range red { diff --git a/pkg/es/datastream.go b/pkg/es/datastream.go index 42f8339..42f9278 100644 --- a/pkg/es/datastream.go +++ b/pkg/es/datastream.go @@ -62,7 +62,7 @@ func DatastreamList(conf *cfg.Config) error { } } - table := printer.NewTable(conf, 7, size) + table := printer.NewTable(conf).WithSize(7, size) table.Addheaders("name", "ilm policy", "hidden", "system", "replicated", "generation", "timestamp field") for idx, datastream := range list { @@ -146,7 +146,7 @@ func DatastreamShow(conf *cfg.Config, dsname string) error { return fmt.Errorf("failed to get data stream stats: %w", esErrorString(err)) } - table := printer.NewTable(conf, 11, 2) + table := printer.NewTable(conf).WithSize(11, 2) table.Addheaders("data stream property", "value") datastream := res.DataStreams[0] @@ -176,7 +176,7 @@ func DatastreamShow(conf *cfg.Config, dsname string) error { return err } - table = printer.NewTable(conf, 5, len(datastream.Indices)) + table = printer.NewTable(conf).WithSize(5, len(datastream.Indices)) table.Addheaders("backing index name", "uuid", "prefer ilm", "ilm policy", "managed by") for idx, index := range datastream.Indices { @@ -233,7 +233,7 @@ func DatastreamRollover(conf *cfg.Config, ds string) error { return fmt.Errorf("failed to rollover data stream: %w", esErrorString(err)) } - table := printer.NewTable(conf, 2, 5) + table := printer.NewTable(conf).WithSize(2, 5) table.Addheaders("rollover response", "value") table.Entries = [][]any{ {"acknowledged", res.Acknowledged}, diff --git a/pkg/es/ilm.go b/pkg/es/ilm.go index b87597e..afc024a 100644 --- a/pkg/es/ilm.go +++ b/pkg/es/ilm.go @@ -85,7 +85,7 @@ func IlmList(conf *cfg.Config, pattern string) error { repr.Println(res) } - table := printer.NewTable(conf, 5, 0) + table := printer.NewTable(conf).WithSize(5, 0) table.Addheaders("ilm policy", "hot", "warm", "frozen", "delete") for name, ilm := range res { @@ -123,7 +123,7 @@ func IlmShow(conf *cfg.Config, policy string) error { return IlmShowTree(conf, ilm.Policy) } - table := printer.NewTable(conf, 2, 5) + table := printer.NewTable(conf).WithSize(2, 5) table.Addheaders("ilm policy setting", "value") table.Entries = [][]any{ @@ -142,7 +142,7 @@ func IlmShow(conf *cfg.Config, policy string) error { func IlmShowTree(conf *cfg.Config, ilm types.IlmPolicy) error { indent := "" - table := printer.NewTable(conf, 4, 0) + table := printer.NewTable(conf).WithSize(4, 0) table.Addheaders("phase", "min age", "min size", "snapshot repo") for _, phase := range IlmPhaseOrder { @@ -280,7 +280,7 @@ func IlmExplain(conf *cfg.Config, index string) error { ilm := explain.(*types.LifecycleExplainManaged) - table := printer.NewTable(conf, 2, 0) + table := printer.NewTable(conf).WithSize(2, 0) table.Addheaders("ilm status field", "value") info := "" diff --git a/pkg/es/ilm_forecast.go b/pkg/es/ilm_forecast.go index be7c19f..cbf1c36 100644 --- a/pkg/es/ilm_forecast.go +++ b/pkg/es/ilm_forecast.go @@ -105,7 +105,7 @@ func IlmForecastList(conf *cfg.Config, filter string) error { headers = append(headers, "ilm policy") } - table := printer.NewTable(conf, len(headers), 0) + table := printer.NewTable(conf).WithSize(len(headers), 0) table.Addheaders(headers...) for _, phase := range phaseData { diff --git a/pkg/es/index.go b/pkg/es/index.go index 6aca80c..60a1887 100644 --- a/pkg/es/index.go +++ b/pkg/es/index.go @@ -104,7 +104,7 @@ func IndexList(conf *cfg.Config) error { } } - table := printer.NewTable(conf, 3, size) + table := printer.NewTable(conf).WithSize(3, size) table.Addheaders("name", "size", "docscount") for idx, index := range list { @@ -140,7 +140,7 @@ func IndexShow(conf *cfg.Config, indexpattern string) error { idx++ } - table := printer.NewTable(conf, 2, 7) + table := printer.NewTable(conf).WithSize(2, 7) table.Addheaders("index property", "value") ts, err := strconv.ParseInt(index.Settings.Index.CreationDate.(string), 10, 64) @@ -263,7 +263,7 @@ func IndexFields(conf *cfg.Config, index string) error { return fmt.Errorf("failed to retrieve field capabilties: %w", esErrorString(err)) } - table := printer.NewTable(conf, 5, 0) + table := printer.NewTable(conf).WithSize(5, 0) table.Addheaders("field", "type", "searchable", "aggretable", "metadata") idx := 0 @@ -336,7 +336,7 @@ func IndexDiskusage(conf *cfg.Config, index string) error { return errors.New("no disk usage reported for index") } - table := printer.NewTableEmpty(conf). + table := printer.NewTable(conf). WithHeaders("field", "bloom filter", "norms", "points", "term vectors", "knn vectors", "total") for name, field := range diskusage.Fields { diff --git a/pkg/es/index_alias.go b/pkg/es/index_alias.go index 1b5a8cb..28f6303 100644 --- a/pkg/es/index_alias.go +++ b/pkg/es/index_alias.go @@ -72,7 +72,7 @@ func IndexAliasList(conf *cfg.Config) error { } } - table := printer.NewTable(conf, 2, len(aliaslist)) + table := printer.NewTable(conf).WithSize(2, len(aliaslist)) table.Addheaders("index", "alias") idx := 0 @@ -113,7 +113,7 @@ func IndexAliasRollover(conf *cfg.Config, alias string) error { return fmt.Errorf("failed to rollover index alias: %w", esErrorString(err)) } - table := printer.NewTable(conf, 2, 5) + table := printer.NewTable(conf).WithSize(2, 5) table.Addheaders("rollover response", "value") table.Entries = [][]any{ {"acknowledged", res.Acknowledged}, diff --git a/pkg/es/index_copy.go b/pkg/es/index_copy.go index 63c5db6..36b396f 100644 --- a/pkg/es/index_copy.go +++ b/pkg/es/index_copy.go @@ -62,7 +62,7 @@ func IndexCopy(conf *cfg.Config) error { return fmt.Errorf("failed to copy indices: %w", esErrorString(err)) } - table := printer.NewTable(conf, 2, 0). + table := printer.NewTable(conf).WithSize(2, 0). WithHeaders("Reindex metrtic", "value") table.Entries = [][]any{ diff --git a/pkg/es/index_template.go b/pkg/es/index_template.go index 49f6252..4909d38 100644 --- a/pkg/es/index_template.go +++ b/pkg/es/index_template.go @@ -59,7 +59,7 @@ func IndexTemplateList(conf *cfg.Config, filter string) error { slog.Debug("res", "index templates", res) - table := printer.NewTable(conf, 5, 0) + table := printer.NewTable(conf).WithSize(5, 0) table.Addheaders("name", "description", "index patterns", "priority") tplList := filterIndexTemplates(conf, filter, res.IndexTemplates) @@ -120,7 +120,7 @@ func IndexTemplateShow(conf *cfg.Config, tplname string) error { tpl := res.IndexTemplates[0] - table := printer.NewTable(conf, 2, 6) + table := printer.NewTable(conf).WithSize(2, 6) table.Addheaders("index template property", "value") desc, err := json.Marshal(tpl.IndexTemplate.Meta_["description"]) @@ -148,7 +148,7 @@ func IndexTemplateShow(conf *cfg.Config, tplname string) error { return err } - table = printer.NewTable(conf, 2, 0) + table = printer.NewTable(conf).WithSize(2, 0) table.Addheaders("index setting property", "value") err = getIndexTemplateSettings(conf, tplname, table) @@ -162,7 +162,7 @@ func IndexTemplateShow(conf *cfg.Config, tplname string) error { return err } - table = printer.NewTable(conf, 2, 0) + table = printer.NewTable(conf).WithSize(2, 0) table.Addheaders("index field mapping", "type") if tpl.IndexTemplate.Template.Mappings != nil { @@ -441,7 +441,7 @@ func rolloverAliasIndexTemplate(conf *cfg.Config, name string) error { return nil } - table := printer.NewTable(conf, 4, 0) + table := printer.NewTable(conf).WithSize(4, 0) table.Addheaders("rollover alias", "status", "ack", "new index") // apply rollover to all matching aliases, if any diff --git a/pkg/es/license.go b/pkg/es/license.go index 6f5b6c4..15a9c3e 100644 --- a/pkg/es/license.go +++ b/pkg/es/license.go @@ -35,7 +35,7 @@ func LicenseShow(conf *cfg.Config) error { slog.Debug("license show", "license", res) - table := printer.NewTableEmpty(conf).WithHeaders("license setting", "value") + table := printer.NewTable(conf).WithHeaders("license setting", "value") lic := res.License diff --git a/pkg/es/node.go b/pkg/es/node.go index a0c6e8c..acadad8 100644 --- a/pkg/es/node.go +++ b/pkg/es/node.go @@ -37,7 +37,7 @@ func NodeList(conf *cfg.Config) error { slog.Debug("ES result", "nodes", nodes) - table := printer.NewTableEmpty(conf).WithHeaders( + table := printer.NewTable(conf).WithHeaders( "name", "ip", "load1m", "load5m", "load15m", "ram %", "heap %") for _, node := range nodes { @@ -104,7 +104,7 @@ func NodeShow(conf *cfg.Config, nodename string) error { for id, info := range res.Nodes { stat := stats.Nodes[id] - table := printer.NewTable(conf, 2, 0) + table := printer.NewTable(conf).WithSize(2, 0) table.Addheaders(nodename+" property", "value") roles := make([]string, len(info.Roles)) @@ -197,7 +197,7 @@ func NodeClients(conf *cfg.Config, nodename string) error { slog.Debug("ES result", "stat", stats) - table := printer.NewTable(conf, 5, 0) + table := printer.NewTable(conf).WithSize(5, 0) table.Addheaders("agent", "id", "when", "from host", "url") for _, stat := range stats.Nodes { @@ -250,7 +250,7 @@ func NodeUsage(conf *cfg.Config, nodeid string) error { slog.Debug("ES result", "usage", stats) - table := printer.NewTableEmpty(conf).WithHeaders( + table := printer.NewTable(conf).WithHeaders( "node", "bulk", "doc get", diff --git a/pkg/es/role.go b/pkg/es/role.go index 3665940..f2e0409 100644 --- a/pkg/es/role.go +++ b/pkg/es/role.go @@ -47,7 +47,7 @@ func RoleList(conf *cfg.Config) error { slog.Debug("ES result", "roles", res) - table := printer.NewTable(conf, 3, len(res)) + table := printer.NewTable(conf).WithSize(3, len(res)) table.Addheaders("role", "index roles", "cluster roles") idx := 0 @@ -126,7 +126,7 @@ func roleRemoteClusters(conf *cfg.Config, role types.Role) error { return nil } - table := printer.NewTable(conf, 2, len(role.RemoteCluster)) + table := printer.NewTable(conf).WithSize(2, len(role.RemoteCluster)) table.Addheaders("remote cluster", "privilege") idx := 0 @@ -152,7 +152,7 @@ func roleClusters(conf *cfg.Config, role types.Role) error { return nil } - table := printer.NewTable(conf, 1, len(role.Cluster)) + table := printer.NewTable(conf).WithSize(1, len(role.Cluster)) table.Addheaders("cluster rights") idx := 0 @@ -171,7 +171,7 @@ func roleRemoteIndices(conf *cfg.Config, role types.Role) error { return nil } - table := printer.NewTable(conf, 3, len(role.RemoteIndices)) + table := printer.NewTable(conf).WithSize(3, len(role.RemoteIndices)) table.Addheaders("remote index names", "index permissions", "allow restricted") idx := 0 @@ -197,7 +197,7 @@ func roleIndices(conf *cfg.Config, role types.Role) error { return nil } - table := printer.NewTable(conf, 3, len(role.Indices)) + table := printer.NewTable(conf).WithSize(3, len(role.Indices)) table.Addheaders("index names", "index permissions", "allow restricted") idx := 0 @@ -223,7 +223,7 @@ func roleApplications(conf *cfg.Config, role types.Role) error { return nil } - table := printer.NewTable(conf, 3, len(role.Applications)) + table := printer.NewTable(conf).WithSize(3, len(role.Applications)) table.Addheaders("application", "privileges", "resources") idx := 0 diff --git a/pkg/es/role_diff.go b/pkg/es/role_diff.go index 1f16588..5976ed6 100644 --- a/pkg/es/role_diff.go +++ b/pkg/es/role_diff.go @@ -216,7 +216,7 @@ func RoleDiff(conf *cfg.Config, csvfile, role string) error { rows := diffRoles(conf, records, res) - table := printer.NewTable(conf, 3, len(rows)) + table := printer.NewTable(conf).WithSize(3, len(rows)) table.Addheaders("role", "is deployed", "is defined") for idx, row := range rows { diff --git a/pkg/es/searchql.go b/pkg/es/searchql.go index d667558..c088e90 100644 --- a/pkg/es/searchql.go +++ b/pkg/es/searchql.go @@ -64,7 +64,7 @@ func SearchQL(conf *cfg.Config, querystring string) error { return nil } - table := printer.NewTable(conf, len(qlResult.Columns), len(qlResult.Values)) + table := printer.NewTable(conf).WithSize(len(qlResult.Columns), len(qlResult.Values)) headers := make([]string, len(qlResult.Columns)) for idx, col := range qlResult.Columns { diff --git a/pkg/es/shard.go b/pkg/es/shard.go index 8052add..554fef4 100644 --- a/pkg/es/shard.go +++ b/pkg/es/shard.go @@ -100,7 +100,7 @@ func printShards(conf *cfg.Config, shardlist shards.Response) error { headers = append(headers, "node", "ip") } - table := printer.NewTable(conf, len(headers), len(shardlist)) + table := printer.NewTable(conf).WithSize(len(headers), len(shardlist)) table.Addheaders(headers...) for idx, shard := range shardlist { @@ -163,7 +163,7 @@ func ShardAllocation(conf *cfg.Config, index string) error { slog.Debug("ES result", "explain", res) - table := printer.NewTable(conf, 2, 10) + table := printer.NewTable(conf).WithSize(2, 10) table.Addheaders("shard allocation setting", "value") table.Entries = [][]any{ diff --git a/pkg/es/snapshot.go b/pkg/es/snapshot.go index 4f13e49..5264da8 100644 --- a/pkg/es/snapshot.go +++ b/pkg/es/snapshot.go @@ -84,7 +84,7 @@ func SnapshotList(conf *cfg.Config) error { } } - table := printer.NewTable(conf, 5, len(snapshots)) + table := printer.NewTable(conf).WithSize(5, len(snapshots)) table.Addheaders("name", "index", "start", "orphaned", "status") for idx, snap := range snapshots { @@ -118,7 +118,7 @@ func SnapshotShow(conf *cfg.Config, snapshot string) error { return errors.New("no snapshot retrieved") } - table := printer.NewTable(conf, 2, 17) + table := printer.NewTable(conf).WithSize(2, 17) table.Addheaders("snapshot property", "value") snap := res.Snapshots[0] diff --git a/pkg/es/task.go b/pkg/es/task.go index 83297c7..7b77b6f 100644 --- a/pkg/es/task.go +++ b/pkg/es/task.go @@ -36,7 +36,7 @@ func TaskList(conf *cfg.Config) error { slog.Debug("res", "tasks", res) - table := printer.NewTable(conf, 6, len(res)) + table := printer.NewTable(conf).WithSize(6, len(res)) table.Addheaders("task id", "action", "start time", "run time", "node", "type") for idx, task := range res { diff --git a/pkg/printer/table.go b/pkg/printer/table.go index eb43416..3f331f6 100644 --- a/pkg/printer/table.go +++ b/pkg/printer/table.go @@ -42,29 +42,28 @@ type Table struct { debugGoRoutines bool } -func NewTable(conf *cfg.Config, columns, rows int) *Table { - table := new(Table{ +func NewTable(conf *cfg.Config) *Table { + return new(Table{ Mode: conf.Output, maxwidth: cfg.GetTermWidth(), debugGoRoutines: conf.DebugGoRoutines, + Headers: []string{}, + RawHeaders: []string{}, + lenHeaders: []int{}, + alignInts: conf.AlignInts, }) - - table.Headers = make([]string, columns) - table.RawHeaders = make([]string, columns) - table.Entries = make([][]any, rows) - table.lenHeaders = make([]int, columns) - table.alignInts = conf.AlignInts - - return table } -func NewTableEmpty(conf *cfg.Config) *Table { - table := new(Table{ - Mode: conf.Output, - maxwidth: cfg.GetTermWidth(), - debugGoRoutines: conf.DebugGoRoutines, - }) - table.alignInts = conf.AlignInts +func (table *Table) WithSize(columns, rows int) *Table { + if columns > 0 { + table.Headers = make([]string, columns) + table.RawHeaders = make([]string, columns) + table.lenHeaders = make([]int, columns) + } + + if rows > 0 { + table.Entries = make([][]any, rows) + } return table } @@ -72,12 +71,7 @@ func NewTableEmpty(conf *cfg.Config) *Table { func (table *Table) WithHeaders(headers ...string) *Table { count := len(headers) - table.Entries = [][]any{} - table.lenHeaders = make([]int, count) - table.Headers = make([]string, count) - table.RawHeaders = make([]string, count) - - table.Addheaders(headers...) + table.WithSize(count, 0).Addheaders(headers...) return table } diff --git a/t/Makefile b/t/Makefile index 7f90f67..040c959 100644 --- a/t/Makefile +++ b/t/Makefile @@ -1,4 +1,4 @@ -.PHONY: test clean cluster docs search up down delete +.PHONY: test clean cluster docs search up down delete runenv # docker stuff up: @@ -20,6 +20,8 @@ delete: clean-docker: down delete +runenv: up waitup cluster docs wait + # mosscap esctl stuff test: up waitup cluster docs wait search