Puppet Plan: peadm::install

Defined in:
plans/install.pp

Summary

Single-entry-point plan for installation and configuration of a new Puppet Enterprise Extra Large cluster. This plan accepts all parameters used by its sub-plans, and invokes them in order.

Overview

Parameters:

  • compiler_pool_address (Optional[String]) (defaults to: undef)

    The service address used by agents to connect to compilers, or the Puppet service. Typically this is a load balancer.

  • internal_compiler_a_pool_address (Optional[String]) (defaults to: undef)

    A load balancer address directing traffic to any of the “A” pool compilers. This is used for DR configuration in large and extra large architectures.

  • internal_compiler_b_pool_address (Optional[String]) (defaults to: undef)

    A load balancer address directing traffic to any of the “B” pool compilers. This is used for DR configuration in large and extra large architectures.

  • primary_host (Peadm::SingleTargetSpec)
  • replica_host (Optional[Peadm::SingleTargetSpec]) (defaults to: undef)
  • compiler_hosts (Optional[TargetSpec]) (defaults to: undef)
  • primary_postgresql_host (Optional[Peadm::SingleTargetSpec]) (defaults to: undef)
  • replica_postgresql_host (Optional[Peadm::SingleTargetSpec]) (defaults to: undef)
  • console_password (String)
  • version (String) (defaults to: '2019.8.5')
  • dns_alt_names (Optional[Array[String]]) (defaults to: undef)
  • pe_conf_data (Optional[Hash]) (defaults to: { })
  • r10k_remote (Optional[String]) (defaults to: undef)
  • r10k_private_key_file (Optional[String]) (defaults to: undef)
  • r10k_private_key_content (Optional[Peadm::Pem]) (defaults to: undef)
  • deploy_environment (Optional[String]) (defaults to: undef)
  • license_key_file (Optional[String]) (defaults to: undef)
  • license_key_content (Optional[String]) (defaults to: undef)
  • stagingdir (Optional[String]) (defaults to: undef)
  • download_mode (Enum[direct,bolthost]) (defaults to: 'bolthost')


17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# File 'plans/install.pp', line 17

plan peadm::install (
  # Standard
  Peadm::SingleTargetSpec           $primary_host,
  Optional[Peadm::SingleTargetSpec] $replica_host = undef,

  # Large
  Optional[TargetSpec]              $compiler_hosts = undef,

  # Extra Large
  Optional[Peadm::SingleTargetSpec] $primary_postgresql_host = undef,
  Optional[Peadm::SingleTargetSpec] $replica_postgresql_host = undef,

  # Common Configuration
  String                            $console_password,
  String                            $version                          = '2019.8.5',
  Optional[Array[String]]           $dns_alt_names                    = undef,
  Optional[String]                  $compiler_pool_address            = undef,
  Optional[String]                  $internal_compiler_a_pool_address = undef,
  Optional[String]                  $internal_compiler_b_pool_address = undef,
  Optional[Hash]                    $pe_conf_data                     = { },

  # Code Manager
  Optional[String]                  $r10k_remote              = undef,
  Optional[String]                  $r10k_private_key_file    = undef,
  Optional[Peadm::Pem]              $r10k_private_key_content = undef,
  Optional[String]                  $deploy_environment       = undef,

  # License Key
  Optional[String]                  $license_key_file    = undef,
  Optional[String]                  $license_key_content = undef,

  # Other
  Optional[String]                  $stagingdir    = undef,
  Enum[direct,bolthost]             $download_mode = 'bolthost',
) {
  peadm::assert_supported_bolt_version()

  peadm::assert_supported_pe_version($version)

  $install_result = run_plan('peadm::subplans::install',
    # Standard
    primary_host                   => $primary_host,
    replica_host                   => $replica_host,

    # Large
    compiler_hosts                 => $compiler_hosts,

    # Extra Large
    primary_postgresql_host        => $primary_postgresql_host,
    replica_postgresql_host        => $replica_postgresql_host,

    # Common Configuration
    version                        => $version,
    console_password               => $console_password,
    dns_alt_names                  => $dns_alt_names,
    pe_conf_data                   => $pe_conf_data,

    # Code Manager
    r10k_remote                    => $r10k_remote,
    r10k_private_key_file          => $r10k_private_key_file,
    r10k_private_key_content       => $r10k_private_key_content,

    # License Key
    license_key_file               => $license_key_file,
    license_key_content            => $license_key_content,

    # Other
    stagingdir                     => $stagingdir,
    download_mode                  => $download_mode,
  )

  $configure_result = run_plan('peadm::subplans::configure',
    # Standard
    primary_host                     => $primary_host,
    replica_host                     => $replica_host,

    # Large
    compiler_hosts                   => $compiler_hosts,

    # Extra Large
    primary_postgresql_host          => $primary_postgresql_host,
    replica_postgresql_host          => $replica_postgresql_host,

    # Common Configuration
    compiler_pool_address            => $compiler_pool_address,
    internal_compiler_a_pool_address => $internal_compiler_a_pool_address,
    internal_compiler_b_pool_address => $internal_compiler_b_pool_address,
    deploy_environment               => $deploy_environment,

    # Other
    stagingdir                       => $stagingdir,
  )

  # Return a string banner reporting on what was done
  return([$install_result, $configure_result])
}