Skip to content
Kaspar Schleiser edited this page Sep 20, 2017 · 5 revisions

Introduction

The PiFleet is a bunch of (mostly) Raspberry Pi being managed by a central server (the PiHub). It is intended to provide an easy way to share boards between developers who are physically distributed around the globe.

Overview

The PiHub is running a Salt master that is used to manage the nodes. The RasPis are running a Raspbian image that has been customized to automatically bootstrap Salt.

Current features

  • set up a VPN between the Hub and all nodes
  • manage users and their SSH keys
  • provide all nodes with a global IPv6 address
  • optionally provide nodes with IPv6 subnets

How to use

Set up access

(Access is currently restricted to RIOT maintainers.)

In order to get access, send a preferred username together with an ssh public key to kaspar@schleiser.de.

In order to reduce typing, add the following to your ".ssh/config":

Host pihub
HostName pihub.riot-labs.de
Port 33333
Host pi-*
ProxyJump pihub

Play with the fleet

Get a list of nodes:

# ssh pihub ls /tmp/nodes

Try accessing one (hostname was active at time of writing this):

# ssh pi-d5d933f9

Add nodes

In order to hook up a Pi to the fleet:

  • download the latest image from https://riot-labs.de/dl/pifleet/
  • unzip, write to sdcard, put in the raspi's sdcard slot
  • connect the raspi to a network providing IPv4 via DHCP
  • power up the raspi
  • notify the pihub maintainers

The Pi will connect to pihub.riot-labs.de and await accepting of it's public key. Once accepted, Salt will configure users, the VPN and possibly other stuff. As soon as this provisioning is complete, you can no longer access the Pi as user "pi" for security reasons (it is now globally reachable).

note The raspi will set up a VPN and then be globally reachable via IPv6. Please check with the local sysadmins if that is alright.

Clone this wiki locally