peadm::setup::convert_node_manager
: Used during the peadm::convert planpeadm::setup::convert_pre20197
: Defines configuration needed for converting PE 2018peadm::setup::legacy_compiler_group
peadm::setup::node_manager
: Configures PEAdm's required node groupspeadm::setup::node_manager_yaml
: Set up the node_manager.yaml file in the temporary Bolt confdir
peadm::assert_supported_architecture
: Assert that the architecture given is a supported onepeadm::assert_supported_bolt_version
: Assert that the Bolt executable running PEAdm is a supported versionpeadm::assert_supported_pe_version
: Assert that the PE version given is supported by PEAdmpeadm::bolt_version
peadm::certname
: Return the certname of the given target-like inputpeadm::check_version_and_known_hosts
: Checks PE verison and warns about setting r10k_known_hostspeadm::convert_hash
: converts two arrays into hashpeadm::convert_status
: Transforms a value in a human readable status with or without colorspeadm::determine_status
: Produces a summarized hash of the given status datapeadm::fail_on_transport
: Fails if any nodes have the chosen transport. Useful for excluding PCP when it's not appopriatepeadm::file_content_upload
peadm::file_or_content
peadm::flatten_compact
peadm::generate_pe_conf
: Generate a pe.conf file in JSON formatpeadm::get_pe_conf
peadm::get_targets
: Accept undef or a SingleTargetSpec, and return an Array[Target, 1, 0]. This differs from get_target() in that: - It returns an Array[Targetpeadm::migration_opts_default
peadm::node_manager_yaml_location
peadm::oid
peadm::pe_db_names
peadm::plan_step
peadm::recovery_opts_all
peadm::recovery_opts_default
peadm::update_pe_conf
: Update the pe.conf file on a target with the provided hashpeadm::wait_until_service_ready
: A convenience function to help remember port numbers for services and handle running the wait_until_service_ready task
Peadm::ConvertSteps
: type for the different steps where the peadm::convert plan can be startedPeadm::Download_mode
: download the installer to the bolt node and upload to targets, or let the targets download it directlyPeadm::Known_hosts
Peadm::Ldap_config
Peadm::Pe_version
Peadm::Pem
Peadm::Recovery_opts
Peadm::SingleTargetSpec
: A SingleTargetSpec represents any String, Target or single-element array of one or the other that can be passed to get_targets() to return anPeadm::UpgradeSteps
: type for the different steps where the peadm::upgrade plan can be started
agent_install
: Install the Puppet agent from a masterbackup_classification
: A task to call the classification api and write to filecert_data
: Return certificate data related to the Puppet agentcert_valid_status
: Check primary for valid state of a certificateclassify_compilers
: Classify compilers as legacy or non-legacycode_manager
: Perform various code manager actionscode_manager_enabled
: Run on a PE primary node to check if Code Manager is enabled.code_sync_status
: A task to confirm code is in sync accross the cluster for clusters with code manager configureddivert_code_manager
: Divert the code manager live-dir settingdownload
: Download a file using curlenable_replica
: Execute the enable replica puppet commandfilesize
: Return the size of a file in bytesget_group_rules
: Run on a PE primary node to return the rules currently applied to the PE Infrastructure Agent groupget_peadm_config
: Run on a PE primary node to return the currently configured PEAdm parametersget_psql_version
: Run on a PE PSQL node to return the major version of the PSQL server currently installedinfrastatus
: Runs puppet infra status and returns the outputmkdir_p_file
: Create a file with the specified content at the specified locationmv
: Wrapper task for mv commandos_identification
: Return the operating system runnin gon the target as a stringpe_install
: Install Puppet Enterprise from a tarballpe_ldap_config
: Set the ldap config in the PE consolepe_uninstall
: Uninstall Puppet Enterpriseprecheck
: Return pre-check information about a systemprovision_replica
: Execute the replica provision puppet commandpuppet_infra_upgrade
: Execute the puppet infra upgrade commandpuppet_runonce
: Run the Puppet agent one timerbac_token
: Get and save an rbac token for the root user, admin rbac userread_file
: Read the contents of a filereinstall_pe
: Reinstall PE, only to be used to restore PErestore_classification
: A short description of this tasksign_csr
: Submit a certificate signing requestssl_clean
: Clean an agent's certificatesubmit_csr
: Submit a certificate signing requesttransform_classification_groups
: Transform the user groups from a source backup to a list of groups on the target servervalidate_rbac_token
: Check an RBAC token stored in a file is validwait_until_service_ready
: Return when the orchestrator service is healthy, or timeout after 15 seconds
peadm::add_compiler
: Proxy plan for peadm::add_compilers.peadm::add_compilers
: Add new compilers to a PE architecture or replace an existing with new configuration.peadm::add_database
peadm::add_replica
: Add or replace a replica host. Supported use cases: 1: Adding a replica to an existing primary. 2: The existing replica is broken, we have a fresh new VM we want to provision the replica to.peadm::backup
: Backup puppet primary configurationpeadm::backup_ca
peadm::convert
: Convert an existing PE cluster to a PEAdm-managed clusterpeadm::install
: Install a new PE clusterpeadm::modify_certificate
: Modify the certificate of one or more targetspeadm::restore
: Restore puppet primary configurationpeadm::restore_ca
peadm::status
: Return status information from one or more PE clusters in a table formatpeadm::upgrade
: Upgrade a PEAdm-managed clusterpeadm::util::init_db_server
peadm::convert_compiler_to_legacy
peadm::misc::divert_code_manager
: This plan exists to account for a scenario where a PE XLpeadm::modify_cert_extensions
peadm::subplans::component_install
: Install a new PEADM componentpeadm::subplans::configure
: Configure first-time classification and DR setuppeadm::subplans::db_populate
: Destructively (re)populates a new or existing database with the contents or a known good sourcepeadm::subplans::install
: Perform initial installation of Puppet Enterprise Extra Largepeadm::subplans::modify_certificate
peadm::subplans::prepare_agent
peadm::uninstall
: Single-entry-point plan for uninstalling Puppet Enterprisepeadm::update_compiler_extensions
peadm::util::code_sync_status
peadm::util::copy_file
peadm::util::db_disable_pglogical
peadm::util::db_purge
peadm::util::insert_csr_extension_requests
peadm::util::retrieve_and_upload
peadm::util::sanitize_pg_pe_conf
peadm::util::update_classification
: Configure classificationpeadm::util::update_db_setting
: Make updates to PuppetDB database settings
Type: Puppet Language
Assert that the architecture given is a supported one
peadm::assert_supported_architecture(TargetSpec $primary_host, Variant[TargetSpec, Undef] $replica_host = undef, Variant[TargetSpec, Undef] $primary_postgresql_host = undef, Variant[TargetSpec, Undef] $replica_postgresql_host = undef, Variant[TargetSpec, Undef] $compiler_hosts = undef, Variant[TargetSpec, Undef] $legacy_compilers = undef)
The peadm::assert_supported_architecture function.
Returns: Hash
Data type: TargetSpec
Data type: Variant[TargetSpec, Undef]
Data type: Variant[TargetSpec, Undef]
Data type: Variant[TargetSpec, Undef]
Data type: Variant[TargetSpec, Undef]
Data type: Variant[TargetSpec, Undef]
Type: Puppet Language
Checks if the current Bolt version matches the SemVerRange defined in $supported_bolt_version Fails the calling plan if false, does nothing if true. Accepts a parameter for the $supported_bolt_version for unit testing purposes
Checks if the current Bolt version matches the SemVerRange defined in $supported_bolt_version Fails the calling plan if false, does nothing if true. Accepts a parameter for the $supported_bolt_version for unit testing purposes
Returns: Struct[{ 'supported' => Boolean }]
Type: Puppet Language
Assert that the PE version given is supported by PEAdm
The peadm::assert_supported_pe_version function.
Returns: Struct[{ 'supported' => Boolean }]
true if the version is supported, raise error otherwise
Data type: String
version number to check
Data type: String
Data type: Boolean
Type: Ruby 4.x API
The peadm::bolt_version function.
The peadm::bolt_version function.
Returns: Any
Type: Puppet Language
This function accepts a variety of data types which could represent single targets, and returns the certname corresponding to the input.
For Target objects, or arrays of a single Target object, a "certname" var can be set, which determines that target's certname. Otherwise, the target's name is its certname. For strings, the certname is equal to the string. Undef input returns undef.
String,
Undef,
Array[Target,1,1],
Array[String,1,1],
Array[Undef,1,1],
Array[Any,0,0]] $target)`
This function accepts a variety of data types which could represent single targets, and returns the certname corresponding to the input.
For Target objects, or arrays of a single Target object, a "certname" var can be set, which determines that target's certname. Otherwise, the target's name is its certname. For strings, the certname is equal to the string. Undef input returns undef.
Returns: Variant[String, Undef]
Data type:
Variant[Target,
String,
Undef,
Array[Target,1,1],
Array[String,1,1],
Array[Undef,1,1],
Array[Any,0,0]]
Type: Puppet Language
Checks if the current PE version is less than 2023.3.0 and the target version is greater than or equal to 2023.3.0 If both conditions are true and the r10k_known_hosts parameter is not defined, a warning message is displayed.
peadm::check_version_and_known_hosts(String $current_version, String $target_version, Optional[Peadm::Known_hosts] $r10k_known_hosts = undef)
Checks if the current PE version is less than 2023.3.0 and the target version is greater than or equal to 2023.3.0 If both conditions are true and the r10k_known_hosts parameter is not defined, a warning message is displayed.
Returns: Any
Data type: String
The current PE version
Data type: String
The target PE version
Data type: Optional[Peadm::Known_hosts]
The r10k_known_hosts parameter
Data type: String
Data type: String
Data type: Optional[Peadm::Known_hosts]
Type: Puppet Language
converts two arrays into hash
peadm::convert_hash(['type', 'status'], [['xl', 'running'], ['large', 'failed']])
[
{ type => xl, status => running}, { type => large, status => failed }
]
The peadm::convert_hash function.
Returns: Array
peadm::convert_hash(['type', 'status'], [['xl', 'running'], ['large', 'failed']])
[
{ type => xl, status => running}, { type => large, status => failed }
]
Data type: Array
an array of key names to be merged into the hash
Data type: Array[Array]
data to be merged into an array with the keys
Type: Puppet Language
Transforms a value in a human readable status with or without colors
peadm::convert_status(true) = "\e[32moperational\e[0m"
peadm::convert_status(true, 0, false) = "operational"
peadm::convert_status(1, 2, false) = "degraded"
peadm::convert_status(2, 2, false) = "failed"
peadm::convert_status(0, 2, false) = "operational"
peadm::convert_status(Variant[String,Boolean, Integer] $status, Optional[Integer] $total = 0, Optional[Boolean] $use_colors = true)
The peadm::convert_status function.
Returns: String
A status as a string with or without color
peadm::convert_status(true) = "\e[32moperational\e[0m"
peadm::convert_status(true, 0, false) = "operational"
peadm::convert_status(1, 2, false) = "degraded"
peadm::convert_status(2, 2, false) = "failed"
peadm::convert_status(0, 2, false) = "operational"
Data type: Variant[String,Boolean, Integer]
A value of true, false, degraded, or an Integer that represents number of non operationally services If using an integer, you must also supply the total amount of services
Data type: Optional[Integer]
the total number of services, used only when the status is an integer
Data type: Optional[Boolean]
Adds colors to the status, defaults to true
Type: Puppet Language
}
peadm::determine_status($data, true)
{
"failed" => {
"activity/pe-std-replica.puppet.vm" => false,
"classifier/pe-std-replica.puppet.vm" => false,
"file-sync-client/pe-std-replica.puppet.vm" => false,
"master/pe-std-replica.puppet.vm" => false,
"puppetdb/pe-std-replica.puppet.vm" => false,
"rbac/pe-std-replica.puppet.vm" => false
},
"passed" => {
"activity-service/pe-std.puppet.vm" => true,
"broker-service/pe-std.puppet.vm" => true,
"classifier-service/pe-std.puppet.vm" => true,
"code-manager-service/pe-std.puppet.vm" => true,
"file-sync-client-service/pe-std.puppet.vm" => true,
"file-sync-storage-service/pe-std.puppet.vm" => true,
"orchestrator-service/pe-std.puppet.vm" => true,
"pe-master/pe-std.puppet.vm" => true,
"puppetdb-status/pe-std.puppet.vm" => true,
"rbac-service/pe-std.puppet.vm" => true
},
"state" => {
"activity-service/pe-std.puppet.vm" => true,
"activity/pe-std-replica.puppet.vm" => false,
"broker-service/pe-std.puppet.vm" => true,
"classifier-service/pe-std.puppet.vm" => true,
"classifier/pe-std-replica.puppet.vm" => false,
"code-manager-service/pe-std.puppet.vm" => true,
"file-sync-client-service/pe-std.puppet.vm" => true,
"file-sync-client/pe-std-replica.puppet.vm" => false,
"file-sync-storage-service/pe-std.puppet.vm" => true,
"master/pe-std-replica.puppet.vm" => false,
"orchestrator-service/pe-std.puppet.vm" => true,
"pe-master/pe-std.puppet.vm" => true,
"puppetdb-status/pe-std.puppet.vm" => true,
"puppetdb/pe-std-replica.puppet.vm" => false,
"rbac-service/pe-std.puppet.vm" => true,
"rbac/pe-std-replica.puppet.vm" => false
},
"status" => "\e[33mdegraded\e[0m"
}
Returns: Hash
A simplified hash of of status data for the given stack
peadm::determine_status($data, true)
{
"failed" => {
"activity/pe-std-replica.puppet.vm" => false,
"classifier/pe-std-replica.puppet.vm" => false,
"file-sync-client/pe-std-replica.puppet.vm" => false,
"master/pe-std-replica.puppet.vm" => false,
"puppetdb/pe-std-replica.puppet.vm" => false,
"rbac/pe-std-replica.puppet.vm" => false
},
"passed" => {
"activity-service/pe-std.puppet.vm" => true,
"broker-service/pe-std.puppet.vm" => true,
"classifier-service/pe-std.puppet.vm" => true,
"code-manager-service/pe-std.puppet.vm" => true,
"file-sync-client-service/pe-std.puppet.vm" => true,
"file-sync-storage-service/pe-std.puppet.vm" => true,
"orchestrator-service/pe-std.puppet.vm" => true,
"pe-master/pe-std.puppet.vm" => true,
"puppetdb-status/pe-std.puppet.vm" => true,
"rbac-service/pe-std.puppet.vm" => true
},
"state" => {
"activity-service/pe-std.puppet.vm" => true,
"activity/pe-std-replica.puppet.vm" => false,
"broker-service/pe-std.puppet.vm" => true,
"classifier-service/pe-std.puppet.vm" => true,
"classifier/pe-std-replica.puppet.vm" => false,
"code-manager-service/pe-std.puppet.vm" => true,
"file-sync-client-service/pe-std.puppet.vm" => true,
"file-sync-client/pe-std-replica.puppet.vm" => false,
"file-sync-storage-service/pe-std.puppet.vm" => true,
"master/pe-std-replica.puppet.vm" => false,
"orchestrator-service/pe-std.puppet.vm" => true,
"pe-master/pe-std.puppet.vm" => true,
"puppetdb-status/pe-std.puppet.vm" => true,
"puppetdb/pe-std-replica.puppet.vm" => false,
"rbac-service/pe-std.puppet.vm" => true,
"rbac/pe-std-replica.puppet.vm" => false
},
"status" => "\e[33mdegraded\e[0m"
Data type: Array
Raw json data as returned by puppet infra status --format=json
Data type: Boolean
Adds colors to the status, defaults to true
Type: Puppet Language
Fails if any nodes have the chosen transport.
Useful for excluding PCP when it's not appopriate
peadm::fail_on_transport(TargetSpec $nodes, String $transport, String $message = 'This is not supported.')
Fails if any nodes have the chosen transport.
Useful for excluding PCP when it's not appopriate
Returns: Any
Data type: TargetSpec
Data type: String
Data type: String
Type: Ruby 4.x API
The peadm::file_content_upload function.
The peadm::file_content_upload function.
Returns: Any
Data type: String[1]
Data type: String[1]
Data type: TargetOrTargets
Type: Puppet Language
The peadm::file_or_content function.
peadm::file_or_content(String $param_name, Variant[String, Undef] $file, Variant[String, Undef] $content)
The peadm::file_or_content function.
Returns: Any
Data type: String
Data type: Variant[String, Undef]
Data type: Variant[String, Undef]
Type: Puppet Language
The peadm::flatten_compact function.
The peadm::flatten_compact function.
Returns: Any
Data type: Array
Type: Puppet Language
Generate a pe.conf file in JSON format
The peadm::generate_pe_conf function.
Returns: String
Data type: Hash
A hash of settings to set in the config file. Any keys that are set to undef will not be included in the config file.
Type: Puppet Language
The peadm::get_pe_conf function.
The peadm::get_pe_conf function.
Returns: Any
Data type: Target
Type: Puppet Language
Accept undef or a SingleTargetSpec, and return an Array[Target, 1, 0]. This differs from get_target() in that:
- It returns an Array[Target, 1, 0], rather than a Target
- It will accept undef and return [ ].
Accept undef or a SingleTargetSpec, and return an Array[Target, 1, 0]. This differs from get_target() in that:
- It returns an Array[Target, 1, 0], rather than a Target
- It will accept undef and return [ ].
Returns: Any
Data type: Variant[TargetSpec, Undef]
Data type: Optional[Integer[1,1]]
Type: Puppet Language
The peadm::migration_opts_default function.
The peadm::migration_opts_default function.
Returns: Any
Type: Ruby 4.x API
The peadm::node_manager_yaml_location function.
The peadm::node_manager_yaml_location function.
Returns: Any
Type: Puppet Language
The peadm::oid function.
The peadm::oid function.
Returns: Any
Data type: String
Type: Puppet Language
The peadm::pe_db_names function.
The peadm::pe_db_names function.
Returns: Array
Data type: String
Type: Ruby 4.x API
The peadm::plan_step function.
The peadm::plan_step function.
Returns: Any
Data type: String
Data type: Callable
Type: Puppet Language
The peadm::recovery_opts_all function.
The peadm::recovery_opts_all function.
Returns: Any
Type: Puppet Language
The peadm::recovery_opts_default function.
The peadm::recovery_opts_default function.
Returns: Any
Type: Puppet Language
Update the pe.conf file on a target with the provided hash
The peadm::update_pe_conf function.
Returns: Any
Data type: Target
The target to update the pe.conf file on
Data type: Hash
The hash to update the pe.conf file with
Type: Puppet Language
A convenience function to help remember port numbers for services and handle running the wait_until_service_ready task
A convenience function to help remember port numbers for services and handle running the wait_until_service_ready task
Returns: Any
Data type: String
Data type: TargetSpec
type for the different steps where the peadm::convert plan can be started
Alias of Enum['modify-primary-certs', 'modify-infra-certs', 'convert-node-groups', 'finalize']
download the installer to the bolt node and upload to targets, or let the targets download it directly
Alias of Enum['direct', 'bolthost']
The Peadm::Known_hosts data type.
Alias of
Array[Struct[
'title' => Optional[String[1]],
'ensure' => Optional[Enum['present','absent']],
'name' => String[1],
'type' => String[1],
'key' => String[1],
'host_aliases' => Optional[Variant[String[1],Array[String[1]]]],
]]
The Peadm::Ldap_config data type.
Alias of
Struct[{
base_dn => String,
connect_timeout => Integer,
disable_ldap_matching_rule_in_chain => Boolean,
display_name => String,
group_lookup_attr => String,
group_member_attr => String,
group_name_attr => String,
group_object_class => String,
Optional[group_rdn] => Optional[String],
Optional[help_link] => Optional[String],
hostname => String,
Optional[login] => Optional[String],
Optional[password] => Optional[String],
port => Integer,
search_nested_groups => Boolean,
ssl => Boolean,
ssl_hostname_validation => Boolean,
ssl_wildcard_validation => Boolean,
start_tls => Boolean,
user_display_name_attr => String,
user_email_attr => String,
user_lookup_attr => String,
Optional[user_rdn] => Optional[String],
}]
The Peadm::Pe_version data type.
Alias of Pattern[/^\d+\.\d+\.\d+(-.+)?$/]
The Peadm::Pem data type.
Alias of Pattern[/^-----BEGIN/]
The Peadm::Recovery_opts data type.
Alias of
Struct[{
'activity' => Optional[Boolean],
'ca' => Optional[Boolean],
'classifier' => Optional[Boolean],
'code' => Optional[Boolean],
'config' => Optional[Boolean],
'orchestrator' => Optional[Boolean],
'puppetdb' => Optional[Boolean],
'rbac' => Optional[Boolean],
}]
A SingleTargetSpec represents any String, Target or single-element array of one or the other that can be passed to get_targets() to return an Array[Target, 1, 1]. This is a constrained type variant of Boltlib::TargetSpec for use when a single target is valid, but multiple targets are not.
Alias of Variant[Pattern[/\A[^[:space:],]+\z/], Target, Array[Peadm::SingleTargetSpec, 1, 1]]
type for the different steps where the peadm::upgrade plan can be started
Alias of Enum['upgrade-primary', 'upgrade-node-groups', 'upgrade-primary-compilers', 'upgrade-replica', 'upgrade-replica-compilers', 'finalize']
Install the Puppet agent from a master
Supports noop? false
Data type: String
The resolvable name of the Puppet server to install from
Data type: Array[String]
Positional arguments to pass to the shell installer
A task to call the classification api and write to file
Supports noop? false
Data type: String
The directory to write the classification output to. Directory must exist
Return certificate data related to the Puppet agent
Supports noop? false
Check primary for valid state of a certificate
Supports noop? false
Data type: String
The certifcate name to check validation of
Classify compilers as legacy or non-legacy
Supports noop? false
Data type: Array[String]
List of FQDNs of compilers
Perform various code manager actions
Supports noop? false
Data type: String
What code manager action to perform. For example: 'deploy production'; 'flush-environment-cache'; 'file-sync commit'
Run on a PE primary node to check if Code Manager is enabled.
Supports noop? false
A task to confirm code is in sync accross the cluster for clusters with code manager configured
Supports noop? false
Data type: Array
A list of environments to check, pass a single value of all for all
Divert the code manager live-dir setting
Supports noop? false
Download a file using curl
Supports noop? false
Data type: String
Where to download the file from
Data type: String
Where to save the downloaded file
Data type: Boolean
Whether to check the integrity of the downloaded file
Data type: String
The GPG keyserver to retrieve GPG keys from
Execute the enable replica puppet command
Supports noop? false
Data type: String
The name of the replica to enable
Data type: Optional[String]
The name of the token file to use for auth
Return the size of a file in bytes
Supports noop? false
Data type: String
Path to the file to return the size of
Run on a PE primary node to return the rules currently applied to the PE Infrastructure Agent group
Supports noop? false
Run on a PE primary node to return the currently configured PEAdm parameters
Supports noop? false
Run on a PE PSQL node to return the major version of the PSQL server currently installed
Supports noop? false
Runs puppet infra status and returns the output
Supports noop? false
Data type: Enum[json,text]
The type of output to return
Create a file with the specified content at the specified location
Supports noop? false
Data type: String
The fully qualified path of the file to create
Data type: String
The content to create the file with
Data type: Optional[String]
The file owner
Data type: Optional[String]
The file group
Data type: Optional[String]
The file mode
Data type: Optional[String]
If supplied, recursively chown starting at this path
Wrapper task for mv command
Supports noop? false
Data type: String
Current path of file
Data type: String
New path of file
Return the operating system runnin gon the target as a string
Supports noop? false
Install Puppet Enterprise from a tarball
Supports noop? false
Data type: String
The path to the Puppet Enterprise tarball
Data type: Optional[String]
The path to the pe.conf file
Data type: Optional[Boolean]
If true, optimize task for known manual issues with extra-large installs. Do not use for upgrades
Data type: Optional[Enum['stopped']]
If 'stopped', ensure the Puppet agent is not running when install completes
Set the ldap config in the PE console
Supports noop? false
Data type: Peadm::Ldap_config
The hash of options for ldap.
Data type: String
The PE Main server
Uninstall Puppet Enterprise
Supports noop? false
Return pre-check information about a system
Supports noop? false
Execute the replica provision puppet command
Supports noop? false
Data type: String
The name of the replica to provision
Data type: Optional[String]
The name of the token-file for auth
Data type: Boolean
Set to true if provisioning a replica for PE 2019.5 or older. Defaults to false
Execute the puppet infra upgrade command
Supports noop? false
Data type: Enum[compiler,replica]
Which kind of infra node to upgrade
Data type: Array[String]
The certnames of the targets to upgrade
Data type: Optional[String]
The path to the token file to use
Data type: Integer
How many seconds to wait for targets to be connected to the orchestrator
Run the Puppet agent one time
Supports noop? false
Data type: Optional[String]
If set, run Puppet in specified code environment
Data type: Optional[Boolean]
If true, run Puppet in no-op mode
Data type: Integer[1]
How many seconds to wait for a puppet run, that is already in progress
Get and save an rbac token for the root user, admin rbac user
Supports noop? false
Data type: String
The password for the admin user
Data type: String
The duration for which a token will be valid. Format [smhdy]
Read the contents of a file
Supports noop? false
Data type: String
Path to the file to read
Reinstall PE, only to be used to restore PE
Supports noop? false
Data type: String[1]
The PE version to install
Data type: String[1]
The PE installation platform
Data type: Boolean
Whether we want to uninstall PE before installing
A short description of this task
Supports noop? false
Data type: String
The full path to a backed up or transformed classification file
Submit a certificate signing request
Supports noop? false
Data type: Array[String]
A list of certnames to sign
Clean an agent's certificate
Supports noop? false
Data type: String
The certname to clean
Submit a certificate signing request
Supports noop? false
Data type: Optional[Array[String]]
DNS Alternative Names to request for the certificate
Transform the user groups from a source backup to a list of groups on the target server
Supports noop? false
Data type: String
Location of Source node group yaml file
Data type: String
Location of target node group yaml file and where to create the transformed file
Check an RBAC token stored in a file is valid
Supports noop? false
Data type: Optional[String]
The path to the token file to use
Return when the orchestrator service is healthy, or timeout after 15 seconds
Supports noop? false
Data type: Enum[all, ca, pe-master, orchestrator-service]
What service to check. For example: all, pe-master, orchestrator-service
Data type: Enum['8140', '8143']
Which port to query the status API on
Proxy plan for peadm::add_compilers.
The following parameters are available in the peadm::add_compiler
plan:
Data type: Enum['A', 'B']
_ Either A or B; whichever of the two letter designations the compiler are being assigned to
Default value: 'A'
Data type: Peadm::SingleTargetSpec
_ The hostname and certname of the new compiler
Data type: Optional[String[1]]
_ A comma-separated list of DNS alt names for the compiler.
Default value: undef
Data type: Peadm::SingleTargetSpec
_ The hostname and certname of the primary Puppet server
Data type: Optional[Peadm::SingleTargetSpec]
_ The hostname and certname of the PE-PostgreSQL server with availability group $avail_group_letter
Default value: undef
Add new compilers to a PE architecture or replace an existing with new configuration.
The following parameters are available in the peadm::add_compilers
plan:
Data type: Enum['A', 'B']
_ Either A or B; whichever of the two letter designations the compilers are being assigned to
Default value: 'A'
Data type: TargetSpec
_ The hostnames and certnames of the new compilers
Data type: Optional[Array[String[1]]]
_ An array of strings, where each string is a comma-separated list of DNS alt names for the compilers. Order matters; if a compiler doesn't need dns_alt_names, use "undef" as string.
Default value: undef
Data type: Peadm::SingleTargetSpec
_ The hostname and certname of the primary Puppet server
Data type: Optional[Peadm::SingleTargetSpec]
_ The hostname and certname of the PE-PostgreSQL server with availability group $avail_group_letter
Default value: undef
The peadm::add_database class.
The following parameters are available in the peadm::add_database
plan:
Data type: Peadm::SingleTargetSpec
Data type: Peadm::SingleTargetSpec
Data type: Optional[Enum['init', 'pair']]
Default value: undef
Data type:
Optional[Enum[
'init-db-node',
'replicate-db',
'update-classification',
'update-db-settings',
'cleanup-db',
'finalize']]
Default value: undef
Add or replace a replica host. Supported use cases: 1: Adding a replica to an existing primary. 2: The existing replica is broken, we have a fresh new VM we want to provision the replica to.
The following parameters are available in the peadm::add_replica
plan:
Data type: Peadm::SingleTargetSpec
- The hostname and certname of the primary Puppet server
Data type: Peadm::SingleTargetSpec
- The hostname and certname of the replica VM
Data type: Optional[Peadm::SingleTargetSpec]
- The hostname and certname of the host with the replica PE-PosgreSQL database. Can be a separate host in an XL architecture, or undef in Standard or Large.
Default value: undef
Data type: Optional[String]
- (optional) the token file in a different location than the default.
Default value: undef
Backup puppet primary configuration
bolt plan run peadm::backup -t primary1.example.com
The following parameters are available in the peadm::backup
plan:
Data type: Peadm::SingleTargetSpec
This should be the primary puppetserver for the puppet cluster
Data type: Enum['recovery', 'custom']
Currently, the recovery and custom backup types are supported
Default value: 'recovery'
Data type: Peadm::Recovery_opts
A hash of custom backup options, see the peadm::recovery_opts_default() function for the default values
Default value: {}
Data type: String
The directory to place the backup in
Default value: '/tmp'
The peadm::backup_ca class.
The following parameters are available in the peadm::backup_ca
plan:
Data type: Peadm::SingleTargetSpec
Data type: Optional[String]
Default value: '/tmp'
This plan sets required certificate extensions on PE nodes, and configures the required PE node groups to make an existing cluster compatible with management using PEAdm.
The following parameters are available in the peadm::convert
plan:
begin_at_step
primary_host
replica_host
compiler_hosts
legacy_compilers
primary_postgresql_host
replica_postgresql_host
compiler_pool_address
internal_compiler_a_pool_address
internal_compiler_b_pool_address
dns_alt_names
Data type: Optional[Peadm::ConvertSteps]
The step where the plan should start. If not set, it will start at the beginning
Default value: undef
Data type: Peadm::SingleTargetSpec
Data type: Optional[Peadm::SingleTargetSpec]
Default value: undef
Data type: Optional[TargetSpec]
Default value: undef
Data type: Optional[TargetSpec]
Default value: undef
Data type: Optional[Peadm::SingleTargetSpec]
Default value: undef
Data type: Optional[Peadm::SingleTargetSpec]
Default value: undef
Data type: String
Default value: $primary_host
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Array[String]
Default value: []
Install a new PE cluster
The following parameters are available in the peadm::install
plan:
compiler_pool_address
internal_compiler_a_pool_address
internal_compiler_b_pool_address
pe_installer_source
ldap_config
final_agent_state
stagingdir
uploaddir
primary_host
replica_host
compiler_hosts
legacy_compilers
primary_postgresql_host
replica_postgresql_host
console_password
version
dns_alt_names
pe_conf_data
code_manager_auto_configure
r10k_remote
r10k_private_key_file
r10k_private_key_content
r10k_known_hosts
deploy_environment
license_key_file
license_key_content
download_mode
permit_unsafe_versions
token_lifetime
Data type: Optional[String]
The service address used by agents to connect to compilers, or the Puppet service. Typically this is a load balancer.
Default value: undef
Data type: Optional[String]
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.
Default value: undef
Data type: Optional[String]
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.
Default value: undef
Data type: Optional[Stdlib::HTTPSUrl]
The URL to download the Puppet Enterprise installer media from. If not specified, PEAdm will attempt to download PE installation media from its standard public source. When specified, PEAdm will download directly from the URL given.
Default value: undef
Data type: Optional[Peadm::Ldap_config]
If specified, configures PE RBAC DS with the supplied configuration hash. The parameter should be set to a valid set of connection settings as documented for the PE RBAC /ds endpoint. See: https://puppet.com/docs/pe/latest/rbac_api_v1_directory.html#put_ds-request_format
Default value: undef
Data type: Enum['running', 'stopped']
Configures the state the puppet agent should be in on infrastructure nodes after PE is configured successfully.
Default value: 'running'
Data type: Optional[String]
Directory on the Bolt host where the installer tarball will be cached if download_mode is 'bolthost' (default)
Default value: undef
Data type: Optional[String]
Directory the installer tarball will be uploaded to or expected to be in for offline usage.
Default value: undef
Data type: Peadm::SingleTargetSpec
Data type: Optional[Peadm::SingleTargetSpec]
Default value: undef
Data type: Optional[TargetSpec]
Default value: undef
Data type: Optional[TargetSpec]
Default value: undef
Data type: Optional[Peadm::SingleTargetSpec]
Default value: undef
Data type: Optional[Peadm::SingleTargetSpec]
Default value: undef
Data type: String
Data type: Peadm::Pe_version
Default value: '2023.8.0'
Data type: Optional[Array[String]]
Default value: undef
Data type: Optional[Hash]
Default value: {}
Data type: Optional[Boolean]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[Peadm::Pem]
Default value: undef
Data type: Optional[Peadm::Known_hosts]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Peadm::Download_mode
Default value: 'bolthost'
Data type: Boolean
Default value: false
Data type: String
Default value: '1y'
Certificates can be modified by adding extensions, removing extensions, or setting DNS alternative names.
The following parameters are available in the peadm::modify_certificate
plan:
Data type: TargetSpec
Data type: Peadm::SingleTargetSpec
Data type: Hash
Default value: {}
Data type: Array
Default value: []
Data type: Optional[Array]
Default value: undef
Data type: Boolean
Default value: false
Restore puppet primary configuration
bolt plan run peadm::restore -t primary1.example.com input_file=/tmp/peadm-backup.tar.gz
The following parameters are available in the peadm::restore
plan:
Data type: Peadm::SingleTargetSpec
This should be the primary puppetserver for the puppet cluster
Data type: Enum['recovery', 'recovery-db', 'custom']
Choose from recovery
, recovery-db
and custom
Default value: 'recovery'
Data type: Peadm::Recovery_opts
A hash of custom backup options, see the peadm::recovery_opts_default() function for the default values
Default value: {}
Data type: Pattern[/.*\.tar\.gz$/]
The file containing the backup to restore from
The peadm::restore_ca class.
The following parameters are available in the peadm::restore_ca
plan:
Data type: Peadm::SingleTargetSpec
Data type: String
Data type: Optional[String]
Default value: '/tmp/peadm_recovery'
Return status information from one or more PE clusters in a table format
peadm::status($targets, 'table', true, true)
The following parameters are available in the peadm::status
plan:
Data type: TargetSpec
These are a list of the primary puppetservers from one or multiple puppet stacks
Data type: Enum[json,table]
The output format to dump to stdout (json or table)
Default value: 'table'
Data type: Boolean
Controls the type of json output to render, defaults to true
Default value: true
Data type: Boolean
Toggles the output to show all the operationally services, can be loads more data
Default value: false
Data type: Boolean
Toggles the usage of colors, you may want to disable if the format is json
Default value: $format ? { 'json' => false, default => true
Upgrade a PEAdm-managed cluster
The following parameters are available in the peadm::upgrade
plan:
compiler_pool_address
internal_compiler_a_pool_address
internal_compiler_b_pool_address
pe_installer_source
final_agent_state
r10k_known_hosts
stagingdir
uploaddir
begin_at_step
primary_host
replica_host
compiler_hosts
primary_postgresql_host
replica_postgresql_host
version
token_file
download_mode
permit_unsafe_versions
Data type: Optional[String]
The service address used by agents to connect to compilers, or the Puppet service. Typically this is a load balancer.
Default value: undef
Data type: Optional[String]
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.
Default value: undef
Data type: Optional[String]
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.
Default value: undef
Data type: Optional[Stdlib::HTTPSUrl]
The URL to download the Puppet Enterprise installer media from. If not specified, PEAdm will attempt to download PE installation media from its standard public source. When specified, PEAdm will download directly from the URL given.
Default value: undef
Data type: Enum['running', 'stopped']
Configures the state the puppet agent should be in on infrastructure nodes after PE is upgraded successfully.
Default value: 'running'
Data type: Optional[Peadm::Known_hosts]
Puppet Enterprise 2023.3+ requires host key verification for the r10k_remote host when using ssh. you must provide $r10k_known_hosts information in the form of an array of hashes with 'name', 'type' and 'key' information for hostname, key-type and public key.
Default value: undef
Data type: String
Directory on the Bolt host where the installer tarball will be cached if download_mode is 'bolthost' (default)
Default value: '/tmp'
Data type: String
Directory the installer tarball will be uploaded to or expected to be in for offline usage.
Default value: '/tmp'
Data type: Optional[Peadm::UpgradeSteps]
The step where the plan should start. If not set, it will start at the beginning
Default value: undef
Data type: Peadm::SingleTargetSpec
Data type: Optional[Peadm::SingleTargetSpec]
Default value: undef
Data type: Optional[TargetSpec]
Default value: undef
Data type: Optional[Peadm::SingleTargetSpec]
Default value: undef
Data type: Optional[Peadm::SingleTargetSpec]
Default value: undef
Data type: Optional[Peadm::Pe_version]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Peadm::Download_mode
Default value: 'bolthost'
Data type: Boolean
Default value: false
The peadm::util::init_db_server class.
The following parameters are available in the peadm::util::init_db_server
plan:
Data type: String[1]
Data type: Boolean
Default value: false
Data type: String[1]
Default value: '2023.5.0'
Data type: String[1]
Default value: 'el-8-x86_64'