The types and providers subsystem is a vital component of the Puppet agent. It is a corner stone of the resource abstraction that defines Puppet's development approach. Coming to terms with the concepts and ideas of the architecture of this subsystem can be daunting. This presentation captures the essence of Puppet's type code and relays the experience of a self-taught developer. It provides some pointers for efficient reading of Puppet's source code. The provider side is covered as well, with some additional reading help for the family of parsed-file based providers. Learning to code types and providers is not only a good way to get started with core Puppet development. It also allows you to enhance your modules with all new custom native types.
Felix is a long-time Puppet user and contributor. He's been answering mailing list questions, bug reports and feature requests as well as StackExchange questions. He wrote a Puppet quick start guidebook in 2014 (available from Packt Publishing). These days he mainly tries to help with module maintenance, dabbles in some modules of his own and keeps building patches for the Puppet core. A Berlin resident of many years, Felix has a job in the trenches of puppetized IT operations.