|
| 1 | +[id="{p}-release-notes-v1.0.0"] |
| 2 | +=== Elastic Cloud Control (ecctl) v1.0.0 |
| 3 | +++++ |
| 4 | +<titleabbrev>v1.0.0</titleabbrev> |
| 5 | +++++ |
| 6 | + |
| 7 | +<<{p}-release-notes-v1.0.0-whats-new,What's new>> | <<{p}-release-notes-v1.0.0-bug-fixes,Bug fixes>> | <<{p}-release-notes-v1.0.0-breaking-changes,Breaking changes>> | <<{p}-release-notes-v1.0.0-changelog,Changelog>> |
| 8 | + |
| 9 | +Welcome to the v1.0.0 release of {n}. This version brings new features, some breaking changes, and bug fixes. |
| 10 | + |
| 11 | +Elastic Cloud Control (ecctl) is Elastic’s CLI to manage Elasticsearch Service (ESS) and Elastic Cloud Enterprise (ECE). |
| 12 | + |
| 13 | +Download the release binaries: |
| 14 | + |
| 15 | +[%hardbreaks] |
| 16 | +https://download.elastic.co/downloads/ecctl/1.0.0/ecctl_1.0.0_darwin_amd64.tar.gz[ecctl_1.0.0_darwin_amd64.tar.gz] |
| 17 | +https://download.elastic.co/downloads/ecctl/1.0.0/ecctl_1.0.0_linux_32-bit.deb[ecctl_1.0.0_linux_32-bit.deb] |
| 18 | +https://download.elastic.co/downloads/ecctl/1.0.0/ecctl_1.0.0_linux_32-bit.rpm[ecctl_1.0.0_linux_32-bit.rpm] |
| 19 | +https://download.elastic.co/downloads/ecctl/1.0.0/ecctl_1.0.0_linux_386.tar.g[ecctl_1.0.0_linux_386.tar.g] |
| 20 | +https://download.elastic.co/downloads/ecctl/1.0.0/ecctl_1.0.0_linux_64-bit.deb[ecctl_1.0.0_linux_64-bit.deb] |
| 21 | +https://download.elastic.co/downloads/ecctl/1.0.0/ecctl_1.0.0_linux_64-bit.rpm[ecctl_1.0.0_linux_64-bit.rpm] |
| 22 | +https://download.elastic.co/downloads/ecctl/1.0.0/ecctl_1.0.0_linux_amd64.tar.gz[ecctl_1.0.0_linux_amd64.tar.gz] |
| 23 | + |
| 24 | +[float] |
| 25 | +[id="{p}-release-notes-v1.0.0-whats-new"] |
| 26 | +==== What's new |
| 27 | + |
| 28 | +* *Deployment create command now supports flag-based actions.* Instance definition flags for the `ecctl deployment create` command are now available. Using a predefined deployment definition JSON file is still optional with the `--file` flag. |
| 29 | + |
| 30 | +* *Deployment show command can now generate payload to update a deployment.* With the addition of a new `--generate-update-payload` flag for the `ecctl deployment show` command, you can obtain a valid update payload from an existing deployment. This payload can be manually edited to be used in conjunction with the `ecctl deployment update` command. |
| 31 | + |
| 32 | +* *Enterprise Search support* All relevant commands now support Enterprise Search as a resource kind. |
| 33 | ++ |
| 34 | +[source,sh] |
| 35 | +-- |
| 36 | +$ ecctl deployment plan cancel --kind enterprise_search |
| 37 | +-- |
| 38 | + |
| 39 | +* *New Elasticsearch keystore commands.* The following commands have been added: |
| 40 | ++ |
| 41 | +-- |
| 42 | +`ecctl deployment elasticsearch keystore show`:: Shows the settings from the Elasticsearch resource keystore. |
| 43 | +`ecctl deployment elasticsearch keystore update`:: Updates the contents of an Elasticsearch resource keystore. |
| 44 | +-- |
| 45 | + |
| 46 | +* *New User-Agent header.* API calls made through ecctl now use `ecctl/<version>` instead of `cloud-sdk-go/<version>`. |
| 47 | + |
| 48 | +* *Command-layer testing* It is now possible to write tests for commands using the new `testutils.RunCmdAssertion()` testing function: |
| 49 | ++ |
| 50 | +[source,go] |
| 51 | +-- |
| 52 | +func Test_showCmd(t *testing.T) { |
| 53 | +<...> |
| 54 | + { |
| 55 | + name: "succeeds with JSON format", |
| 56 | + args: testutils.Args{ |
| 57 | + Cmd: showCmd, |
| 58 | + Args: []string{ |
| 59 | + "show", util.ValidClusterID, "--ref-id=main-elasticsearch", |
| 60 | + }, |
| 61 | + Cfg: testutils.MockCfg{ |
| 62 | + OutputFormat: "json", |
| 63 | + Responses: []mock.Response{ |
| 64 | + mock.New200ResponseAssertion( |
| 65 | + reqAssertion, mock.NewByteBody(showRawResp), |
| 66 | + ), |
| 67 | + }, |
| 68 | + }, |
| 69 | + }, |
| 70 | + want: testutils.Assertion{ |
| 71 | + Stdout: string(showJSONOutput) + "\n", |
| 72 | + }, |
| 73 | + }, |
| 74 | + <...> |
| 75 | + for _, tt := range tests { |
| 76 | + t.Run(tt.name, func(t *testing.T) { |
| 77 | + testutils.RunCmdAssertion(t, tt.args, tt.want) |
| 78 | + }) |
| 79 | + } |
| 80 | +-- |
| 81 | + |
| 82 | +[float] |
| 83 | +[id="{p}-release-notes-v1.0.0-bug-fixes"] |
| 84 | +==== Bug fixes |
| 85 | + |
| 86 | +* *Inability to create or update deployments through Ansible.* ecctl should behave in the same manner when executed from the terminal or any automation tool. A bug which showed `os.Stdin` as always populated when coupled with Ansible has been fixed. |
| 87 | + |
| 88 | +* *Allocator vacate flag parsing has been fixed* The `--target` flag was being ignored due to using `GetStringSlice()` when the flag declaration is `Array`. Flag parsing for allocator vacate operations now works as documented. |
| 89 | + |
| 90 | +[float] |
| 91 | +[id="{p}-release-notes-v1.0.0-breaking-changes"] |
| 92 | +==== Breaking changes |
| 93 | + |
| 94 | +* *All APIs have been removed.* The APIs that ecctl consumes are useful to other projects. These have now been moved to cloud-sdk-go. If you have any code consuming these APIs, make sure to import the packages from https://github.com/elastic/cloud-sdk-go/tree/master/pkg/api[cloud-sdk-go/pkg/api] instead. |
| 95 | + |
| 96 | +* *Changes with commands and subcommands.* In order to maintain feature parity with the Elastic Cloud API endpoints, the following commands have changed: |
| 97 | ++ |
| 98 | +-- |
| 99 | +* `ecctl platform stack` is now `ecctl stack`. |
| 100 | +* `ecctl platform deployment-template` is now `ecctl deployment template`. |
| 101 | +-- |
| 102 | + |
| 103 | + |
| 104 | +[float] |
| 105 | +[id="{p}-release-notes-v1.0.0-changelog"] |
| 106 | +==== Changelog |
| 107 | +// The following section is autogenerated via git |
| 108 | + |
| 109 | +[%hardbreaks] |
| 110 | +https://github.com/elastic/ecctl/commit/ae1ff8f[ae1ff8f] release: Update cloud-sdk-go@v1.0.0 module (https://github.com/elastic/ecctl/pull/358[#358]) |
| 111 | +https://github.com/elastic/ecctl/commit/2158d38[2158d38] deployment: Support memory in GB for create command (https://github.com/elastic/ecctl/pull/357[#357]) |
| 112 | +https://github.com/elastic/ecctl/commit/6290cc0[6290cc0] deployment: Add --generate-update-payload to show (https://github.com/elastic/ecctl/pull/355[#355]) |
| 113 | +https://github.com/elastic/ecctl/commit/b7bde30[b7bde30] deployment: Change of terminology for create command (https://github.com/elastic/ecctl/pull/356[#356]) |
| 114 | +https://github.com/elastic/ecctl/commit/3ed0a08[3ed0a08] create: Use standard enterprise_search instead of enterprise-search (https://github.com/elastic/ecctl/pull/354[#354]) |
| 115 | +https://github.com/elastic/ecctl/commit/1eb24df[1eb24df] docs: specify all ECE specific commands and add icons to .adoc files (https://github.com/elastic/ecctl/pull/352[#352]) |
| 116 | +https://github.com/elastic/ecctl/commit/0fab35b[0fab35b] deployment: Fix create command against ESS (https://github.com/elastic/ecctl/pull/348[#348]) |
| 117 | +https://github.com/elastic/ecctl/commit/b86710c[b86710c] build(deps): bump github.com/go-openapi/runtime from 0.19.19 to 0.19.20 (https://github.com/elastic/ecctl/pull/345[#345]) |
| 118 | +https://github.com/elastic/ecctl/commit/42ce7af[42ce7af] docs: Update to reflect the current state of the project (https://github.com/elastic/ecctl/pull/347[#347]) |
| 119 | +https://github.com/elastic/ecctl/commit/500e04a[500e04a] allocator: Fix Array parsing to slice parsing (https://github.com/elastic/ecctl/pull/346[#346]) |
| 120 | +https://github.com/elastic/ecctl/commit/1e9d805[1e9d805] deployment: Add elasticsearch keystore commands (https://github.com/elastic/ecctl/pull/344[#344]) |
| 121 | +https://github.com/elastic/ecctl/commit/f5d478e[f5d478e] deployment: Add template v2 and remove platform commands (https://github.com/elastic/ecctl/pull/343[#343]) |
| 122 | +https://github.com/elastic/ecctl/commit/982db38[982db38] deployment: create flags reenabled and Enterprise Search support (https://github.com/elastic/ecctl/pull/341[#341]) |
| 123 | +https://github.com/elastic/ecctl/commit/d0ba552[d0ba552] enterprise_search: Support and refactor (https://github.com/elastic/ecctl/pull/342[#342]) |
| 124 | +https://github.com/elastic/ecctl/commit/1f8bd04[1f8bd04] useragent: Add ecctl/<version> UserAgent header (https://github.com/elastic/ecctl/pull/340[#340]) |
| 125 | +https://github.com/elastic/ecctl/commit/d90a277[d90a277] docs: Add all vacate kinds to `--kind` flag (https://github.com/elastic/ecctl/pull/339[#339]) |
| 126 | +https://github.com/elastic/ecctl/commit/162f918[162f918] mod: Update cobra, crypto and Go required verisons (https://github.com/elastic/ecctl/pull/338[#338]) |
| 127 | +https://github.com/elastic/ecctl/commit/33d2c5c[33d2c5c] cmd: Remove sdkcmdutil.FileOrStdin use (https://github.com/elastic/ecctl/pull/337[#337]) |
| 128 | +https://github.com/elastic/ecctl/commit/21c5b18[21c5b18] deployment-template: Adds a new --template-format flag to command (https://github.com/elastic/ecctl/pull/332[#332]) |
| 129 | +https://github.com/elastic/ecctl/commit/bef41cf[bef41cf] cmd: fix testutil.newConfig ignored region (https://github.com/elastic/ecctl/pull/336[#336]) |
| 130 | +https://github.com/elastic/ecctl/commit/fa7fc09[fa7fc09] instance-configuration: Add region to commands (https://github.com/elastic/ecctl/pull/331[#331]) |
| 131 | +https://github.com/elastic/ecctl/commit/feb03d0[feb03d0] cmd/util/testutils: Add RunCmdAssertion test function (https://github.com/elastic/ecctl/pull/330[#330]) |
| 132 | +https://github.com/elastic/ecctl/commit/d64b9fe[d64b9fe] user: remove user api and update with sdk imports (https://github.com/elastic/ecctl/pull/328[#328]) |
| 133 | +https://github.com/elastic/ecctl/commit/32f8c70[32f8c70] stack: Move stack command and subcommands up one level (https://github.com/elastic/ecctl/pull/329[#329]) |
| 134 | +https://github.com/elastic/ecctl/commit/404fcfc[404fcfc] stack: Move stack command and subcommands up one level (https://github.com/elastic/ecctl/pull/329[#329]) |
| 135 | +https://github.com/elastic/ecctl/commit/cbf843f[cbf843f] deployment create: Remove region value on non-ESS (https://github.com/elastic/ecctl/pull/326[#326]) |
| 136 | +https://github.com/elastic/ecctl/commit/8c635e1[8c635e1] deb: Add missing maintainer vendor and description (https://github.com/elastic/ecctl/pull/323[#323]) |
| 137 | +https://github.com/elastic/ecctl/commit/e6f2ae0[e6f2ae0] proxy: Populate Region field API calls (https://github.com/elastic/ecctl/pull/321[#321]) |
| 138 | +https://github.com/elastic/ecctl/commit/d722f45[d722f45] platform: Update info command with region (https://github.com/elastic/ecctl/pull/320[#320]) |
| 139 | +https://github.com/elastic/ecctl/commit/f67d497[f67d497] proxy filtered-groups: Populate Region field API calls (https://github.com/elastic/ecctl/pull/315[#315]) |
| 140 | +https://github.com/elastic/ecctl/commit/cf61c87[cf61c87] build(deps): bump github.com/go-openapi/runtime from 0.19.15 to 0.19.19 (https://github.com/elastic/ecctl/pull/314[#314]) |
| 141 | +https://github.com/elastic/ecctl/commit/374ec52[374ec52] deployment-template: Update commands with region (https://github.com/elastic/ecctl/pull/316[#316]) |
| 142 | +https://github.com/elastic/ecctl/commit/f09b075[f09b075] role: Populate Region field API calls (https://github.com/elastic/ecctl/pull/309[#309]) |
| 143 | +https://github.com/elastic/ecctl/commit/4bbcb35[4bbcb35] runner: Populate Region field API calls (https://github.com/elastic/ecctl/pull/308[#308]) |
| 144 | +https://github.com/elastic/ecctl/commit/1088cdf[1088cdf] enrollment-token: Populate Region field API calls (https://github.com/elastic/ecctl/pull/307[#307]) |
| 145 | +https://github.com/elastic/ecctl/commit/b555750[b555750] misc: Removes files related to clusters API (https://github.com/elastic/ecctl/pull/311[#311]) |
| 146 | +https://github.com/elastic/ecctl/commit/3883b55[3883b55] Update vendors |
| 147 | +https://github.com/elastic/ecctl/commit/bf35dd0[bf35dd0] allocator: Remove the last hashicorp/go-multierror (https://github.com/elastic/ecctl/pull/306[#306]) |
| 148 | +https://github.com/elastic/ecctl/commit/acd442f[acd442f] repository: Populate snaprepoapi Region field (https://github.com/elastic/ecctl/pull/304[#304]) |
| 149 | +https://github.com/elastic/ecctl/commit/4dbbf68[4dbbf68] constructor: Populate constructorapi Region field (https://github.com/elastic/ecctl/pull/305[#305]) |
| 150 | +https://github.com/elastic/ecctl/commit/8d38d56[8d38d56] stack: Populate stackapi Region field (https://github.com/elastic/ecctl/pull/303[#303]) |
| 151 | +https://github.com/elastic/ecctl/commit/cc3415a[cc3415a] allocator: Populate allocatorapi Region parameter (https://github.com/elastic/ecctl/pull/302[#302]) |
| 152 | +https://github.com/elastic/ecctl/commit/ed92f72[ed92f72] api: Removes all platform apis and imports the from cloud-sdk-go (https://github.com/elastic/ecctl/pull/299[#299]) |
| 153 | +https://github.com/elastic/ecctl/commit/72362f3[72362f3] docs: Add --track flag to the deployment examples (https://github.com/elastic/ecctl/pull/300[#300]) |
| 154 | +https://github.com/elastic/ecctl/commit/84cc91a[84cc91a] mod: Update vendor to 60b0cbb commit (https://github.com/elastic/ecctl/pull/294[#294]) |
| 155 | +https://github.com/elastic/ecctl/commit/882a69a[882a69a] release: Fix git config and changelog format (https://github.com/elastic/ecctl/pull/287[#287]) |
| 156 | +https://github.com/elastic/ecctl/commit/c64d740[c64d740] pkg/deployment: Remove package from ecctl (https://github.com/elastic/ecctl/pull/285[#285]) |
| 157 | +https://github.com/elastic/ecctl/commit/7c145c9[7c145c9] build(deps): bump github.com/spf13/viper from 1.6.3 to 1.7.0 (https://github.com/elastic/ecctl/pull/286[#286]) |
| 158 | + |
| 159 | +_Release date: July 30, 2020_ |
0 commit comments