Skip to content
Test-Kitchen plugins for Pulumi projects
Ruby Other
  1. Ruby 99.7%
  2. Other 0.3%
Branch: master
Clone or download
jacoblearned Merge pull request #84 from jacoblearned/yardoc
Add yardoc and docs for main code segments
Latest commit b327f70 Nov 24, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Correct gem push command in CI Sep 12, 2019
.vscode Add spellcheck vs-code config Jul 21, 2019
bin Add console and setup scripts made by bundler Sep 11, 2019
examples/aws/serverless-rest-api-lambda Add Verification section to tutorial Sep 11, 2019
lib/kitchen
spec Update integration test project to preserve config Sep 8, 2019
.gitignore Ignore config backup files Apr 27, 2019
.rubocop.yml
.ruby-gemset Add gemset and ruby version files for rvm Apr 27, 2019
.ruby-version Add gemset and ruby version files for rvm Apr 27, 2019
.yardopts Add yardoc and docs for main code segments Nov 24, 2019
CHANGELOG.md Add Changelog entry for v0.1.0 Sep 11, 2019
CODE_OF_CONDUCT.md Correct email in code of conduct Sep 12, 2019
Gemfile Add Gemspec and Gemfile Jul 8, 2018
Gemfile.lock Add yardoc and docs for main code segments Nov 24, 2019
LICENSE Initial commit Jul 8, 2018
README.md Add github username to links Sep 12, 2019
Rakefile Import Bundler tasks to Rakefile Sep 11, 2019
kitchen-pulumi.gemspec

README.md

Kitchen-Pulumi

Gem Gem Gem CircleCI Test Coverage Maintainability

Kitchen-Pulumi is a collection of Test-Kitchen plugins for testing Pulumi-based cloud infrastructure projects under the test-driven infrastructure paradigm. With Kitchen-Pulumi you can provision ephemeral test stacks, verify they are in a desired state using InSpec, and tear them down to gain confidence in your infrastructure code before it hits production.

Features

Kitchen-Pulumi provides a Kitchen driver, provisioner, and verifier which collectively support the following features:

  • Language-agnostic: Create and test Pulumi stacks in any of their supported languages.
  • Backend-agnostic: Use the Pulumi SaaS backend, a local backend, or your organization's internal backend.
  • Configurable: Easily define/override stack config values in your .kitchen.yml file for flexible testing across environments or scenarios.
  • Test changes over time: Simulate changes in stack config values over time to test how your infrastructure reacts to ever-shifting user-provided values.
  • Custom state verification: Code any validation logic you desire, provided it can be ran within an InSpec profile.

If there's a feature you would like to see in Kitchen-Pulumi, please create an issue with the suggested feature and its intended use case.

Installation

Kitchen-Pulumi is compatible with Ruby 2.4 and above. Add this line to your application's Gemfile:

# Gemfile

gem 'kitchen-pulumi'

And then execute:

$ bundle

Or install it yourself as:

$ gem install kitchen-pulumi

Quick Start / Tutorial

Check out the serverless-rest-api-lambda example and follow the instructions in its README.

Usage

TODO: Write usage instructions here

Development

After checking out the repo, run bin/setup to install dependencies. You can also run bin/console for an interactive prompt that will allow you to experiment. To install this gem onto your local machine, run bundle exec rake install.

Contributing

Bug reports and pull requests are always welcome on GitHub at https://github.com/jacoblearned/kitchen-pulumi. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The gem is available as open source under the terms of the MIT License.

Code of Conduct

Everyone interacting in the Kitchen-Pulumi’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.

You can’t perform that action at this time.