Details
-
Epic
-
Status: Closed
-
Normal
-
Resolution: Done
-
None
-
None
-
None
-
None
-
Puppet Resource Types
-
-
Platform Core
-
New Feature
-
This is a major new feature that requires a lot of documentation (More than what fits in this tiny box in Jira :-)).
Description
It is problematic to handle resource types as implementations in Ruby and we want to be able to describe these types using the Puppet Language. The reasons for this are:
- The compiler needs to know about the existence of types and their attributes in order to validate that manifests are correct.
- When definitions are written in Ruby code, they become a permanent part of the runtime and are difficult to get rid of this causes leakage between environments and makes it hard to support multiple versions of a given type in the same runtime.
- When the compiler goes native C++ the problems become worse.
We therefore want to describe resource types the same way as other data types; i.e. by using the Puppet Core (PCore) type model.
This is a major undertaking, and it needs to be done in a way that allows the existing types to be used at runtime by agents implemented in Ruby.