Prerequisites


Requirements

Many features of ClusterFuzz depend on Google Cloud Platform services (see this page for more details). However, it’s possible to run it locally without these dependencies for testing purposes.

While ClusterFuzz runs on a number of platforms, local development is only supported on Linux and macOS.

Getting the code

git clone https://github.com/google/clusterfuzz
cd clusterfuzz

We recommend that you use the last release version of our code for stability reasons (rather than master branch). You can checkout a particular release using:

git checkout tags/vX.Y.Z

where X.Y.Z is the release version (e.g. 1.0.1).

Installing prerequisites

Google Cloud SDK

Install the Google Cloud SDK by following the instructions here.

(Optional) Log in to your Google Cloud account

This is not necessary if you are simply running ClusterFuzz locally.

If you are planning to set up ClusterFuzz in production, you should authenticate your account with the gcloud tool:

gcloud auth application-default login
gcloud auth login

Python programming language

Install Python 2.7. You can download it here.

If you already have Python installed, you can verify its version by running python --version. The minimum required version is 2.7.10.

Go programming language

Install the Go programming language by following the instructions here.

Other dependencies

We provide a script for installing all other development dependencies on Linux and macOS.

Our supported systems include:

  • Ubuntu (14.04, 16.04, 17.10, 18.04, 18.10)
  • Debian 8 (jessie) or later
  • Recent versions of macOS with homebrew (experimental)

To install the dependencies, run the script:

local/install_deps.bash

Loading virtualenv

Activate the virtualenv created by the local/install_deps.bash script. This loads all the python dependencies in the current environment.

source ENV/bin/activate

Verify everything works by running:

python butler.py --help