Puppet Enterprise 2018.1

After installing Puppet Enterprise, you can change product settings to customize the console's behavior, adjust to your team's needs, and improve performance.

Configure the PE console and console-services

To configure the behavior of the console and console-services, you can modify profile-based parameters from the console.

Note: Use Hiera instead of these console steps to configure puppet_enterprise::api_port and puppet_enterprise::console_services::no_longer_reporting_cutoff.
  1. In the console, click Classification, and in the PE Infrastructure group, select the PE Console group.
  2. On the Configuration tab, locate the appropriate class, add parameters and values as needed, and commit changes.
  3. On the nodes hosting the master and console, run Puppet.

Console and console-services parameters

Use these parameters to customize the behavior of the console and console-services. Parameters that begin with puppet_enterprise::profile can be modified from the console itself.

ParameterValueDefault
puppet_enterprise::profile::console::classifier_synchronization_period Integer representing, in seconds, the classifier synchronization period, which controls how long it takes the node classifier to retrieve classes from the master. "600" seconds (10 minutes)
puppet_enterprise::profile::console::rbac_session_timeout Integer representing, in minutes, how long a user's session may last. The session length is the same for node classification, RBAC, and the console. "60"
puppet_enterprise::profile::console::session_maximum_lifetime Integer representing the maximum allowable period that a console session may be valid. May be set to "0" to not expire before the maximum token lifetime. Supported units are "s" (seconds), "m" (minutes), "h" (hours), "d" (days), "y" (years). Units are specified as a single letter following an integer, for example "1d" (1 day). If no units are specified, the integer is treated as seconds.
puppet_enterprise::profile::console::console_ssl_listen_port Integer representing the port that the console is available on. "[443]"
puppet_enterprise::profile::console::ssl_listen_address Nginx listen address for the console "0.0.0.0"
puppet_enterprise::profile::console::classifier_prune_threshold Integer representing the number of days to wait before pruning the size of the classifier database. If you set the value to "0", the node classifier service is never pruned.
puppet_enterprise::profile::console::classifier_node_check_in_storage "true" to store an explanation of how nodes match each group they're classified into, or "false" "false"
puppet_enterprise::profile::console::display_local_time "true" to display timestamps in local time, with hover text showing UTC time, or "false" to show timestamps in UTC time. "false"
Modify these configuration parameters in Hiera, not the console: 
ParameterValueDefault
puppet_enterprise::api_port SSL port that the node classifier is served on. [4433]
puppet_enterprise::console_services::no_longer_reporting_cutoff Length of time, in seconds, before a node is considered unresponsive. 3600 seconds

Change password reset and lockout settings

You can change the default settings for how long new password change tokens last, and how many failed login attempts are permitted.

When a user doesn’t remember their current password, an administrator can generate a token for them to change their password. The duration, in hours, that this generated token is valid can be changed with the password-reset-expiration parameter. The default value is 24.

The failed-attempts-lockout parameter takes a positive integer that specifies how many failed login attempts are allowed on an account before that account is revoked. The default value is 10.

  1. On the node hosting the console, navigate to /etc/puppetlabs/console-services/conf.d and create a new file. The filename can be arbitrary, but the format of its contents is HOCON.
  2. In the file, add the following lines with the values you want:
    rbac: {
     password-reset-expiration: 24
     failed-attempts-lockout: 10
    }
  3. Reload pe-console-services by running sudo service pe-console-services reload

Manage the HTTPS redirect

By default, the console redirects to HTTPS when you attempt to connect over HTTP. You can customize the redirect target URL or disable redirection.

Tip: The Hiera.yaml default location is /etc/puppetlabs/code/environments/%{environment}/hieradata (for *nix) and %CommonAppData%\PuppetLabs\code\environments\%{environment}\hieradata (for Windows).

Customize the HTTPS redirect target URL

By default, the redirect target URL is the same as the FQDN of your monolithic master, or in a split install, your console host. You can customize this redirect URL.

Edit your Hiera data file to add an HTTP redirect. 

For example, to change the redirect target URL to puppet-console.corp.net:

puppet_enterprise::profile::console::proxy::http_redirect::server_name: puppet-console.corp.net

Disable the HTTPS redirect

The pe-nginx webserver listens on port 80 by default. If you need to run your own service on port 80, you can disable the HTTPS redirect.

Edit your Hiera.yaml file to disable HTTP redirect.
puppet_enterprise::profile::console::proxy::http_redirect::enable_http_redirect: false

Tuning the PostgreSQL buffer pool size

If you are experiencing performance issues or instability with the console, adjust the buffer memory settings for PostgreSQL.

The most important PostgreSQL memory settings for PE are shared_buffers and work_mem.

  1. In the console, click Classification, and in the PE Infrastructure group, select the PE Database group.
  2. On the Configuration tab, specify parameters as needed and commit changes.
    ParameterValue
    shared_buffersSet at about 25 percent of your hardware's RAM.
    work_memIn large or complex deployments, increase the value from the default 1MB.
  3. Restart the PostgreSQL server: sudo /etc/init.d/pe-postgresql restart

Enable data editing in the console

The ability to edit configuration data in the console is enabled by default in new installations. If you upgrade from an earlier version and didn't previously have configuration data enabled, you must manually enable classifier configuration data, because enabling requires edits to your hiera.yaml file.

On your master, edit /etc/puppetlabs/puppet/hiera.yaml to add:
hierarchy: 
- name: "Classifier Configuration Data"
  data_hash: classifier_data        

Place any additional hierarchy entries, such as hiera-yaml or hiera-eyaml under the same hierarchy key, preferably below the Classifier Configuration Data entry.

If your environment is configured for high availability, you must also update hiera.yaml on your replica.

Back to top