--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To post to this group, send email to puppet...@googlegroups.com.
To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
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
Just wanted to point out that we accept patches for the documentation :)
I love Dan's description here, it is indeed concise and
understandable. Let's get it in the docs for sure.