Download and installation

Hoverfly comes with a command line interface called hoverctl. Archives containing the Hoverfly and hoverctl binaries are available for the major operating systems and architectures.

Download the correct archive, extract the binaries and place them in a directory on your PATH.

Homebrew (MacOS)

If you have homebrew, you can install Hoverfly using the brew command.

brew install SpectoLabs/tap/hoverfly

To upgrade your existing hoverfly to the latest release:

brew upgrade hoverfly

To show which versions are installed in your machine:

brew list --versions hoverfly

You can switch to a previously installed version as well:

brew switch hoverfly <version>

To remove old versions :

brew cleanup hoverfly

Docker

If you have Docker, you can run Hoverfly using the docker command.

docker run -d -p 8888:8888 -p 8500:8500 spectolabs/hoverfly:latest

This will run the latest version of the Hoverfly Docker image.

You can also pass Hoverfly configuration flags when starting with Docker. For example if you need to run Hoverfly in webserver mode:

docker run -d -p 8888:8888 -p 8500:8500 spectolabs/hoverfly:latest -webserver

This Docker image does not contain hoverctl. Our recommendation is to have hoverctl on your host machine and then configure hoverctl to use the newly started Hoverfly Docker instance as a new target.

See also

For a tutorial of creating a new target in hoverctl, see Controlling a remote Hoverfly instance with hoverctl.

Kubernetes

You can use Helm to install Hoverfly directly to your Kubernetes cluster. Hoverfly chart is available from the official Helm incubator repo.

Use helm repo add to add the incubator repo if you haven’t done so:

helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com/

Here is the command for a basic Hoverfly installation with the default settings:

helm install incubator/hoverfly

The default installation create a ClusterIP type service, which makes it only reachable from within the cluster.

After the installation, you can use port forwarding to access the application on localhost:

kubectl port-forward $HOVERFLY_POD_NAME 8888 8500

You can find the HOVERFLY_POD_NAME by doing kubectl get pod

See more details on Helm Charts project.