mixlib-install 3.9.0 → 3.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. checksums.yaml +5 -5
  2. data/lib/mixlib/install/options.rb +1 -1
  3. data/lib/mixlib/install/version.rb +1 -1
  4. data/mixlib-install.gemspec +1 -1
  5. metadata +3 -112
  6. data/.expeditor/config.yml +0 -20
  7. data/.expeditor/update_version.sh +0 -9
  8. data/.gitattributes +0 -3
  9. data/.github/CODEOWNERS +0 -3
  10. data/.gitignore +0 -13
  11. data/.rspec +0 -2
  12. data/.rubocop.yml +0 -2
  13. data/.travis.yml +0 -61
  14. data/CHANGELOG.md +0 -220
  15. data/CONTRIBUTING.md +0 -14
  16. data/VERSION +0 -1
  17. data/acceptance/.gitignore +0 -8
  18. data/acceptance/.suites/ubuntu_install_checksum/.acceptance/acceptance-cookbook/.gitignore +0 -8
  19. data/acceptance/.suites/ubuntu_install_checksum/.acceptance/acceptance-cookbook/metadata.rb +0 -2
  20. data/acceptance/.suites/ubuntu_install_checksum/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -3
  21. data/acceptance/.suites/ubuntu_install_checksum/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -24
  22. data/acceptance/.suites/ubuntu_install_checksum/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -11
  23. data/acceptance/.suites/ubuntu_install_checksum/inspec/verify.rb +0 -78
  24. data/acceptance/.suites/ubuntu_install_checksum/terraform/application.tf +0 -95
  25. data/acceptance/.suites/ubuntu_install_checksum/terraform/aws.tf +0 -8
  26. data/acceptance/.suites/ubuntu_install_checksum/terraform/variables.tf +0 -27
  27. data/acceptance/.suites/windows-nano/.acceptance/acceptance-cookbook/.gitignore +0 -2
  28. data/acceptance/.suites/windows-nano/.acceptance/acceptance-cookbook/libraries/chef_extentions.rb +0 -74
  29. data/acceptance/.suites/windows-nano/.acceptance/acceptance-cookbook/metadata.rb +0 -2
  30. data/acceptance/.suites/windows-nano/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -1
  31. data/acceptance/.suites/windows-nano/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -49
  32. data/acceptance/.suites/windows-nano/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -9
  33. data/acceptance/.suites/windows-nano/inspec/verify.rb +0 -11
  34. data/acceptance/.suites/windows-nano/terraform/application.tf +0 -59
  35. data/acceptance/.suites/windows-nano/terraform/aws.tf +0 -8
  36. data/acceptance/.suites/windows-nano/terraform/variables.tf +0 -10
  37. data/acceptance/Gemfile +0 -8
  38. data/acceptance/README.md +0 -6
  39. data/acceptance/centos_install_checksum/.acceptance/acceptance-cookbook/.gitignore +0 -8
  40. data/acceptance/centos_install_checksum/.acceptance/acceptance-cookbook/metadata.rb +0 -2
  41. data/acceptance/centos_install_checksum/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -3
  42. data/acceptance/centos_install_checksum/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -24
  43. data/acceptance/centos_install_checksum/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -11
  44. data/acceptance/centos_install_checksum/inspec/verify.rb +0 -78
  45. data/acceptance/centos_install_checksum/terraform/application.tf +0 -95
  46. data/acceptance/centos_install_checksum/terraform/aws.tf +0 -8
  47. data/acceptance/centos_install_checksum/terraform/variables.tf +0 -27
  48. data/acceptance/ubuntu_install_command/.acceptance/acceptance-cookbook/.gitignore +0 -8
  49. data/acceptance/ubuntu_install_command/.acceptance/acceptance-cookbook/metadata.rb +0 -2
  50. data/acceptance/ubuntu_install_command/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -3
  51. data/acceptance/ubuntu_install_command/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -12
  52. data/acceptance/ubuntu_install_command/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -11
  53. data/acceptance/ubuntu_install_command/inspec/verify.rb +0 -3
  54. data/acceptance/ubuntu_install_command/terraform/application.tf +0 -78
  55. data/acceptance/ubuntu_install_command/terraform/aws.tf +0 -8
  56. data/acceptance/ubuntu_install_command/terraform/variables.tf +0 -27
  57. data/acceptance/ubuntu_install_command_once/.acceptance/acceptance-cookbook/.gitignore +0 -8
  58. data/acceptance/ubuntu_install_command_once/.acceptance/acceptance-cookbook/metadata.rb +0 -2
  59. data/acceptance/ubuntu_install_command_once/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -3
  60. data/acceptance/ubuntu_install_command_once/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -12
  61. data/acceptance/ubuntu_install_command_once/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -11
  62. data/acceptance/ubuntu_install_command_once/inspec/verify.rb +0 -7
  63. data/acceptance/ubuntu_install_command_once/terraform/application.tf +0 -78
  64. data/acceptance/ubuntu_install_command_once/terraform/aws.tf +0 -8
  65. data/acceptance/ubuntu_install_command_once/terraform/variables.tf +0 -27
  66. data/acceptance/ubuntu_install_sh/.acceptance/acceptance-cookbook/.gitignore +0 -8
  67. data/acceptance/ubuntu_install_sh/.acceptance/acceptance-cookbook/metadata.rb +0 -2
  68. data/acceptance/ubuntu_install_sh/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -3
  69. data/acceptance/ubuntu_install_sh/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -12
  70. data/acceptance/ubuntu_install_sh/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -11
  71. data/acceptance/ubuntu_install_sh/inspec/verify.rb +0 -3
  72. data/acceptance/ubuntu_install_sh/terraform/application.tf +0 -78
  73. data/acceptance/ubuntu_install_sh/terraform/aws.tf +0 -8
  74. data/acceptance/ubuntu_install_sh/terraform/variables.tf +0 -27
  75. data/acceptance/windows-server-2012r2-checksum/.acceptance/acceptance-cookbook/.gitignore +0 -2
  76. data/acceptance/windows-server-2012r2-checksum/.acceptance/acceptance-cookbook/metadata.rb +0 -2
  77. data/acceptance/windows-server-2012r2-checksum/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -3
  78. data/acceptance/windows-server-2012r2-checksum/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -22
  79. data/acceptance/windows-server-2012r2-checksum/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -14
  80. data/acceptance/windows-server-2012r2-checksum/inspec/verify.rb +0 -21
  81. data/acceptance/windows-server-2012r2-checksum/terraform/application.tf +0 -94
  82. data/acceptance/windows-server-2012r2-checksum/terraform/aws.tf +0 -8
  83. data/acceptance/windows-server-2012r2-checksum/terraform/variables.tf +0 -16
  84. data/acceptance/windows-server-2012r2-fips/.acceptance/acceptance-cookbook/.gitignore +0 -2
  85. data/acceptance/windows-server-2012r2-fips/.acceptance/acceptance-cookbook/metadata.rb +0 -1
  86. data/acceptance/windows-server-2012r2-fips/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -3
  87. data/acceptance/windows-server-2012r2-fips/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -12
  88. data/acceptance/windows-server-2012r2-fips/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -14
  89. data/acceptance/windows-server-2012r2-fips/inspec/verify.rb +0 -3
  90. data/acceptance/windows-server-2012r2-fips/terraform/application.tf +0 -90
  91. data/acceptance/windows-server-2012r2-fips/terraform/aws.tf +0 -8
  92. data/acceptance/windows-server-2012r2-fips/terraform/variables.tf +0 -16
  93. data/acceptance/windows-server-2012r2-once/.acceptance/acceptance-cookbook/.gitignore +0 -2
  94. data/acceptance/windows-server-2012r2-once/.acceptance/acceptance-cookbook/metadata.rb +0 -2
  95. data/acceptance/windows-server-2012r2-once/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -3
  96. data/acceptance/windows-server-2012r2-once/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -13
  97. data/acceptance/windows-server-2012r2-once/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -14
  98. data/acceptance/windows-server-2012r2-once/inspec/verify.rb +0 -7
  99. data/acceptance/windows-server-2012r2-once/terraform/application.tf +0 -89
  100. data/acceptance/windows-server-2012r2-once/terraform/aws.tf +0 -8
  101. data/acceptance/windows-server-2012r2-once/terraform/variables.tf +0 -16
  102. data/acceptance/windows-server-2012r2-ps1/.acceptance/acceptance-cookbook/.gitignore +0 -2
  103. data/acceptance/windows-server-2012r2-ps1/.acceptance/acceptance-cookbook/metadata.rb +0 -2
  104. data/acceptance/windows-server-2012r2-ps1/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -3
  105. data/acceptance/windows-server-2012r2-ps1/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -12
  106. data/acceptance/windows-server-2012r2-ps1/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -14
  107. data/acceptance/windows-server-2012r2-ps1/inspec/verify.rb +0 -3
  108. data/acceptance/windows-server-2012r2-ps1/terraform/application.tf +0 -89
  109. data/acceptance/windows-server-2012r2-ps1/terraform/aws.tf +0 -8
  110. data/acceptance/windows-server-2012r2-ps1/terraform/variables.tf +0 -16
  111. data/ci/before-script.sh +0 -18
  112. data/ci/es-infrastructure.pem.enc +0 -0
  113. data/ci/run-acceptance-tests.sh +0 -13
