Type to search.

Installing

Serverless

Elastic Cloud Serverless projects are autoscaled environments, fully managed by Elastic and available on Elastic Cloud.

Availability

  • Generally available

    This functionality is generally available and ready for production usage.

Serverless interfaces and procedures might differ from classic Elastic Stack deployments.

ECH

Elastic Cloud Hosted lets you manage and configure one or more deployments of the versioned Elastic Stack, hosted on Elastic Cloud.

Availability

  • Generally available

    This functionality is generally available and ready for production usage.

ECE

Elastic Cloud Enterprise is a self-managed orchestration platform for deploying and managing the Elastic Stack at scale.

Availability

  • Generally available

    This functionality is generally available and ready for production usage.

This documentation corresponds to the latest patch available for each minor version. If you're not using the latest patch, check the release notes for changes.

This guide explains how to install the current 1.15.0 release of ecctl on supported operating systems. Release artifacts are available from the release page. If you need changes that are not yet included in the latest release, you can build ecctl from source.

You can install ecctl using one of these methods:

  • macOS: Homebrew (recommended) or archive (.tar.gz)
  • Linux: deb, rpm, or archive (.tar.gz)
  • Windows: Install with go install
  • Any OS: Build from source

For shell completions, refer to Enable shell completions. If you download release artifacts (.tar.gz, .deb, or .rpm), refer to Verify downloaded artifacts to optionally verify their SHA-256 checksums before installation.

The simplest installation for macOS users is to install ecctl with Homebrew:

Shell
brew tap elastic/tap
brew install elastic/tap/ecctl
  1. Download the .tar.gz archive for your architecture from the release page:

    Shell
    # Apple Silicon
    curl -L -O https://download.elastic.co/downloads/ecctl/1.15.0/ecctl_1.15.0_darwin_arm64.tar.gz
    
    # Intel (x86_64)
    curl -L -O https://download.elastic.co/downloads/ecctl/1.15.0/ecctl_1.15.0_darwin_amd64.tar.gz
    
  2. Extract the archive and move the ecctl binary to a directory in your PATH, for example /usr/local/bin.

  3. Verify the installation:

Shell
ecctl version

Linux packages are published with every release and are available from the release page.

  • Debian/Ubuntu: ecctl_<VERSION>_linux_64-bit.deb, ecctl_<VERSION>_linux_32-bit.deb, or ecctl_<VERSION>_linux_arm64.deb
  • RHEL/CentOS/Fedora: ecctl_<VERSION>_linux_64-bit.rpm, ecctl_<VERSION>_linux_32-bit.rpm, or ecctl_<VERSION>_linux_arm64.rpm

Download the package that matches your system and architecture, then install it with your package manager. For example:

  • On Debian/Ubuntu systems:

    Shell
    curl -L -O https://download.elastic.co/downloads/ecctl/1.15.0/ecctl_1.15.0_linux_64-bit.deb
    sudo dpkg -i ecctl_1.15.0_linux_64-bit.deb
    
  • On RHEL/CentOS/Fedora systems:

    Shell
    curl -L -O https://download.elastic.co/downloads/ecctl/1.15.0/ecctl_1.15.0_linux_64-bit.rpm
    sudo rpm -i ecctl_1.15.0_linux_64-bit.rpm
    
  1. Download the Linux .tar.gz archive for your architecture from the release page:

    Shell
    # x86_64 (AMD64)
    curl -L -O https://download.elastic.co/downloads/ecctl/1.15.0/ecctl_1.15.0_linux_amd64.tar.gz
    
    # ARM64
    curl -L -O https://download.elastic.co/downloads/ecctl/1.15.0/ecctl_1.15.0_linux_arm64.tar.gz
    
    # x86 (386)
    curl -L -O https://download.elastic.co/downloads/ecctl/1.15.0/ecctl_1.15.0_linux_386.tar.gz
    
  2. Extract the archive and move the ecctl binary to a directory in your PATH, for example /usr/local/bin:

    Shell
    tar -xzf ecctl_1.15.0_linux_amd64.tar.gz
    sudo cp ecctl /usr/local/bin
    
  3. Verify the installation:

    Shell
    ecctl version
    

Official Windows binaries are not currently published. Install ecctl with go install:

  1. Install Go.

  2. Open Command Prompt or PowerShell.

  3. Confirm Go is available:

    Powershell
    go version
    
  4. Install ecctl:

    Powershell
    go install github.com/elastic/ecctl@latest
    

    To install a different version, replace @latest with a specific tag, for example:

    Powershell
    go install github.com/elastic/ecctl@v1.15.0
    
  5. Add Go's binary directory to your PATH if needed (%USERPROFILE%\go\bin by default).

  6. Verify the installation:

    Powershell
    ecctl version
    

Use this method if you need changes that are not yet included in an official release or want to build from a specific branch or commit.

Clone the repository and build locally:

Shell
git clone https://github.com/elastic/ecctl.git
cd ecctl
go build .

This command produces an ecctl binary (ecctl.exe on Windows) in the current directory.

You can also install directly with Go:

Shell
go install .

This installs the binary into GOBIN (or GOPATH/bin if GOBIN is not set). Make sure that location is in your PATH.

For contributor-focused setup details, see Setting up a dev environment.

If you download release artifacts (.tar.gz, .deb, or .rpm), you can optionally verify their SHA-256 checksums before installing them.

  1. Download the checksum file:

    Shell
    curl -L -O https://download.elastic.co/downloads/ecctl/1.15.0/ecctl_1.15.0_checksums.txt
    
  2. Compute the SHA-256 checksum of the downloaded artifact. For example:

    Shell
    # macOS
    shasum -a 256 ecctl_1.15.0_darwin_arm64.tar.gz
    
    # Linux
    sha256sum ecctl_1.15.0_linux_amd64.tar.gz
    
  3. Display the expected checksum from the checksums file. For example:

    Shell
    grep "ecctl_1.15.0_linux_amd64.tar.gz" ecctl_1.15.0_checksums.txt
    

    Verify that the checksum matches the value returned by the checksum command.

You can enable shell completions after installation. These instructions apply to Bash and Zsh on macOS and Linux.

Load completions for the current shell session:

Shell
source <(ecctl generate completions)

Persist completions across sessions:

  • Bash: echo "source <(ecctl generate completions)" >> ~/.bash_profile
  • Zsh: echo "source <(ecctl generate completions)" >> ~/.zshrc
  • ecctl: command not found: Add the binary location to your PATH.
  • permission denied when copying to system paths: Use elevated privileges (sudo on Linux/macOS).
  • go: command not found on Windows: Ensure Go is installed correctly and restart the terminal after installation.

Use the same installation method you used to install ecctl:

  • Homebrew (macOS):
    Shell
    brew upgrade ecctl
    
  • Linux package (deb/rpm): Install a newer package from the release page
  • Archive (.tar.gz) (macOS/Linux): Download the latest archive from the release page and replace the existing binary.
  • Windows (go install):
    Powershell
    go install github.com/elastic/ecctl@latest
    

After installing ecctl, continue with:

If you use serverless projects, refer to Manage serverless projects