Link Search Menu Expand Document

Prerequisites

This page explains how to set up your environment for using ClusterFuzz.


Requirements

Many features of ClusterFuzz depend on Google Cloud Platform services, but it’s possible to run it locally without these dependencies for testing purposes. See the Architecture page for more details.

Note: Local development is only supported on Linux platform.

Getting the code

Clone the ClusterFuzz repository to your machine by running the following command:

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

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

git checkout tags/vX.Y.Z

where X.Y.Z is the release version (for example, 1.0.1).

Installing prerequisites

Google Cloud SDK

Install the Google Cloud SDK by following the online instructions.

Log in to your Google Cloud account

Note: This is not necessary if you’re running ClusterFuzz locally.

If you’re 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

Download Python 3.7, then install it. If you have Python installed already, you can verify its version by running python --version.

We recommend building using python source from the official repo, as it installs the needed python headers and pip. Otherwise, make sure to explicitly install them.

Go programming language

Install the Go programming language.

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 pipenv

After you run the local/install_deps.bash script, activate pipenv by running the following command:

pipenv shell

This loads all the Python dependencies in the current environment.

You can verify that everything works by running:

python butler.py --help