0.0
Repository is archived
No release in over 3 years
Low commit activity in last 3 years
Kitchen-Pulumi makes it easy to add integration tests to Pulumi-based infrastructure projects.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

~> 0.13
>= 3, < 5
>= 2.1, < 2.6
~> 1.2
>= 2.3, < 4.0
>= 1.22, < 3.0
 Project Readme

Kitchen-Pulumi

Gem Gem Gem CircleCI Test Coverage Maintainability

Kitchen-Pulumi is a collection of Test-Kitchen plugins for developing test-driven Pulumi-based cloud infrastructure projects. 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.6 and above. Add this line to your application's Gemfile:

# Gemfile

gem 'kitchen-pulumi', require: false

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.