Skip to main content

Puppet

Visualize Visualize Puppet infrastructure, including servers, nodes, catalog, environment, factsets, and resources, and monitor changes through queries and alerts.

Installation Guide

Info

Puppet consists of Puppet Server, which manages configurations, Puppet Agents, which applies them on nodes, and PuppetDB, which stores configuration, state, and report data. In this integration, Puppet Server will store data in PuppetDB, and the integration will fetch data from PuppetDB.

Requirements

  • Ensure network connectivity between Puppet Server and PuppetDB.
  • Install and Configure PuppetDB Puppet Doc
  • Connect Puppet DB and Puppet Server Puppet Doc

Integration Configuration

To configure the integration, ensure you have the following:

  • PuppetDB URL: The URL where PuppetDB is configured.
  • PuppetDb Port: The port configured to respond to API calls over SSL.
  • CA Certificate: The Certificate Authority (CA) certificate.

Configuration in Puppet

Authentication

Puppet supports TLS authentication for secure communication between systems.

For this integration, you will need to set up client certificates signed by Puppet's Certificate Authority (CA) to enable TLS authentication.

Get CA Certificate from PuppetDB

  1. Check the location of the CA certificate:

    sudo cat /etc/puppetlabs/puppetdb/conf.d/jetty.ini

    Check the Certificate Authority path.

  2. Retrieve the following file:

    • ca.pem (PuppetDB CA certificate)
  3. Securely transfer this CA certificate file to your integration application.

Configuration in JupiterOne

  1. From the top navigation bar of the J1 Search homepage, go to Integrations.

  2. Search for Puppet and select it.

  3. Click the Add Instance button and configure the following settings:

    • PuppetDB URL: Provide Puppet DB Server URL (e.g., https://127.0.0.1).
    • PuppetDB Port: PuppetDB port number for HTTPS traffic over SSL.
    • CA certificate: Certificate Authority Certificate.
    • Account Name: Provide a name to identify this Puppet instance in JupiterOne. When the Tag with Account Name option is checked, ingested entities will store this value in tag.AccountName.
    • Description: Add a description to assist your team in identifying this integration instance.
    • Polling Interval (optional): Select a polling interval that fits your monitoring needs. If unsure, leave this as DISABLED and manually execute the integration.
  4. Click Create Configuration to save your settings.

Next steps

Now that your integration instance has been configured, it will begin running on the polling interval you provided, populating data within JupiterOne. Continue on to our Instance management guide to learn more about working with and editing integration instances.