Daniil Fedotov
5607b92e32
Remove empty switches/0 and aliases/0 callbacks
2016-11-21 11:26:40 +00:00
Daniil Fedotov
cc87a49f93
Make switches as aliases callbacks optional
2016-11-18 17:21:27 +00:00
Daniil Fedotov
59225a551d
Remove `flags/0` callback. Remove command modules helpers from helpers to command_modules
2016-11-18 14:12:53 +00:00
Arnaud Cogoluègnes
5e16943fe4
Add encode command
...
Catching up with rabbitmq/rabbitmq-server#979.
Fixes #118
2016-11-18 14:52:29 +01:00
Michael Klishin
0aa7bf6f9b
Merge branch 'master' into rabbitmq-server-1030
2016-11-17 21:36:23 +03:00
Daniil Fedotov
a664f83b9f
Fix stream output for csv formatter
2016-11-17 16:09:18 +00:00
Daniil Fedotov
e4ebdaabde
Make rabbit node resolve from environment variable by default
2016-11-17 14:16:00 +00:00
Arnaud Cogoluègnes
061dc48e96
Use binaries for policy RPC call
...
Part of rabbitmq/rabbitmq-server#1030
2016-11-17 09:54:11 +01:00
Daniil Fedotov
77e17ddf13
Printer behaviour
2016-11-16 13:46:36 +00:00
Michael Klishin
0d61a2b0d0
Use Erlang term formatter by default for status
...
Fixes #106 .
2016-11-16 00:15:44 +03:00
Michael Klishin
1cf7b70bc1
Merge pull request #116 from rabbitmq/rabbitmq-cli-115
...
CSV formatter
2016-11-15 22:05:48 +03:00
Daniil Fedotov
82026a0ec8
More global switches to control environment
2016-11-15 16:14:10 +00:00
Daniil Fedotov
f160f0536a
New exec command to execute elixir code locally in command context.
2016-11-15 16:12:41 +00:00
Daniil Fedotov
4c05e343d7
Format CSV info items with helpers
2016-11-15 11:31:59 +00:00
Daniil Fedotov
cb52a66d70
CSV formatter
2016-11-15 11:14:44 +00:00
Daniil Fedotov
ccb6bf116c
Namespace refactoring
2016-11-14 17:52:08 +00:00
Milton Mazzarri
6795aec784
Improve code consistency
...
* Fix some code consistency issues, mostly spaces around parenthesis, brackets and operators.
* Write large number with underscores (example: 70_000 instead of 70000)
* Write variable names in snake_case
* Remove trailing white spaces
2016-11-13 00:29:17 -06:00
Daniil Fedotov
31848069e2
Use RABBITMQ_NODENAME as default node
2016-11-11 11:12:09 +00:00
Daniil Fedotov
1dc8e90a70
Make tests happy
2016-11-10 17:40:43 +00:00
Daniil Fedotov
6c98c51a7d
Call rabbit:alarms instead of rabbit:status to get alarms
2016-11-10 16:01:41 +00:00
Daniil Fedotov
3c8e6d1ef7
Use seconds in timeout parameter. Better timeout error report
2016-11-10 14:53:59 +00:00
Daniil Fedotov
63382a3b18
Force non infinity timeout for node health check. Node health check output
2016-11-10 13:51:01 +00:00
Daniil Fedotov
8f601a4bbe
Erlang terms formatter name
2016-11-10 13:01:49 +00:00
Daniil Fedotov
7dd74a3232
Erlang terms formatter
2016-11-10 12:19:47 +00:00
Daniil Fedotov
ca69dff530
Handle non-list format_output in table formatter
2016-11-10 12:12:17 +00:00
Daniil Fedotov
58af1261b1
Flatten list_consumers output in table formatter
2016-11-09 18:18:32 +00:00
Daniil Fedotov
0d88314c50
It's not a map, it's a keyword list
2016-11-09 17:11:51 +00:00
Daniil Fedotov
b984a423bf
Support --local argument in list_queues
2016-11-09 17:02:05 +00:00
Daniil Fedotov
b436f52797
Proper error handling
2016-11-09 17:02:05 +00:00
Daniil Fedotov
dae427bbf9
Handle non-error outputs in wait command
2016-11-09 13:03:35 +00:00
Daniil Fedotov
9ebf876c9a
Do not require ENABLED_PLUGINS_FILE to run ctl, still print an error
2016-11-08 14:45:59 +00:00
Daniil Fedotov
4d0f9b1fb5
Load commands from plugins
2016-11-08 14:25:14 +00:00
Daniil Fedotov
b0f59ead31
Fix tests
2016-11-08 14:23:09 +00:00
Daniil Fedotov
ad90e60121
script name is overridable via argument
2016-11-08 14:21:31 +00:00
Daniil Fedotov
60fdcecdb4
Format disabled plugins
2016-11-08 14:19:11 +00:00
Daniil Fedotov
3e3d8f3f0b
Fix tests for plugins commands
2016-11-08 14:19:11 +00:00
Daniil Fedotov
b8c7360b14
Plugins enable/disable command formatter
2016-11-08 14:19:11 +00:00
Daniil Fedotov
b98470288d
List plugins formatter
2016-11-08 14:19:11 +00:00
Daniil Fedotov
4733765759
Better generic formatting. No tests for format_error
2016-11-08 10:11:07 +00:00
Michael Klishin
db194fb013
Merge branch 'master' into rabbitmq-cli-105
...
Conflicts:
test/forget_cluster_node_command_test.exs
test/rename_cluster_node_command_test.exs
2016-11-07 22:37:24 +03:00
Daniil Fedotov
837226430b
Coordinate environment with config module
2016-11-07 22:03:09 +03:00
Michael Klishin
e423453159
Add a missing clause
2016-11-07 09:45:43 -08:00
Daniil Fedotov
08e263ab2a
Vhost limits commands
2016-11-07 14:08:26 +00:00
Daniil Fedotov
85d6868763
Make table formatter look like in the old CLI
2016-11-04 12:38:35 +00:00
Daniil Fedotov
603dfd4cf0
Add optional callbacks to the command behaviour
2016-11-04 11:29:14 +00:00
Daniil Fedotov
aaabab1fe9
Enable table formatter for each list_ command
2016-11-04 11:17:02 +00:00
Daniil Fedotov
14d82eabdc
Refactor error reporting to allow commands specify formatter
2016-11-04 11:11:03 +00:00
Daniil Fedotov
3f4abba717
Command specific formatters
2016-11-03 18:10:18 +00:00
Daniil Fedotov
cb3e54d8d8
Table formatter
2016-10-31 18:07:24 +00:00
Michael Klishin
74cb3a2b53
diag, diagnostic => diagnostics
2016-10-12 01:07:40 +03:00
Daniil Fedotov
70b867e908
Naming
2016-10-07 14:57:10 +01:00
Daniil Fedotov
41f38e29f8
Make read-only commands part of the rabbitmq-diag tool
2016-10-07 14:36:54 +01:00
Michael Klishin
e1de90218c
Merge pull request #104 from rabbitmq/rabbitmq-cli-101
...
Operator policies commands
2016-09-08 15:35:56 +04:00
Daniil Fedotov
599cede1df
Convert error_string char list to string
2016-09-08 11:03:08 +01:00
Daniil Fedotov
3ac39162be
Operator policies commands
2016-09-08 11:02:21 +01:00
Daniil Fedotov
fe3e83ec50
Fixing some tests
2016-09-07 12:46:47 +01:00
Michael Klishin
4a277f1fdd
A bit of docs
2016-09-05 13:29:11 +03:00
Michael Klishin
64ee6dfaf2
Wording
2016-09-05 13:06:45 +03:00
Michael Klishin
b65d8649cd
Cosmetics
2016-09-05 12:47:59 +03:00
Michael Klishin
59a57a8d37
Merge branch 'master' into rabbitmq-cli-90
2016-09-05 12:44:18 +03:00
Daniil Fedotov
a7fe88e74c
Example json formatter. Remove IO.puts from commands
2016-08-23 14:28:07 +01:00
Daniil Fedotov
57550182e1
Specific output tests
2016-08-22 15:05:17 +01:00
Daniil Fedotov
6d2208063f
Write to file using file printer
2016-08-22 14:19:15 +01:00
Daniil Fedotov
c88eb090f3
File printer
2016-08-22 14:13:38 +01:00
Daniil Fedotov
4c13a51ac8
Reworking command outputs
2016-08-22 12:58:37 +01:00
Daniil Fedotov
616476cc66
Remove duplicate require_rabbit function
2016-08-18 17:55:29 +01:00
Daniil Fedotov
0da30bd1d1
Help command return list of strings instead of printing them\
2016-08-18 17:38:49 +01:00
Daniil Fedotov
35fc3d12cd
Default output formatting and exit code selection. Inspect printer
2016-08-18 15:35:49 +01:00
Michael Klishin
b154b998ca
Make sure rabbit_event is functional
...
It will be required as of server#500.
2016-08-18 12:09:27 +03:00
Daniil Fedotov
4b25f8ab18
Add rabbit plugins to path when requiring rabbit to be loaded
2016-08-17 17:06:15 +01:00
Andrew Bruce
19f0ba94d3
Inline default_opts
...
[#127359637 ]
2016-08-15 15:09:12 +01:00
Andrew Bruce
541ad4249c
Fix merge_defaults implementations
...
...and don't default inside run methods.
Defaults must go on left-hand-side of `Map.merge`, or they'll clobber
user-defined settings.
Remove some unnecessary pattern matching.
Issue #92
[#127359637 ]
2016-08-15 14:21:15 +01:00
Michael Klishin
4e45a52dd4
Fix an IO.puts/1 line ported from io:format/2 too literally
2016-08-14 08:37:32 +03:00
Michael Klishin
49e9cb2909
pong and pang are atoms
2016-08-14 08:16:44 +03:00
Michael Klishin
b57e8e16cc
Don't rely on rabbit_control_main; coerce node names to atoms
...
`rabbit_control_main` is going away due to the very existence of
these new CLI tools.
2016-08-12 04:46:26 +03:00
Michael Klishin
cb209d834d
Merge branch 'master' into rabbitmq-cli-rename-cluster-node-command
...
Conflicts:
lib/rabbitmqctl.ex
2016-08-12 04:36:51 +03:00
Michael Klishin
508a906bf9
Wording, add aliases to UpdateClusterNodesCommand
2016-08-12 02:34:43 +03:00
Michael Klishin
17773fcd1f
Merge branch 'master' into rabbitmq-cli-update-cluster-nodes
2016-08-12 01:56:12 +03:00
Michael Klishin
0e8ab49937
Brush up tests, support both "disc" and "disk"
...
as the current `rabbitmqctl` does.
2016-08-12 01:54:23 +03:00
Michael Klishin
0449004a6b
Merge branch 'master' into rabbitmq-cli-change-cluster-node-type
2016-08-12 01:04:01 +03:00
Michael Klishin
81ea222428
Fix CLI arguments parsing for policies, brush up tests
...
Policy commands now work on the CLI against an actual node.
2016-08-11 17:15:43 +03:00
Michael Klishin
e9ef2cff34
Merge branch 'master' into rabbitmq-cli-policies-commands
2016-08-11 13:58:11 +03:00
Michael Klishin
ad2b4627c7
Merge branch 'master' into rabbitmq-cli-9
...
Conflicts:
lib/rabbitmq/cli/ctl/parser.ex
lib/rabbitmqctl.ex
2016-08-11 11:52:54 +03:00
Michael Klishin
ef2c06f0f4
Merge branch 'master' into rabbitmq-cli-force-boot-command
2016-08-11 11:12:59 +03:00
Michael Klishin
29c3bf3f43
Wording, cosmetics
2016-08-11 10:56:32 +03:00
Michael Klishin
cb03611e2a
Merge branch 'master' into rabbitmq-cli-78
2016-08-11 10:49:39 +03:00
Michael Klishin
7525ee3373
Cosmetics
2016-08-11 09:52:37 +03:00
Michael Klishin
76fb17d8f2
Use MapSet.difference/2 here, too
2016-08-11 09:37:48 +03:00
Michael Klishin
30e0c66127
Use sets in more places; rabbit_plugins:ensure/1 expects an Erlang list
...
Both CLI and tests now generally work as expected.
2016-08-11 01:44:27 +03:00
Michael Klishin
05db449187
Handle duplicates on plugin lists, be more defensive with defaults
...
Makes CLI invocations of `rabbitmq-plugins {enable, disable, list}`
mostly work.
2016-08-11 01:27:13 +03:00
Michael Klishin
31c3356c56
Use effective program name in help command output
...
Note that this solution is imperfect because
for tests the name of the tool is `mix`. But most
tests don't care.
2016-08-09 15:05:48 +03:00
Michael Klishin
bec4e6f4f9
Drop rabbitmq-plugins active_plugins
...
`rabbitmq-plugins list` with flags can do the same thing.
Per discussion with @hairyhum.
2016-08-09 13:46:20 +03:00
Michael Klishin
eef1c36024
Drop _plugins from plugin management module names
2016-08-09 00:03:58 +03:00
Daniil Fedotov
ca98b02656
Implement policy management commands
2016-07-29 14:59:19 +01:00
Daniil Fedotov
4d40649d44
Command auto completion
2016-07-28 17:46:37 +01:00
Daniil Fedotov
a0c5af375b
Implement forget_cluster_node command
2016-07-27 14:41:02 +01:00
Daniil Fedotov
e89bf53357
Do not require rabbit as dependency
2016-07-27 12:27:27 +01:00
Daniil Fedotov
7b35c7c2cc
More validation, error handling and tests
2016-07-27 11:48:24 +01:00
Daniil Fedotov
f2c4986fcf
Implementing rename_cluster_nodes command
2016-07-26 18:08:37 +01:00
Daniil Fedotov
cd68b3ce9c
Implement change_cluster_node_type command
2016-07-25 16:48:45 +01:00
Daniil Fedotov
12cbd50f10
Implement update_cluster_nodes command
2016-07-25 15:11:05 +01:00
Daniil Fedotov
0eee8e2446
Implement force_boot command
2016-07-25 14:01:41 +01:00
Daniil Fedotov
57c4a0fa69
Fix some tests
2016-07-25 14:00:55 +01:00
Daniil Fedotov
a84cd93d2e
Implement eval command
2016-07-22 17:17:15 +01:00
Michael Klishin
58708b6ac3
Merge branch 'master' into rabbitmq-cli-83
2016-07-15 23:54:48 +03:00
Michael Klishin
909a3b41fe
Adapt to recent server rabbit_health_check changes
2016-07-15 23:47:15 +03:00
Michael Klishin
786ec7672d
Rename
2016-07-10 21:36:12 +03:00
Michael Klishin
09fc873a34
Improve a couple of error atoms
2016-07-10 19:47:27 +03:00
Michael Klishin
70f486c27d
Squash a few compilation warnings
2016-07-10 12:08:33 +03:00
Michael Klishin
941263e83c
Eliminate several warnings
2016-06-26 22:47:37 +03:00
Daniil Fedotov
5b828c7e64
Tests for command modules
2016-06-23 12:33:39 +01:00
Daniil Fedotov
5c5f4d4414
Plugins command tests
2016-06-23 10:50:01 +01:00
Daniil Fedotov
eda1e7cac2
Tests for list plugins command
2016-06-23 10:50:01 +01:00
Daniil Fedotov
963f6a2ff9
tests for list plugins command
2016-06-23 10:50:01 +01:00
Daniil Fedotov
2415ee58aa
Plugin management commands
2016-06-23 10:50:01 +01:00
Daniil Fedotov
75d8632d87
Aliases in behaviour. List plugins command
2016-06-23 10:50:01 +01:00
Daniil Fedotov
33caaecb9b
Select command scope by namespace
2016-06-23 10:50:01 +01:00
Daniil Fedotov
0d026a5f4a
Example plugins command
2016-06-23 10:50:01 +01:00
Daniil Fedotov
deb6e99b49
Removed scopes from command behaviour
2016-06-23 10:50:01 +01:00
Daniil Fedotov
9baa5c1ebe
Load commands from load path. Specify scope in application config by file name
2016-06-23 10:50:01 +01:00
Daniil Fedotov
1f3bc3e6d7
Use scopes and separate Mix projects to generate escripts
2016-06-23 10:50:01 +01:00
Michael Klishin
78ae2585a3
Inline
2016-06-15 00:22:42 +03:00
Michael Klishin
bc5ff3bf26
Merge pull request #79 from rabbitmq/rabbitmq-cli-69
...
Purge queue command
2016-06-14 23:07:55 +03:00
Michael Klishin
2d68d42241
Assert that messages were purged; don't assume 0 messages were deleted
2016-06-14 23:04:27 +03:00
Michael Klishin
d77eb83c5f
A few Helpers.parse_node calls are no longer necessary
...
[Finish ##121221959]
2016-06-14 14:21:16 +03:00
Andrew Bruce
ec3a191515
Purge queue command
...
This initial version makes two RPC calls:
1. Gets the amqqueue resource
2. Makes the purge request using that resource
Issue #69
2016-06-14 10:31:47 +01:00
Michael Klishin
39b3de4d1e
Namespace commands, fixes #74
...
Note that the top level module is not namespaced. It's
not clear to me if it should be or will be end up using
and (Elixir/Mix) umbrella project anyway.
2016-06-10 02:54:22 +03:00
Andrew Bruce
0c94b3d87a
Fix typo in node name
2016-06-09 15:49:57 +01:00
Michael Klishin
d27469c665
RabbitMQ.CLI.RabbitMQCtl => RabbitMQ.CLI.Ctl, references #74
2016-06-09 04:08:21 +03:00
Michael Klishin
4e31f4c627
More renaming, references #74
2016-06-09 04:00:43 +03:00
Michael Klishin
509179402a
Missing file for the previous commit
2016-06-09 03:35:11 +03:00
Michael Klishin
0c35f5a8cd
Move start_distribution into RabbitMQ.CLI.Distribution
2016-06-09 02:23:10 +03:00