Uploaded image for project: 'Modules'
  1. Modules
  2. MODULES-5847

DSC_lite: Document tradeoffs between generic DSC and current DSC



    • Task
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • None
    • None
    • None
    • None
    • Windows
    • Windows Kanban
    • Needs Assessment


      This work should impact DSC_Lite README

      Existing DSC type wrappers

      • For Microsoft released / community resources requires Puppet to issue new modules with new vendored content
      • For custom resources, requires following a separate build procedure involving Ruby tooling and releasing custom module internally (does allow for unnecessary resources to be stripped from custom module)
      • Type wrappers are specifically versioned with their corresponding DSC resource counterparts - no possibility for a manifest definition to mismatch against the actual DSC resource. All content vendored together makes initial consumption model for users simple.
      • Module is fairly heavyweight for pluginsync, especially given it will generally be synced to Linux hosts where it cannot run
      • No puppet resource support
      • No property by property reporting - DSC doesn't differentiate between properties and parameters like Puppet does, which makes it difficult
      • Type wrappers provide up-front parse-time validation based on MOF schemas, so no need to call into DSC runtime to verify type checks (i.e. string, int, etc)
      • No ability to support PowerShell class based resources currently
      • No ability to support composite resources
      • PE console reporting specificies individual resource types / provides grouping and filtering over them

      New DSC_lite generic wrapper

      • No parse-time validation performed by Puppet - must defer validation until runtime when DSC resources are executed
      • Consume any resource that is available on the host - no need to use vendored content
      • Can use Puppet more granularly to distribute DSC resources if desired
      • Can use multiple versions of same resource easily on a resource-by-resource basis
      • Console reporting only shows dsc, and not any specific dsc resource types - work to investigate this further in MODULES-5970
      • The dsc resource properties hash is conceptually more similar to PowerShell DSC resource definition - there are also no dsc_ prefixes necessary for DSC properties
      • Extremely lightweight module given it vendors no content - includes approximately 10 files


        Issue Links



              michael.lombardi Michael Lombardi
              erick Erick Banks
              0 Vote for this issue
              2 Start watching this issue



                Zendesk Support