After installing and configuring Puppet, you can write Puppet manifests to control the nodes that are running the Puppet agent. Puppet manifests are written in a Puppet-specific language that is similar to Ruby, where each manifest uses a .pp file extension.
The Puppet site manifest (site.pp) is the main file that Puppet uses to define the pre-environment configuration. A site manifest defines configuration that you want applied to every node, which is ideal for managing system-wide configurations, such as DNS servers, LDAP configuration, and other site-wide settings that are common to all of the nodes.
A site manifest can also include node-specific blocks of code that apply to certain nodes. This capability enables you to assign specific configurations to specific nodes within a site manifest. See Writing Puppet Manifests That Specify Node-Specific Code.