@@ -1,11 +0,0 @@
1
- describe command("git --version") do
2
- its("stdout") { should match "git version" }
3
- end
4
-
5
- describe command("ruby --version") do
6
- its("stdout") { should match "ruby.*[x64-mingw32]" }
7
- end
8
-
9
- describe command("gcc --version") do
10
- its("stdout") { should match "gcc.exe" }
11
- end
@@ -1,59 +0,0 @@
1
- data "aws_ami" "windows_ami" {
2
- most_recent = true
3
-
4
- filter {
5
- name = "owner-alias"
6
- values = ["amazon"]
7
- }
8
-
9
- filter {
10
- name = "name"
11
- values = ["Windows_Server-2016-English-Nano-Base-*"]
12
- }
13
-
14
- filter {
15
- name = "architecture"
16
- values = ["x86_64"]
17
- }
18
-
19
- filter {
20
- name = "virtualization-type"
21
- values = ["hvm"]
22
- }
23
-
24
- filter {
25
- name = "block-device-mapping.volume-type"
26
- values = ["gp2"]
27
- }
28
-
29
- filter {
30
- name = "image-type"
31
- values = ["machine"]
32
- }
33
- }
34
-
35
- resource "aws_instance" "windows_server_nano_ami" {
36
- count = 1
37
-
38
- ami = "${data.aws_ami.windows_ami.id}"
39
- instance_type = "${var.aws_instance_type}"
40
- key_name = "es-infrastructure"
41
-
42
- associate_public_ip_address = true
43
-
44
- subnet_id = "subnet-11ac0174" # Planet Releng Public Subnet
45
- source_dest_check = false
46
-
47
- vpc_security_group_ids = [
48
- "sg-96274af3",
49
- ]
50
-
51
- tags {
52
- # ChefOps's AWS standard tags:
53
- X-Dept = "EngServ"
54
- X-Contact = "pwright"
55
- X-Production = "false"
56
- X-Environment = "acceptance"
57
- X-Application = "mixlib-install"
58
- }
59
- }
@@ -1,8 +0,0 @@
1
- # Restrict operation of terraform to chef-es profile so that
2
- # we do not create resources in other aws profiles.
3
- # We assume user has configured standard aws credentials
4
- # under ~/.aws/credentials or with $AWS_SHARED_CREDENTIALS_FILE
5
- provider "aws" {
6
- region = "${var.aws_region}"
7
- profile = "chef-aws"
8
- }
@@ -1,10 +0,0 @@
1
- # Region to create infrastructure in
2
- variable "aws_region" {
3
- type = "string"
4
- default = "us-west-2"
5
- }
6
-
7
- variable "aws_instance_type" {
8
- type = "string"
9
- default = "t2.micro"
10
- }
data/acceptance/Gemfile DELETED
@@ -1,8 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "mixlib-install", path: "../"
4
- gem "chef"
5
- gem "chef-acceptance", github: "chef/chef-acceptance"
6
- gem "inspec"
7
- gem "aws-sdk"
8
- gem "winrm"
data/acceptance/README.md DELETED
@@ -1,6 +0,0 @@
1
- Using rvm? Run this: `export APPBUNDLER_ALLOW_RVM=true`
2
-
3
- Install deps `bundle install`
4
-
5
- Then run `bundle exec chef-acceptance test`
6
-
@@ -1,8 +0,0 @@
1
- nodes/
2
- tmp/
3
-
4
- # Terraform
5
- *.tfstate
6
- *.tfstate.backup
7
- *_override.tf
8
-
@@ -1,2 +0,0 @@
1
- name 'acceptance-cookbook'
2
-
@@ -1,3 +0,0 @@
1
- execute "terraform destroy -force" do
2
- cwd "#{node['chef-acceptance']['suite-dir']}/terraform"
3
- end
@@ -1,24 +0,0 @@
1
- # Generate install script then write to disk for terraform to copy to the instance for execution
2
- execute "bundle exec ruby -e \"require 'mixlib/install'; puts Mixlib::Install.new(product_name: 'chef', product_version: :latest, channel: :stable, install_command_options: {download_url_override: 'https://packages.chef.io/files/stable/chef/13.3.42/el/7/chef-13.3.42-1.el7.x86_64.rpm', cmdline_dl_dir: '/tmp/checksum'}).install_command\" > ../.acceptance_data/centos_install_url.sh" do
3
- cwd node['chef-acceptance']['suite-dir']
4
- end
5
-
6
- execute "bundle exec ruby -e \"require 'mixlib/install'; puts Mixlib::Install.new(product_name: 'chef', product_version: :latest, channel: :stable, install_command_options: {download_url_override: 'https://packages.chef.io/files/stable/chef/13.3.42/el/7/chef-13.3.42-1.el7.x86_64.rpm', checksum: 'fe051b504856a74ccce1fd23ff92c296506cb8292a3933c71069ae915e7a4a00', cmdline_dl_dir: '/tmp/checksum'}).install_command\" > ../.acceptance_data/centos_install_checksum.sh" do
7
- cwd node['chef-acceptance']['suite-dir']
8
- end
9
-
10
- execute "bundle exec ruby -e \"require 'mixlib/install'; puts Mixlib::Install.new(product_name: 'chef', product_version: :latest, channel: :stable, install_command_options: {cmdline_dl_dir: '/tmp/metadata'}).install_command\" > ../.acceptance_data/centos_install_metadata.sh" do
11
- cwd node['chef-acceptance']['suite-dir']
12
- end
13
-
14
- execute "bundle exec ruby -e \"require 'mixlib/install'; puts Mixlib::Install.new(product_name: 'chef', product_version: :latest, channel: :stable, install_command_options: {download_url_override: 'https://packages.chef.io/files/stable/chef/13.3.42/el/7/chef-13.3.42-1.el7.x86_64.rpm', checksum: 'FOOOOOOOOOOOOOO', cmdline_dl_dir: '/tmp/bad'}).install_command\" > ../.acceptance_data/centos_install_bad.sh" do
15
- cwd node['chef-acceptance']['suite-dir']
16
- end
17
-
18
- execute "terraform plan" do
19
- cwd "#{node['chef-acceptance']['suite-dir']}/terraform"
20
- end
21
-
22
- execute "terraform apply" do
23
- cwd "#{node['chef-acceptance']['suite-dir']}/terraform"
24
- end
@@ -1,11 +0,0 @@
1
- ruby_block "get ip" do
2
- block do
3
- tf_state = JSON.parse(File.read("#{node['chef-acceptance']['suite-dir']}/terraform/terraform.tfstate"))
4
- node.default["ip"] = tf_state["modules"].first["resources"]["aws_instance.mixlib_install_sh"]["primary"]["attributes"]["public_ip"]
5
- end
6
- end
7
-
8
- execute "run inspec" do
9
- command lazy { "inspec exec verify.rb -t ssh://centos@#{node['ip']} -i ~/.ssh/es-infrastructure.pem" }
10
- cwd "#{node['chef-acceptance']['suite-dir']}/inspec"
11
- end
@@ -1,78 +0,0 @@
1
- # Uncomment when re-running for local development
2
- describe command("sudo rm -rf /tmp/metadata /tmp/checksum /tmp/bad; sudo yum remove chef -y") do
3
- its("exit_status") { should eq 0 }
4
- end
5
-
6
- #
7
- # DOWNLOAD URL TESTS
8
- #
9
- # No checksum provided
10
- describe command("sudo /tmp/install.sh") do
11
- its("stdout") { should match /Download URL override specified/ }
12
- its("stdout") { should match /tmp\/checksum\/chef.* not found/ }
13
- its("stdout") { should match /Thank you/ }
14
- end
15
-
16
- # Running same script again
17
- describe command("sudo /tmp/install.sh") do
18
- its("stdout") { should match /Download URL override specified/ }
19
- its("stdout") { should match /Verifying local file/ }
20
- its("stdout") { should match /Checksum not specified/ }
21
- its("stdout") { should match /Thank you/ }
22
- end
23
-
24
- # Now with a valid checksum
25
- describe command("sudo /tmp/install_checksum.sh") do
26
- its("stdout") { should match /Download URL override specified/ }
27
- its("stdout") { should match /Verifying local file/ }
28
- its("stdout") { should match /Checksum match/ }
29
- its("stdout") { should match /Thank you/ }
30
- end
31
-
32
- # Corrupt the file we just downloaded
33
- describe command("sudo chown centos /tmp/checksum; sudo chown centos /tmp/checksum/*; for i in /tmp/checksum/*; do echo 'oops'>>$i; done;") do
34
- its("exit_status") { should eq 0 }
35
- end
36
-
37
- # Run with checksum and it should download and re-verify the checksum
38
- describe command("sudo /tmp/install_checksum.sh") do
39
- its("stdout") { should match /Download URL override specified/ }
40
- its("stdout") { should match /Verifying local file/ }
41
- its("stdout") { should match /Checksum mismatch/ }
42
- its("stdout") { should match /Thank you/ }
43
- end
44
-
45
- # clean up
46
- describe command("sudo yum remove chef -y") do
47
- its("stdout") { should match /Complete!/ }
48
- end
49
-
50
- #
51
- # METADATA URL TESTS
52
- #
53
- # Default behavior when specifying a download location (otherwise caching is unavailable)
54
- describe command("sudo /tmp/install_metadata.sh") do
55
- its("stdout") { should_not match /tmp\/metadata\/chef.* exists/ }
56
- its("stdout") { should match /Thank you/ }
57
- end
58
-
59
- # Running same script again
60
- describe command("sudo /tmp/install_metadata.sh") do
61
- its("stdout") { should match /tmp\/metadata\/chef.* exists/ }
62
- its("stdout") { should match /Thank you/ }
63
- end
64
-
65
- # clean up
66
- describe command("sudo yum remove chef -y") do
67
- its("stdout") { should match /Complete!/ }
68
- end
69
-
70
- #
71
- # DOWNLOAD URL BAD CHECKSUM TESTS
72
- #
73
- describe command("sudo /tmp/install_bad.sh") do
74
- its("stdout") { should match /Download URL override specified/ }
75
- its("stdout") { should match /tmp\/bad\/chef.* not found/ }
76
- its("stdout") { should match /Package checksum mismatch/ }
77
- its("exit_status") { should eq 1 }
78
- end
@@ -1,95 +0,0 @@
1
- data "aws_ami" "centos_7_ami" {
2
- most_recent = true
3
-
4
- filter {
5
- name = "owner-id"
6
- values = ["679593333241"]
7
- }
8
-
9
- filter {
10
- name = "name"
11
- values = ["CentOS Linux 7*"]
12
- }
13
-
14
- filter {
15
- name = "architecture"
16
- values = ["x86_64"]
17
- }
18
-
19
- filter {
20
- name = "virtualization-type"
21
- values = ["hvm"]
22
- }
23
-
24
- filter {
25
- name = "block-device-mapping.volume-type"
26
- values = ["standard"]
27
- }
28
-
29
- filter {
30
- name = "image-type"
31
- values = ["machine"]
32
- }
33
- }
34
-
35
- resource "aws_instance" "mixlib_install_sh" {
36
- count = 1
37
-
38
- ami = "${data.aws_ami.centos_7_ami.id}"
39
- instance_type = "${var.aws_instance_type}"
40
- key_name = "es-infrastructure"
41
-
42
- associate_public_ip_address = true
43
-
44
- subnet_id = "subnet-11ac0174" # Planet Releng Public Subnet
45
- source_dest_check = false
46
-
47
- vpc_security_group_ids = [
48
- "sg-96274af3",
49
- ]
50
-
51
- connection {
52
- user = "centos"
53
- private_key = "${file("${var.connection_private_key}")}"
54
- agent = "${var.connection_agent}"
55
- timeout = "10m"
56
- }
57
-
58
- tags {
59
- # ChefOps's AWS standard tags:
60
- X-Dept = "EngServ"
61
- X-Contact = "pwright"
62
- X-Production = "false"
63
- X-Environment = "acceptance"
64
- X-Application = "mixlib-install"
65
- }
66
-
67
- provisioner "file" {
68
- source = "../../.acceptance_data/centos_install_url.sh"
69
- destination = "/tmp/install.sh"
70
- }
71
-
72
- provisioner "file" {
73
- source = "../../.acceptance_data/centos_install_checksum.sh"
74
- destination = "/tmp/install_checksum.sh"
75
- }
76
-
77
- provisioner "file" {
78
- source = "../../.acceptance_data/centos_install_metadata.sh"
79
- destination = "/tmp/install_metadata.sh"
80
- }
81
-
82
- provisioner "file" {
83
- source = "../../.acceptance_data/centos_install_bad.sh"
84
- destination = "/tmp/install_bad.sh"
85
- }
86
-
87
- provisioner "remote-exec" {
88
- inline = [
89
- "chmod +x /tmp/install.sh",
90
- "chmod +x /tmp/install_checksum.sh",
91
- "chmod +x /tmp/install_metadata.sh",
92
- "chmod +x /tmp/install_bad.sh",
93
- ]
94
- }
95
- }
@@ -1,8 +0,0 @@
1
- # Restrict operation of terraform to chef-es profile so that
2
- # we do not create resources in other aws profiles.
3
- # We assume user has configured standard aws credentials
4
- # under ~/.aws/credentials or with $AWS_SHARED_CREDENTIALS_FILE
5
- provider "aws" {
6
- region = "${var.aws_region}"
7
- profile = "chef-aws"
8
- }
@@ -1,27 +0,0 @@
1
- # Region to create infrastructure in
2
- variable "aws_region" {
3
- type = "string"
4
- default = "us-west-2"
5
- }
6
-
7
- variable "aws_instance_type" {
8
- type = "string"
9
- default = "t2.micro"
10
- }
11
-
12
- # Used to indicidate whether the environment should be treated as "prod"
13
- # This is mainly used for the `X-Production` AWS tag.
14
- variable "production" {
15
- default = "false"
16
- }
17
-
18
- # SSH Connection info used for remote provisioning instances
19
- variable "connection_agent" {
20
- description = "Set to false to disable using ssh-agent to authenticate"
21
- default = false
22
- }
23
-
24
- variable "connection_private_key" {
25
- description = "File path to AWS keypair private key to provision with"
26
- default = "~/.ssh/es-infrastructure.pem"
27
- }
@@ -1,8 +0,0 @@
1
- nodes/
2
- tmp/
3
-
4
- # Terraform
5
- *.tfstate
6
- *.tfstate.backup
7
- *_override.tf
8
-
@@ -1,2 +0,0 @@
1
- name 'acceptance-cookbook'
2
-
@@ -1,3 +0,0 @@
1
- execute "terraform destroy -force" do
2
- cwd "#{node['chef-acceptance']['suite-dir']}/terraform"
3
- end
@@ -1,12 +0,0 @@
1
- # Generate install script then write to disk for terraform to copy to the instance for execution
2
- execute "bundle exec ruby -e \"require 'mixlib/install'; puts Mixlib::Install.new(product_name: 'omnibus-toolchain', product_version: :latest, channel: :stable).install_command\" > ../.acceptance_data/ubuntu_install_command.sh" do
3
- cwd node['chef-acceptance']['suite-dir']
4
- end
5
-
6
- execute "terraform plan" do
7
- cwd "#{node['chef-acceptance']['suite-dir']}/terraform"
8
- end
9
-
10
- execute "terraform apply" do
11
- cwd "#{node['chef-acceptance']['suite-dir']}/terraform"
12
- end
@@ -1,11 +0,0 @@
1
- ruby_block "get ip" do
2
- block do
3
- tf_state = JSON.parse(File.read("#{node['chef-acceptance']['suite-dir']}/terraform/terraform.tfstate"))
4
- node.default["ip"] = tf_state["modules"].first["resources"]["aws_instance.mixlib_install_sh"]["primary"]["attributes"]["public_ip"]
5
- end
6
- end
7
-
8
- execute "run inspec" do
9
- command lazy { "inspec exec verify.rb -t ssh://ubuntu@#{node['ip']} -i ~/.ssh/es-infrastructure.pem" }
10
- cwd "#{node['chef-acceptance']['suite-dir']}/inspec"
11
- end
@@ -1,3 +0,0 @@
1
- describe package("omnibus-toolchain") do
2
- it { should be_installed }
3
- end
@@ -1,78 +0,0 @@
1
- data "aws_ami" "ubuntu_14_ami" {
2
- most_recent = true
3
-
4
- filter {
5
- name = "owner-id"
6
- values = ["099720109477"]
7
- }
8
-
9
- filter {
10
- name = "name"
11
- values = ["ubuntu/images/*/ubuntu-*-14.04-*-server-*"]
12
- }
13
-
14
- filter {
15
- name = "architecture"
16
- values = ["x86_64"]
17
- }
18
-
19
- filter {
20
- name = "virtualization-type"
21
- values = ["hvm"]
22
- }
23
-
24
- filter {
25
- name = "block-device-mapping.volume-type"
26
- values = ["gp2"]
27
- }
28
-
29
- filter {
30
- name = "image-type"
31
- values = ["machine"]
32
- }
33
- }
34
-
35
- resource "aws_instance" "mixlib_install_sh" {
36
- count = 1
37
-
38
- ami = "${data.aws_ami.ubuntu_14_ami.id}"
39
- instance_type = "${var.aws_instance_type}"
40
- key_name = "es-infrastructure"
41
-
42
- associate_public_ip_address = true
43
-
44
- subnet_id = "subnet-11ac0174" # Planet Releng Public Subnet
45
- source_dest_check = false
46
-
47
- vpc_security_group_ids = [
48
- "sg-96274af3",
49
- ]
50
-
51
- connection {
52
- user = "ubuntu"
53
- private_key = "${file("${var.connection_private_key}")}"
54
- agent = "${var.connection_agent}"
55
- timeout = "10m"
56
- }
57
-
58
- tags {
59
- # ChefOps's AWS standard tags:
60
- X-Dept = "EngServ"
61
- X-Contact = "pwright"
62
- X-Production = "false"
63
- X-Environment = "acceptance"
64
- X-Application = "mixlib-install"
65
- }
66
-
67
- provisioner "file" {
68
- source = "../../.acceptance_data/ubuntu_install_command.sh"
69
- destination = "/tmp/install.sh"
70
- }
71
-
72
- provisioner "remote-exec" {
73
- inline = [
74
- "chmod +x /tmp/install.sh",
75
- "sudo bash /tmp/install.sh",
76
- ]
77
- }
78
- }