consul/command
Matt Keeler 3145bf5230 Centralized Config CLI (#5731)
* Add HTTP endpoints for config entry management

* Finish implementing decoding in the HTTP Config entry apply endpoint

* Add CAS operation to the config entry apply endpoint

Also use this for the bootstrapping and move the config entry decoding function into the structs package.

* First pass at the API client for the config entries

* Fixup some of the ConfigEntry APIs

Return a singular response object instead of a list for the ConfigEntry.Get RPC. This gets plumbed through the HTTP API as well.

Dont return QueryMeta in the JSON response for the config entry listing HTTP API. Instead just return a list of config entries.

* Minor API client fixes

* Attempt at some ConfigEntry api client tests

These don’t currently work due to weak typing in JSON

* Get some of the api client tests passing

* Implement reflectwalk magic to correct JSON encoding a ProxyConfigEntry

Also added a test for the HTTP endpoint that exposes the problem. However, since the test doesn’t actually do the JSON encode/decode its still failing.

* Move MapWalk magic into a binary marshaller instead of JSON.

* Add a MapWalk test

* Get rid of unused func

* Get rid of unused imports

* Fixup some tests now that the decoding from msgpack coerces things into json compat types

* Stub out most of the central config cli

Fully implement the config read command.

* Basic config delete command implementation

* Implement config write command

* Implement config list subcommand

Not entirely sure about the output here. Its basically the read output indented with a line specifying the kind/name of each type which is also duplicated in the indented output.

* Update command usage

* Update some help usage formatting

* Add the connect enable helper cli command

* Update list command output

* Rename the config entry API client methods.

* Use renamed apis

* Implement config write tests

Stub the others with the noTabs tests.

* Change list output format

Now just simply output 1 line per named config

* Add config read tests

* Add invalid args write test.

* Add config delete tests

* Add config list tests

* Add connect enable tests

* Update some CLI commands to use CAS ops

This also modifies the HTTP API for a write op to return a boolean indicating whether the value was written or not.

* Fix up the HTTP API CAS tests as I realized they weren’t testing what they should.

* Update config entry rpc tests to properly test CAS

* Fix up a few more tests

* Fix some tests that using ConfigEntries.Apply

* Update config_write_test.go

* Get rid of unused import
2019-04-30 16:27:16 -07:00
..
acl ACL Token ID Initialization (#5307) 2019-04-30 11:45:36 -04:00
agent Move internal/ to sdk/ (#5568) 2019-03-27 08:54:56 -04:00
catalog Implement data filtering of some endpoints (#5579) 2019-04-16 12:00:15 -04:00
config Centralized Config CLI (#5731) 2019-04-30 16:27:16 -07:00
connect Centralized Config CLI (#5731) 2019-04-30 16:27:16 -07:00
debug Add fmt and vet (#5671) 2019-04-25 12:26:33 -04:00
event Pass a testing.T into NewTestAgent and TestAgent.Start (#5342) 2019-02-14 10:59:14 -05:00
exec Move internal/ to sdk/ (#5568) 2019-03-27 08:54:56 -04:00
flags acl: adding support for kubernetes auth provider login (#5600) 2019-04-26 14:49:25 -05:00
forceleave Move internal/ to sdk/ (#5568) 2019-03-27 08:54:56 -04:00
helpers Centralized Config CLI (#5731) 2019-04-30 16:27:16 -07:00
info Pass a testing.T into NewTestAgent and TestAgent.Start (#5342) 2019-02-14 10:59:14 -05:00
intention Move internal/ to sdk/ (#5568) 2019-03-27 08:54:56 -04:00
join Pass a testing.T into NewTestAgent and TestAgent.Start (#5342) 2019-02-14 10:59:14 -05:00
keygen commands: get HTTP API flags for usage automatically 2017-10-18 00:08:45 +02:00
keyring Pass a testing.T into NewTestAgent and TestAgent.Start (#5342) 2019-02-14 10:59:14 -05:00
kv Move internal/ to sdk/ (#5568) 2019-03-27 08:54:56 -04:00
leave Pass a testing.T into NewTestAgent and TestAgent.Start (#5342) 2019-02-14 10:59:14 -05:00
lock Merge pull request #5376 from hashicorp/fix-tests 2019-04-04 17:09:32 -04:00
login acl: adding support for kubernetes auth provider login (#5600) 2019-04-26 14:49:25 -05:00
logout acl: adding support for kubernetes auth provider login (#5600) 2019-04-26 14:49:25 -05:00
maint Pass a testing.T into NewTestAgent and TestAgent.Start (#5342) 2019-02-14 10:59:14 -05:00
members Pass a testing.T into NewTestAgent and TestAgent.Start (#5342) 2019-02-14 10:59:14 -05:00
monitor Pass a testing.T into NewTestAgent and TestAgent.Start (#5342) 2019-02-14 10:59:14 -05:00
operator Pass a testing.T into NewTestAgent and TestAgent.Start (#5342) 2019-02-14 10:59:14 -05:00
reload Pass a testing.T into NewTestAgent and TestAgent.Start (#5342) 2019-02-14 10:59:14 -05:00
rtt Move internal/ to sdk/ (#5568) 2019-03-27 08:54:56 -04:00
services Move internal/ to sdk/ (#5568) 2019-03-27 08:54:56 -04:00
snapshot Move internal/ to sdk/ (#5568) 2019-03-27 08:54:56 -04:00
tls tls: allow to add ip addresses as Subject Alternative Names when creating certificates (#5602) 2019-04-04 14:32:02 +02:00
validate Move internal/ to sdk/ (#5568) 2019-03-27 08:54:56 -04:00
version commands: run all tests in parallel (again) 2017-10-18 00:08:45 +02:00
watch cli: actually allow the 'connect envoy' and 'watch' subcommands to work with -token-file (#5733) 2019-04-30 09:59:00 -05:00
commands_oss.go Centralized Config CLI (#5731) 2019-04-30 16:27:16 -07:00
registry.go Abandon daemonize for simpler solution (preserving history): 2018-06-25 12:24:10 -07:00