LEAP Platform for Service Providers

The LEAP Platform is set of complementary packages and server recipes to automate the maintenance of LEAP services in a hardened Debian environment.

Its goal is to make it as painless as possible for sysadmins to deploy and maintain a service provider’s infrastructure for secure communication.

REQUIREMENTS – Before you begin, make sure you meet these requirements:

The LEAP Platform consists of three parts, detailed below:

  1. The platform recipes.
  2. The provider instance.
  3. The leap command line tool.

The platform recipes

The LEAP platform recipes define an abstract service provider. It is a set of Puppet modules designed to work together to provide to sysadmins everything they need to manage a service provider infrastructure that provides secure communication services.

LEAP maintains a repository of platform recipes, which typically do not need to be modified, although it can be forked and merged as desired. Most service providers using the LEAP platform can use the same set of platform recipes.

As these recipes consist in abstract definitions, in order to configure settings for a particular service provider a system administrator has to create a provider instance (see below).

LEAP’s platform recipes are distributed as a git repository: https://leap.se/git/leap_platform

The provider instance

A provider instance is a directory tree (typically tracked in git) containing all the configurations for a service provider’s infrastructure. A provider instance lives on your workstation, not on the server.

A provider instance primarily consists of:

A minimal provider instance directory looks like this:

└── bitmask                 # provider instance directory.
    ├── Leapfile            # settings for the `leap` command line tool.
    ├── provider.json       # global settings of the provider.
    ├── common.json         # settings common to all nodes.
    ├── nodes/              # a directory for node configurations.
    ├── files/              # keys, certificates, and other files.
    └── users/              # public key information for privileged sysadmins.

A provider instance directory contains everything needed to manage all the servers that compose a provider’s infrastructure. Because of this, any versioning tool and development work-flow can be used to manage your provider instance.

The leap command line tool

The leap command line tool is used by sysadmins to manage everything about a service provider’s infrastructure.

Keep these rules in mind:

The leap command line has many capabilities, including:

Everything about your provider is managed by editing JSON configuration files and running leap commands.

What is next?

We recommend reading the platform documentation in the following order:

  1. Quick Start Tutorial
  2. Getting Started
  3. Guide