- Overview
- Setup - The basics of getting started with spiped
- Usage - Configuration options and additional functionality
- Limitations - OS compatibility, etc.
- 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.
Supported Debian and Ubuntu OSes provide suitable spiped
packages and no additional setup is required.
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.
eg.
class { 'spiped':
package_source => '/path/to/spiped.rpm',
}
or
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 => '0.0.0.0',
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