These are the following key components of puppet:
- Puppet master - Puppet master runs on the server and manages all the nodes.
 
- Puppet Agent - Puppet agent runs on the client. they are the target machines here.
 
- Config repository - This is where all the server related configurations and nodes are stored.
 
- Facts - They are global variables obtaining important machine level information.
 
- Catalog - All configurations that are written in puppet are converted to a compiled format called catalog.
 
- Manifests - these are files that need to be checked and changed.
 
- Class - Like other programming languages, even puppet has classes to organize its code better.
 
- Resources - In puppet codes, the coding block that is defined by declaring resources where resources may represent packages, files, users, commands.
 
- Nodes - All servers or clients that need to be managed are called nodes.