Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status

RSS

terraform (24) Versions 0.5.2

Installs Terraform (terraform.io)

Policyfile
Berkshelf
Knife
cookbook 'terraform', '= 0.5.2', :supermarket
cookbook 'terraform', '= 0.5.2'
knife supermarket install terraform
knife supermarket download terraform
README
Dependencies
Changelog
Quality 50%

terraform Cookbook

Installs Terraform by Mitchell Hashimoto
(@mitchellh).

Terraform is an open source tool that allows you to
configure entire infrastructure stack as code.

Requirements

Cookbooks

The only dependency this cookbook has is the ark
cookbook
.

Platforms

The following platforms are supported and have been automatically tested under
Test Kitchen:

  • Amazon Linux (2014.03.2-hvm)
  • CentOS 6.5
  • CentOS 7
  • Debian 7.6
  • Fedora 20
  • FreeBSD 10
  • Ubuntu 14.04

Other versions of these OSs should work. Alternative Debian and RHEL
family distributions are also assumed to work. Please report
any additional platforms you have tested so they can be added.

Usage

Simply include recipe[terraform] in your run_list to have
Terraform installed. If you are using an artifact repository, like Nexus, hosted behind your corporate firewall, you must set the default attribute or override attributes in your roles or environments. The attributes are detailed velow.

Recipes

default

Installs Terraform from official pre-compiled binaries.

Attributes

node['terraform']['url_base']

If you are using an artifact repository, like Nexus, hosted behind your corporate firewall, you must set the default attribute or override attributes in your roles or environments.

Default: https://releases.hashicorp.com/terraform

node['terraform']['version']

The version of Terraform that will be installed (Default: 0.6.16)

node['terraform']['checksum']

As of v0.4.1, checksums are processed dynamically. There is no longer a need to specify the sha256 checksums of each terraform package in a cookbook attribute manually

NOTE: All other attributes are considered internal and shouldn't
normally need to be changed.

Example setting default_attributes in a role (JSON file):

{
  "name": "terraform_workstation",
  "description": "Role to apply onto a terraform workstation",
  "json_class": "Chef::Role",
  "default_attributes": {
    "terraform": {
      "url_base": "https://nexus.internal.com/nexus",
      "version": "0.6.16"
    }
  },
  "override_attributes": {},
  "run_list": [
    "recipe[terraform]"
  ]
}

Development

Contributing

Pull requests are very welcome! Ideally create a topic branch for every
separate change you make.

This cookbook uses ChefSpec for unit tests. I also use Food
Critic
and RuboCop to check for style issues.
When contributing it would be very helpful if you could run these via
bundle exec spec and bundle exec style.

Lastly, there are Serverspec integration tests for
use with Test Kitchen. To see all of the available
integration test suites just check bundle exec rake T or bundle exec
kitchen list
. It would be great if you could run these tests too, you
may however leave out the Amazon Linux test suite if you do not have
an AWS account as it runs on an EC2 instance (you will be billed for
running this).

Credit

This cookbook, especially the checksum stuff in
attributes file has been influenced by the Packer
cookbook
by
@sit.

License and Author

Author:: Ross Timson
<ross@rosstimson.com>

Contributor:: Dang Nguyen
<haidangwa@gmail.com>

Copyright 2014, Ross Timson

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Dependent cookbooks

ark ~> 1.1.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

terraform Cookbook CHANGELOG

0.5.2

0.5.1

  • Documentation update

0.5.0

  • Update terraform to 0.6.16
  • Update ark dependency to '~> 1.1.0'

0.4.4

  • added chefspec tests
  • added more test platforms in Test Kitchen
  • Merged PR #16 that resolves derived attribute issue

0.4.3

  • Patch a bug introduced by v0.4.2 where the URI.join truncated any path from the URI base. This resulted in GET requests that were missing whatever path was included in the URL base, such as "/terraform"

0.4.2

  • Remove extraneous slashes from Terraform's SHA256SUMS URL that give 403 Forbidden

0.4.1

  • cleaned up the fetch_checksums helper method
  • set the default['terraform']['checksums'] and default['terraform']['checksum'] attributes in the default recipe

0.4.0

0.3.0

0.2.1

  • Buump Terraform to latest version (0.6.11) (@thegreenrobot)

0.2.0

0.1.3

0.1.2

  • Update to Terraform 0.5.1 (@wilb)
  • Fixing rsync trailing slash issue. (@dquiles)

0.1.1

  • Update to Terraform 0.3.1 (@cantenesse)
  • Kills hard dependency on Ark cookbook (@cantenesse)

0.1.0

  • Initial release.

Collaborator Number Metric
            

0.5.2 failed this metric

Failure: Cookbook has 1 collaborators. A cookbook must have at least 2 collaborators to pass this metric.

Foodcritic Metric
            

0.5.2 passed this metric