All Projects → test-kitchen → kitchen-dsc

test-kitchen / kitchen-dsc

Licence: Apache-2.0 license
A DSC Provisioner for Test-Kitchen

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to kitchen-dsc

dokken-images
Minimal Docker Images for testing
Stars: ✭ 20 (-25.93%)
Mutual labels:  ruby-gem, test-kitchen, managed-by-terraform
kitchen-rackspace
A Rackspace Cloud driver for Test Kitchen
Stars: ✭ 15 (-44.44%)
Mutual labels:  ruby-gem, test-kitchen, managed-by-terraform
kitchen-google
Google Compute Engine driver for Test-Kitchen
Stars: ✭ 47 (+74.07%)
Mutual labels:  ruby-gem, test-kitchen, managed-by-terraform
busser
Kitchen Busser - Runs tests for projects in test-kitchen
Stars: ✭ 47 (+74.07%)
Mutual labels:  ruby-gem, test-kitchen, managed-by-terraform
kitchen-habitat
A Test Kitchen Driver for Habitat
Stars: ✭ 13 (-51.85%)
Mutual labels:  ruby-gem, test-kitchen, managed-by-terraform
kitchen-pester
A Test Kitchen driver to execute Pester as a verifier
Stars: ✭ 29 (+7.41%)
Mutual labels:  ruby-gem, test-kitchen, managed-by-terraform
vmware-vra-gem
A Ruby Gem for interacting with the VMware vRealize Automation system
Stars: ✭ 16 (-40.74%)
Mutual labels:  ruby-gem, test-kitchen, managed-by-terraform
busser-rspec
Run RSpec tests through busser
Stars: ✭ 12 (-55.56%)
Mutual labels:  ruby-gem, test-kitchen, managed-by-terraform
busser-serverspec
A Busser runner plugin for the serverspec testing library
Stars: ✭ 51 (+88.89%)
Mutual labels:  ruby-gem, test-kitchen, managed-by-terraform
graphql-remote loader
Performant remote GraphQL queries from within the resolvers of a Ruby GraphQL API.
Stars: ✭ 52 (+92.59%)
Mutual labels:  ruby-gem
ossec
Development repository for the ossec cookbook
Stars: ✭ 42 (+55.56%)
Mutual labels:  managed-by-terraform
github-action-terraform
An example of Continuous Integration with GitHub Actions and HashiCorp Terraform
Stars: ✭ 23 (-14.81%)
Mutual labels:  managed-by-terraform
daru-io
daru-io is a plugin gem to the existing daru gem, which aims to add support to Importing DataFrames from / Exporting DataFrames to multiple formats.
Stars: ✭ 21 (-22.22%)
Mutual labels:  ruby-gem
lex
Lex is an implementation of lex tool in Ruby.
Stars: ✭ 49 (+81.48%)
Mutual labels:  ruby-gem
activerecord-setops
Union, Intersect, and Difference set operations for ActiveRecord (also, SQL's UnionAll).
Stars: ✭ 21 (-22.22%)
Mutual labels:  ruby-gem
kitchen-vcenter
A test-kitchen driver for vCenter REST API
Stars: ✭ 23 (-14.81%)
Mutual labels:  test-kitchen
bucky-core
System testing framework for web application.
Stars: ✭ 32 (+18.52%)
Mutual labels:  ruby-gem
syobocal
Simle gem for Syboi Calendar
Stars: ✭ 13 (-51.85%)
Mutual labels:  ruby-gem
eqn
A gem to evaluate mathematical equations.
Stars: ✭ 32 (+18.52%)
Mutual labels:  ruby-gem
line
Development repository for the line cookbook
Stars: ✭ 96 (+255.56%)
Mutual labels:  managed-by-terraform

Gem Version

kitchen-dsc

A Test Kitchen Provisioner for PowerShell DSC

Status

This software project is no longer under active development as it has no active maintainers. The software may continue to work for some or all use cases, but issues filed in GitHub will most likely not be triaged. If a new maintainer is interested in working on this project please come chat with us in #test-kitchen on Chef Community Slack.

Requirements

You'll need a driver box with WMF4 or greater (ONLY WINDOWS SYSTEMS)

Installation & Setup

You'll need the test-kitchen & kitchen-dsc gems installed in your system, along with kitchen-vagrant or some ther suitable driver for test-kitchen.

Note:

You will see a delay in the return of the run details due to an difference in how the verbose stream is returned for DSC runs between WMF versions, so I return the verbose stream after the job completes. I'd love to live stream the results, but that'll take a bit more experimentation. (PR's welcome!)

Example Configurations

Configuration Settings

  • configuration_script_folder

    • Defaults to 'examples'.
    • The location of a PowerShell script(s) containing the DSC configuration command(s).
  • configuration_script

    • Defaults to 'dsc_configuration.ps1'
    • The name of the PowerShell script containing the DSC configuration command(s) (and possibly configuration data)
  • configuration_name

    • Name of the configuration to run, defaults to the suite name.
  • configuration_data

    • A YAML representation of what should be passed to the configuration.
    • Overrides any configurationdata variable assigned in the configuration script.
  • configuration_data_variable

    • Defaults to 'ConfigurationData'
    • Name of the variable that contains the ConfigurationData hashtable
    • Can be defined in the configuration script or via the configuration_data configuration setting.
  • dsc_local_configuration_manager_version

    • Defaults to 'wmf4'
    • Identifies what version of the LCM is in place
    • Other valid values are 'wmf4_with_update' and 'wmf5'
      • Currently the only difference between wmf4 and wmf4_with_update/wmf5 is the action_after_reboot and the debug_mode settings. Eventually, I'd like to add support for partial configurations, pull servers, etc..
    • In this context, wmf4_with_update refers to wmf4 with KB3000850 applied (to add support for WMF 5 generated configurations, plus some fixes).
  • dsc_local_configuration_manager

    • Settings for the LCM
    • Defaults are:
      • action_after_reboot = 'StopConfiguration' # wmf4_with_update or wmf5
      • reboot_if_needed = false
      • allow_module_overwrite = false
      • certificate_id = nil
      • configuration_mode = 'ApplyAndAutoCorrect'
      • configuration_mode_frequency_mins = 30 # 15 on wmf5
      • debug_mode = 'All' # wmf4_with_update
      • refresh_frequency_mins = 15 # 30 on wmf5
      • refresh_mode = 'PUSH'
  • modules_from_gallery

    • Requires WMF 5
    • Takes a string (for one module) or an array (for multiple) to install from the gallery
    • Or takes a hash with keys matching the parameters for install-module.
      • Name is required.
      • Force is automatically used and not required as part of the hash table.
      • Repository defaults to either PSGallery or any custom feed defined, but can be overriden here.
  • gallery_name

    • Custom PowerShell gallery name to install modules from.
    • If there is no package source with this name registered on the machine, then gallery_uri must be configured as well.
  • gallery_uri

    • URI for a custom PowerShell gallery feed.

Specific to repository style testing

  • modules_path
    • Defaults to 'modules'.
    • Points to the location of modules containing DSC resources to upload
    • This path is relative to the root of the repository (the location of the .kitchen.yml).

Example

provisioner:
  - name: dsc
    dsc_local_configuration_manager_version: wmf5
    dsc_local_configuration_manager:
      reboot_if_needed: true
      debug_mode: none
    configuration_script_folder: .
    configuration_script: SampleConfig.ps1
    gallery_uri: https://ci.appveyor.com/nuget/xWebAdministration
    gallery_name: xWebDevFeed
    modules_from_gallery:
      - xWebAdministration
      - name: xComputerManagement
        requiredversion: 1.4.0.0
        repository: PSGallery

suite:
  - name: test
    provisioner:
      configuration_data:
        AllNodes:
          - nodename: localhost
            role: webserver
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].