spiped tunnel creator

Vox Pupuli



4,465 latest version

5.0 quality score

Version information

  • 2.0.0 (latest)
released Jun 17th 2019
This version is compatible with:
  • Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x
  • Puppet >= 5.5.8 < 7.0.0
  • RedHat

Start using this module


puppet/spiped — version 2.0.0 Jun 17th 2019


License Build Status Puppet Forge Puppet Forge - downloads Puppet Forge - scores

Table of Contents

  1. Overview
  2. Setup - The basics of getting started with spiped
  3. Usage - Configuration options and additional functionality
  4. Limitations - OS compatibility, etc.
  5. Development - Guide for contributing to the module


This puppet module is used for configuring spiped tunnels. It supports recent Debian and RedHat family OSes using Puppet 5 or greater.


Debian family systems

Supported Debian and Ubuntu OSes provide suitable spiped packages and no additional setup is required.

RedHat systems

This module can also work with RedHat systems, but you are responsible for providing the spiped package.

Either use the package_source parameter, or make sure your system has a repository setup that includes the spiped package.


class { 'spiped':
  package_source => '/path/to/spiped.rpm',


yumrepo { 'spiped':
  baseurl => 'http://repos.example.com/spiped',
  descr   => 'Internal spiped package repo',
  enabled => true,
  before  => Class['spiped'],


For example, let's say we have a host redis-host which hosts a Redis database. Many clients will connect to it.

On redis-host, we would define a server tunnel:

spiped::tunnel::server { 'redis':
  source_host        => '',
  source_port        => 1234,
  target_socket_file => '/var/run/redis.sock',
  secret             => 'hunter2', # You should use a much stronger/longer secret!

On clients, we would define a client tunnel:

spiped::tunnel::client { 'redis':
  source_socket_file => '/var/run/redis.sock',
  target_host        => 'redis-host'
  target_port        => 1234,
  secret             => 'hunter2', # You should use a much stronger/longer secret!

The secret is an arbitrarily-long shared symmetric key. For full strength security, the key should contain 256 or more bits of entropy.

Reference documentation is available in REFERENCE.md


  • Only systemd based OSes are supported.
  • Not all spiped options are currently configurable with this module.


This module was migrated from ckuehl/spiped to Vox Pupuli

We highly welcome new contributions to this module, especially those that include documentation, and rspec tests ;) but will happily guide you through the process, so, yes, please submit that pull request!

Reference documentation is generated using puppet-strings. To regenerate it, please run the rake task as follows.

bundle exec rake reference