Puppet

Puppet

Puppet is an open-source configuration management tool that the SC//Reliant™ platform uses to manage and deploy configurations to the nodes. After making configuration changes in the SC//Reliant Platform Manager UI, an administrator runs Puppet on the node to deploy the changes, or, in the default agent-mode configuration, the next Puppet agent run picks up and applies the change automatically.

Role in the platform

Puppet is the declarative state engine behind everything the SC//Reliant platform deploys and maintains. It serves three roles:

  • Desired-state definition. The configuration set in the SC//Reliant Platform Manager (network configuration, firewall rules, container definitions, VM definitions, package state, file content) is compiled into Puppet catalogs.
  • Continuous enforcement. A Puppet agent runs on every node on a regular schedule that you set through properties. See Configuring automated Puppet runs. On each run the agent verifies the node matches the declared catalog and remediates any drift.
  • Rollback. Because the catalog is versioned, reverting a configuration is a matter of redeploying the prior catalog. The next Puppet agent run brings the node back to that state.

Configuration model

Configuration data is stored hierarchically and looked up through Puppet's Hiera key-value lookup system. The hierarchy is enterprise → group (node group) → individual site (node), with values at lower levels overriding values at higher levels. For details on the property hierarchy and how property references work, see the data-management documentation under SC//Reliant Platform Manager.

Communication and security

Puppet servers and agents communicate over HTTPS using SSL certificates. Puppet includes its own built-in certificate authority for signing and managing node certificates, providing the cryptographic identity that the platform uses to authorize each node's configuration pull.