Puppet Class: swift::proxy::cache

Defined in:
manifests/proxy/cache.pp

Overview

Configures the swift proxy memcache server

memcache_servers

A list of the memcache servers to be used. Entries

should be in the form host:port.
tls_enabled

(Optional) Global toggle for TLS usage when communicating with the caching servers. Default to false

tls_cafile

(Optional) Path to a file of concatenated CA certificates in PEM format necessary to establish the caching server’s authenticity. If tls_enabled is False, this option is ignored. Defaults to undef

tls_certfile

(Optional) Path to a single file in PEM format containing the client’s certificate as well as any number of CA certificates needed to establish the certificate’s authenticity. This file is only required when client side authentication is necessary. If tls_enabled is False, this option is ignored. Defaults to undef

tls_keyfile

(Optional) Path to a single file containing the client’s private key in. Otherwise the private key will be taken from the file specified in tls_certfile. If tls_enabled is False, this option is ignored. Defaults to undef

memcache_max_connections

Sets the maximum number of connections to

each memcached server per worker

Dependencies

Class['memcached']

Examples

Authors

Dan Bode dan@puppetlabs.com

Copyright 2011 Puppetlabs Inc, unless otherwise noted.

Parameters:

  • memcache_servers (Any) (defaults to: ['127.0.0.1:11211'])
  • tls_enabled (Any) (defaults to: false)
  • tls_cafile (Any) (defaults to: undef)
  • tls_certfile (Any) (defaults to: undef)
  • tls_keyfile (Any) (defaults to: undef)
  • memcache_max_connections (Any) (defaults to: '2')


50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'manifests/proxy/cache.pp', line 50

class swift::proxy::cache(
  $memcache_servers         = ['127.0.0.1:11211'],
  $tls_enabled              = false,
  $tls_cafile               = undef,
  $tls_certfile             = undef,
  $tls_keyfile              = undef,
  $memcache_max_connections = '2'
) {

  include swift::deps

  # require the memcached class if its on the same machine
  if !empty(grep(any2array($memcache_servers), '127.0.0.1')) {
    Class['memcached'] -> Class['swift::proxy::cache']
  }

  swift_proxy_config {
    'filter:cache/use':                      value => 'egg:swift#memcache';
    'filter:cache/memcache_servers':         value => join(any2array($memcache_servers), ',');
    'filter:cache/tls_enabled':              value => $tls_enabled;
    'filter:cache/tls_cafile':               value => $tls_cafile;
    'filter:cache/tls_certfile':             value => $tls_certfile;
    'filter:cache/tls_keyfile':              value => $tls_keyfile;
    'filter:cache/memcache_max_connections': value => $memcache_max_connections;
  }

}