homeblogintroducing dsclite 10

Introducing dsc_lite 1.0!

After releasing an unsupported version earlier this year, we are pleased to announce the release of dsc_lite 1.0. We invite Windows users to try this alternative, and now supported, approach to managing nodes using Microsoft’s PowerShell DSC (Desired State Configuration) resources. With more granular control, this modules provides more flexibility for advanced users.

To help you get started with dsc_lite, we’ve outlined a few key steps to take. Before we get to that, we’ll recap what the dsc_lite module does. Please note that unlike some of our other modules that can be used as an easy way to learn a new technology, using dsc_lite requires prior knowledge of PowerShell DSC.

Recap: What is dsc_lite?

dsc_lite is one of the latest modules to come out of the Windows team here at Puppet. It is aimed at DSC practitioners who would like to use DSC in a more direct way through Puppet, and find our existing dsc module too heavy (file sync). One of the the main reasons dsc is like this is because everything you need, including DSC resources, is built into it. This design, while making it easier for users to start with DSC and Puppet, is difficult to maintain and update as all the resources that are included have different release cadences from Microsoft and the community. With the new dsc_lite module, nothing is built into it, providing a lighter weight and more flexible alternative.

If I’m already using the dsc module, should I switch to dsc_lite?

Not necessarily. If you like having DSC resources built into the module, and the large size of dsc is not a problem, there is no tangible benefit to switching to dsc_lite. One thing to take into account is that the original dsc module integrates better with Puppet. This is because its parameters are translated into Ruby type files, making it easier for Puppet to understand, and the authoring experience better for the user.

The dsc_lite module also has fewer safety checks, in that it lacks the type files that allow Puppet to do DSC parameter and type validation. In other words, dsc_lite is bowling with the bumpers down, and dsc is bowling with the bumpers up.

To learn more about the differences between dsc_lite and dsc, and to help you decide which module is better suited to you, read our previous dsc_lite blog post and tradeoffs document.

Where to start

Before downloading the module, ensure that you have PowerShell 5.1 or greater installed on your servers. You can validate this by calling $PSVersionTable in a PowerShell window.

Next, download the dsc_lite module from the Forge, and install like you would any other module. The README on the module page has all the detailed information on how to get started (more than this blog post!), how to add PowerShell Modules with Puppet, and how to form the DSC resources in Puppet code.

Give it a try, and as always, let us know what you think, on Slack or by filing a ticket in JIRA.

The Puppet Windows team is continually improving the experience for Windows sysadmins on the Forge. Check back for new releases and updates on our popular modules. Subscribe to modules to get notifications.

Claire Cadman is a technical writer at Puppet.

Learn more