Todo list for esctl-go
- Add Cobra to repo for subcommands
- Separate authentication into its own package
- Separate helper utilities into their own package
- Separate elastic functions into their own package
- Add CI for building packages
- Add common badges to README
- Add ability to switch between elastic clusters
- Via command
- Via flag
- Add automatic documentation for command usage (https://godoc.org/github.com/spf13/cobra/doc)
- Make top level command
esctldisplay avaiable subcommands if no arguments are present - Make second level command
esctl getdisplay available subcommands if no arguements are present - Determine which verbs
esctlshould use other thanget - Add support for optional modules at compile time
- Create a script to initialize new modules
- Create a Makefile that allows compilation of optional modules
- Add the ability to debug (requires a code change to activate)
- Mock Watcher apis
- Put Watcher
- Get Watcher
- Delete Watcher
- Execute Watcher
- Get Watcher Stats
- Ack Watcher
- Activate Watcher
- Deactivate Watcher
- Stop Watcher Service
- Start Watcher Service
- List Watchers
- Show Active Watchers
- Show Inactive Watchers
- Add support for output format flag
- Mock Cluster apis
- Improve error handling to be more verbose (somewhat complete, needs improvement)
- Add API module to make requests in VERB ENDPOINT form to support not yet implemented endpoints
- MVP
- Support for output format flag and other existing flags
- General alignment with esapi.Request objects (duplicate code)
- Rename functions/structs/interfaces. (Probably GenericRequest and similar)
-
Move api subcommand under escmd.It shouldn't be considered an extension/option. Every subcommand should probably have its own package. Keeping the current structure
- Mock functions from kubectl
config
- current-context
- delete-cluster
- delete-context
- get-clusters
- get-contexts
- rename-context
- set
- set-cluster
- set-context
- set-credentials
- use-context
- view (currently read)
- generate
- validate
- add ability to execute artibrary commands rather than store username/password in config file
Function porting from https://github.com/slmingol/escli/blob/master/es_funcs.bash
- escli_ls
- escli_lsl
- usage_chk1
- usage_chk2
- usage_chk3
- usage_chk4
- usage_chk5
- list_nodes
- list_nodes_storage
- show_shards
- show_big_shards
- show_small_shards
- relo_s
- cancel_relo_shard
- cancel_relo_shards_all
- increase_balance_throttle
- reset_balance_throttle
- show_balance_throttle
- show_recovery
- show_recovery_full
- enable_readonly_idx_pattern
- disable_readonly_idx_pattern
- enable_readonly_idxs
- disable_readonly_idxs
- show_readonly_idxs_full
- show_readonly_idxs
- estop
- estop_recovery
- estop_relo
- show_health
- show_watermarks
- show_state
- showcfg_cluster
- showcfg_num_shards_per_idx
- showcfg_shard_allocations
- explain_allocations
- help_cat
- help_indices
- show_idx_sizes
- show_idx_stats
- delete_idx
- exclude_node_name
- show_excluded_nodes
- clear_excluded_nodes