Puppet Class: varnish::secret

Defined in:
manifests/secret.pp

Overview

Specify the secret file for varnishadm This file can be changed without notifying varnish

Parameters:

  • secret (Any) (defaults to: undef)


3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'manifests/secret.pp', line 3

class varnish::secret (
  $secret = undef,
) {

  if $secret {

    file { $::varnish::secret_file:
      owner   => 'root',
      group   => 'varnish',
      mode    => '0640',
      content => "${secret}\n",
    }

  } else {

    file { $::varnish::secret_file:
      owner => 'root',
      group => 'varnish',
      mode  => '0640',
    }

    exec { 'Generate Varnish secret file':
      unless  => "/bin/egrep '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$' '${::varnish::secret_file}' >/dev/null",
      command => "/bin/cp /proc/sys/kernel/random/uuid '${::varnish::secret_file}'",
    }

  }
}