Re: [Puppet Users] The puppet model

Gabriel Filion
Wed, 24 Nov 2010 18:46:54 -0000

Hello,

On 11/23/2010 12:34 PM, Dan Bode wrote:
> http://projects.puppetlabs.com/projects/1/wiki/Puppet_Internals
>
> The model in puppet is implemented as a directed acyclic graph (DAG). The
> vertices of the graph are resoures, the edges are the relationships (order
> dependencies) between resources.
>
> Resource types describe the desired state of a resource in terms of
> properties.
>    ex: File has properties content, mode, owner, group
>
> Types specify the description of a resource, which is abstracted from
> providers that specify the implementation (how we query the current state,
> how we synchronize)
>   ex: package { ''foo'': ensure => installed} is a
relevant description
> regardless of the implementation of how we query the current state and how
> we synchronize if it does not match the description. (could be apt, rpm,
> yum)
>
> Properties are attributes of resources that can be synchronized.
>
> The synchronization process is as follows:
>   - query the real state of the property on the system
>   - compare to the desired state
>   - if they are not the same, then synchronize them
>   - if we have to sync resources, then create an event.

This description is actually concise and quite understandable. I would
suggest adding it to Puppet''s documentation wiki, not too far away from
the "extended knowledge" section [1].

[1]: http://docs.puppetlabs.com/#extended-knowledge

--
Gabriel Filion