portauthority

Puppet module to bootstrap Port Authority

PRO-ZETA a.s.

prozeta

27,703 downloads

5,991 latest version

3.5 quality score

Version information

  • 0.5.34 (latest)
  • 0.5.33
  • 0.5.32
  • 0.5.31
  • 0.5.30
  • 0.5.29
  • 0.5.28
  • 0.5.27
  • 0.5.26
  • 0.5.25
  • 0.5.24
  • 0.5.23
  • 0.5.22
  • 0.5.21
  • 0.5.20
  • 0.5.19
  • 0.5.18
  • 0.5.17
  • 0.5.16
  • 0.5.15
  • 0.5.14
  • 0.5.13
  • 0.5.12
  • 0.5.11
  • 0.5.10
  • 0.5.9
  • 0.5.8
  • 0.5.7
  • 0.5.6
  • 0.5.5
  • 0.5.4
  • 0.5.3
  • 0.5.2
  • 0.5.1
  • 0.5.0
  • 0.4.10
  • 0.4.9
  • 0.4.8
  • 0.4.7
  • 0.4.6
  • 0.4.5
  • 0.4.4
  • 0.4.3
  • 0.4.2
  • 0.4.1
  • 0.4.0
  • 0.1.2
  • 0.1.1
  • 0.1.0
  • 0.0.11
  • 0.0.10
  • 0.0.9
  • 0.0.8
  • 0.0.7
  • 0.0.6
  • 0.0.5
  • 0.0.4
  • 0.0.3
  • 0.0.2
  • 0.0.1
released Dec 29th 2016
This version is compatible with:
  • Ubuntu

Start using this module

Tags: docker, paas, etcd

Documentation

prozeta/portauthority — version 0.5.34 Dec 29th 2016

PortAuthority

Table of Contents

  1. Description
  2. Setup - The basics of getting started with portauthority
  3. Usage - Configuration options and additional functionality
  4. Reference - An under-the-hood peek at what the module is doing and how
  5. Limitations - OS compatibility, etc.

Description

A module to provision the following:

  • Highly-Available ETCD cluster
  • Docker Engine
  • Docker Swarm with ETCD as k/v store and HA Swarm Managers

Additional stuff can be done:

  • create overlay networks
  • run Docker containers

Setup

What portauthority affects

Setup Requirements

Beginning with portauthority

Usage

Reference

Class definition

class{ 'portauthority':
  floating_ip        => '192.168.0.1',
  floating_ip_mask   => '255.255.255.0',
  floating_ip_iface  => 'eth0',
  cluster_members    => ['192.168.0.11','192.168.0.12','192.168.0.13'],
  private_registry   => 'my.private.registry',
  log_destination    => '192.168.0.100:5515',
  host_ip            => $::ipaddress_eth0,
  lb_image           => 'prozeta/pa-haproxy:latest',
  lb_name            => 'pa-loadbalancer',
  lb_log_destination => '192.168.0.100:5515',
  default_bridge_ip  => '192.168.255.1/24',
  gwbridge_network   => '192.168.254.0/24',
  gwbridge_address   => '192.168.254.1',
  dns                => ['8.8.8.8', '4.4.4.4'],
  swarm_tag          => 'latest',
}

Of course, you can use Hiera ;)

Types

pa_network

pa_service

Parser functions

etcd_get

Returns a value of an ETCD key.

The function takes 3 arguments:

  1. absolute key path (required)
  2. array of hashes with keys host and port to define the cluster to connect to. Defaults to [ { host: lookupvar('fqdn'), port 2379 } ]
  3. timeout for ETCD requests in seconds. Defaults to 3.
$variable = etcd_get('/some/key')

etcd_get_keys

Returns an Array of ETCD key names from a path.

The function takes 3 arguments:

  1. absolute key path (required)
  2. array of hashes with keys host and port to define the cluster to connect to. Defaults to [ { host: lookupvar('fqdn'), port 2379 } ]
  3. timeout for ETCD requests in seconds. Defaults to 3.
$variable = etcd_get_keys('/some')

etcd_get_hash

Returns a Hash from ETCD path.

The function takes 3 arguments:

  1. absolute key path (required)
  2. array of hashes with keys host and port to define the cluster to connect to. Defaults to [ { host: lookupvar('fqdn'), port 2379 } ]
  3. timeout for ETCD requests in seconds. Defaults to 3.
$variable = etcd_get_hash('/')

Limitations