Skip to content

Getting Started

Installation

Clone the repository:

git clone https://github.com/pulp-platform/snitch_cluster.git --recurse-submodules

If you had already cloned the repository without the --recurse-submodules flag, clone its submodules:

git submodule update --init --recursive

Tools and environment

This repository requires several tools to be installed on your machine. Some of these tools require non-free licenses. However, most of the functionality in this repository can be reproduced with free tools alone.

Note that installing all tools, in appropriate versions, may be non-trivial. For this purpose, we provide a Docker container with all free tools installed.

The following section provides instructions to install the Docker container.

Users with access to ETH Zurich IIS machines can find all tools already installed on these machines. To complete the setup, skip to the IIS environment setup section.

If you do choose to setup a custom development environment on your own machine, we strongly recommend you take example from our Docker file.

Docker container

The following instructions are extracted from the Docker container README.md. For additional information on the Docker container refer to that document.

Installation

Pre-built container

There is a pre-built version of the container available online. This version is up to date with the latest developments on the main branch. The CI publishes a new container every time a new commit is pushed to this branch.

To download the container, first login to the GitHub container registry:

docker login ghcr.io
You will be asked for a username (your GitHub username). As a password you should use a personal access token that at least has package registry read permission.

You can then install the container by running:

docker pull ghcr.io/pulp-platform/snitch_cluster:main

Build instructions

In case you cannot use the pre-built container, e.g. if you need to make changes to the Dockerfile, you can build the container locally by running the following command in the root of the repository:

sudo docker buildx build -t ghcr.io/pulp-platform/snitch_cluster:main -f util/container/Dockerfile .

IIS environment setup

To make sure the right versions of each tool are picked up on your IIS machine and install additional tools, run:

source iis-setup.sh

Have a look inside the script. You will want to add some of the steps contained therein to your shell startup file, e.g. exporting environment variables and activating the Python virtual environment. This way, every time you open a new shell, your environment will be ready for developing on Snitch, and you won't have to repeat the installation steps.