Puppet is a configuration management tool that follows a master slave principle. The desired state of a system is described in a declarative language. This allows administrators to determine the desired end state–not how to achieve it (impotence). The definitions for the managed systems lie in so-called manifestos on the Puppet Master.
An agent runs on the clients, which periodically asks the master’s desired condition and corrects deviations. Configuration drifts, for example, if users have made local changes and the system is no longer in the desired state, will be automatically corrected the next run of the agent. The range of possible commands ranges from generating and modifying individual files to managing user accounts and software packages to more complex tasks.
Manifestos and dynamic templates are written in Ruby or a syntax oriented towards Ruby and follow a strict class concept. Parameters for the manifestos are either stored in a database on the Puppet Master or dynamically queried by an External Node Classifier such as a Datacenter Inventory Management (DCIM) or a Configuration Management Database (CMDB).
Client-based configuration management
Idempotence (the final state is described, not the way to go)
Prevents configuration drifts and secures compliance
Master only for Linux, agents for Linux, Windows, various UNIXe (macOS, * BSD, Solaris, AIX)
Central management of configurations
Integrated into tools like orcharhino and Red Hat Satellite
How do we support You?
When planning configuration management with puppet
When It comes to implementation through Concept, PoC and Installation
By taking specific infrastructure requirements into account.
Automation of complete IT infrastructures with puppet