Question: How Do I Create a Manifest with Puppet Enterprise to be run on a server other than the Puppet Master server itself?
Assumption: Puppet Master is installed on a Linux server.
Answer: Manifests are .pp files. The Puppet syntax (with its domain specific language) is beyond the scope of this posting. This post is to get you started. Go to the directory where the modules are on the Puppet Master server. Use this command if you are unsure: find / -name modules
Throughout these directions substitute "continualintegration" with the module name of your choice.
Run this command: puppet module generate jdoe-continualintegration
# The username "jdoe" and hyphen are optional. Naturally you would use your own username or your first name. Puppet recommends this convention.
Accept the defaults to the subsequent prompts.
Then issue these two Linux commands:
cd continualintegration
cd manifests
Modify init.pp to be the new manifest. Save the changes.
Go to the Puppet Enterprise Console (sometimes referred to as the Puppet Management GUI or Puppet Dashboard) by opening a web browser and going to https://x.x.x.x where x.x.x.x is the IP address of the Puppet Master server.
Log in.
Go to Classification -> Facter -> Add New Class
In this field, type "continualintegration". As you type you should see a suggestion appear below. Click on it. Click "Add Class." In the lower right hand corner, find the "Commit 1 change" button. Click this button.
Now when Puppet Agent runs on the client, the configuration should be pushed down. For Windows Servers, Puppet Agent may need to be ran as administrator. To clarify you may need to open PowerShell as administrator and run with this command: puppet -t puppet.continualintegration.com -d # where puppet.continualintegration.com is the FQDN of the Puppet Master server in your network.