wombat-cli 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/DESIGN.md +2 -1
  4. data/README.md +10 -32
  5. data/Rakefile +1 -52
  6. data/cookbooks/automate/.kitchen.ec2.yml +8 -1
  7. data/cookbooks/automate/.kitchen.yml +0 -1
  8. data/cookbooks/automate/metadata.rb +0 -2
  9. data/cookbooks/automate/recipes/default.rb +4 -3
  10. data/cookbooks/automate/test/integration/default/automate_spec.rb +3 -2
  11. data/cookbooks/build_node/.kitchen.ec2.yml +8 -1
  12. data/cookbooks/build_node/metadata.rb +0 -3
  13. data/cookbooks/build_node/recipes/default.rb +5 -2
  14. data/cookbooks/build_node/test/integration/default/build-node_spec.rb +3 -2
  15. data/cookbooks/chef_server/.kitchen.ec2.yml +8 -0
  16. data/cookbooks/chef_server/.kitchen.yml +0 -1
  17. data/cookbooks/chef_server/metadata.rb +0 -2
  18. data/cookbooks/chef_server/recipes/{cheffish.rb → bootstrap_users.rb} +1 -1
  19. data/cookbooks/chef_server/recipes/default.rb +30 -14
  20. data/cookbooks/chef_server/test/integration/default/chef_server_spec.rb +7 -4
  21. data/cookbooks/compliance/.kitchen.ec2.yml +8 -0
  22. data/cookbooks/compliance/metadata.rb +0 -1
  23. data/cookbooks/compliance/recipes/default.rb +5 -7
  24. data/cookbooks/compliance/test/integration/default/compliance.rb +3 -2
  25. data/cookbooks/infranodes/.kitchen.ec2.yml +23 -2
  26. data/cookbooks/infranodes/recipes/default.rb +25 -9
  27. data/cookbooks/infranodes/test/fixtures/cookbooks/mock_data/recipes/default.rb +9 -3
  28. data/cookbooks/infranodes/test/integration/default/infranodes_spec.rb +11 -9
  29. data/cookbooks/wombat/attributes/default.rb +2 -0
  30. data/cookbooks/wombat/metadata.rb +2 -0
  31. data/cookbooks/wombat/recipes/authorized-keys.rb +10 -0
  32. data/cookbooks/workstation/recipes/certs-keys.rb +2 -1
  33. data/cookbooks/workstation/templates/default/ssh_config.erb +2 -2
  34. data/lib/wombat/build.rb +138 -120
  35. data/lib/wombat/cli.rb +8 -0
  36. data/lib/wombat/common.rb +27 -12
  37. data/lib/wombat/deploy.rb +33 -26
  38. data/lib/wombat/version.rb +1 -1
  39. data/packer/automate.json +7 -5
  40. data/packer/build-node.json +6 -4
  41. data/packer/chef-server.json +11 -6
  42. data/packer/compliance.json +6 -5
  43. data/packer/infranodes-windows.json +100 -0
  44. data/packer/infranodes.json +6 -5
  45. data/packer/workstation.json +5 -4
  46. data/stacks/.gitkeep +0 -0
  47. data/templates/bootstrap-aws.erb +2 -2
  48. data/templates/cfn.json.erb +16 -15
  49. data/wombat.example.yml +45 -35
  50. metadata +5 -15
  51. data/packer/mock-data/.gitignore +0 -16
  52. data/packer/mock-data/.kitchen.yml +0 -21
  53. data/packer/mock-data/Berksfile +0 -3
  54. data/packer/mock-data/README.md +0 -4
  55. data/packer/mock-data/chefignore +0 -102
  56. data/packer/mock-data/metadata.rb +0 -7
  57. data/packer/mock-data/recipes/default.rb +0 -69
  58. data/packer/mock-data/spec/spec_helper.rb +0 -2
  59. data/packer/mock-data/spec/unit/recipes/default_spec.rb +0 -20
  60. data/packer/mock-data/test/integration/default/serverspec/default_spec.rb +0 -9
  61. data/packer/mock-data/test/integration/helpers/serverspec/spec_helper.rb +0 -8
@@ -24,6 +24,7 @@
24
24
  "enterprise": "mammals",
25
25
  "node-number": "1",
26
26
  "org": "marsupials",
27
+ "ssh_username": "ubuntu",
27
28
  "workstations": "1"
28
29
  },
29
30
 
@@ -33,11 +34,11 @@
33
34
  "secret_key": "{{user `aws_secret_key`}}",
34
35
  "region": "{{user `aws_region`}}",
35
36
  "source_ami": "{{user `aws_source_ami`}}",
36
- "instance_type": "c3.xlarge",
37
+ "instance_type": "t2.micro",
37
38
  "communicator": "ssh",
38
39
  "associate_public_ip_address": true,
39
40
  "ssh_private_ip": false,
40
- "ssh_username": "ubuntu",
41
+ "ssh_username": "{{user `ssh_username`}}",
41
42
  "ssh_pty" : true,
42
43
  "ami_name": "build-node-{{user `node-number`}}-{{timestamp}}"
43
44
  },
@@ -68,7 +69,7 @@
68
69
  "disk_size": "80",
69
70
  "image_name": "build-node-{{user `node-number`}}-{{timestamp}}",
70
71
  "machine_type": "n1-standard-2",
71
- "ssh_username": "ubuntu",
72
+ "ssh_username": "{{user `ssh_username`}}",
72
73
  "ssh_pty" : true
73
74
  }
74
75
  ],
@@ -88,9 +89,10 @@
88
89
  "type": "chef-solo",
89
90
  "install_command": "{{user `chef_install_url`}} | sudo bash -s -- -c {{user `chef_channel`}} -v {{user `chef_ver`}}",
90
91
  "cookbook_paths": [ "{{pwd}}/vendored-cookbooks/build_node" ],
91
- "run_list": [ "apt", "build_node" ],
92
+ "run_list": [ "build_node", "wombat::authorized-keys", "wombat::etc-hosts" ],
92
93
  "json": {
93
94
  "demo": {
95
+ "admin-user": "{{user `ssh_username`}}",
94
96
  "domain_prefix": "{{user `domain_prefix`}}",
95
97
  "domain": "{{user `domain`}}",
96
98
  "enterprise": "{{user `enterprise`}}",
@@ -22,7 +22,10 @@
22
22
  "domain": "animals.biz",
23
23
  "domain_prefix": "",
24
24
  "enterprise": "mammals",
25
+ "manage": "stable-latest",
25
26
  "org": "marsupials",
27
+ "push-jobs-server": "stable-latest",
28
+ "ssh_username": "ubuntu",
26
29
  "workstations": "1"
27
30
  },
28
31
 
@@ -32,11 +35,10 @@
32
35
  "secret_key": "{{user `aws_secret_key`}}",
33
36
  "region": "{{user `aws_region`}}",
34
37
  "source_ami": "{{user `aws_source_ami`}}",
35
- "instance_type": "c3.xlarge",
38
+ "instance_type": "m4.large",
36
39
  "communicator": "ssh",
37
40
  "associate_public_ip_address": true,
38
- "ssh_private_ip": false,
39
- "ssh_username": "ubuntu",
41
+ "ssh_username": "{{user `ssh_username`}}",
40
42
  "ssh_pty" : true,
41
43
  "ami_name": "chef-{{timestamp}}"
42
44
  },
@@ -67,7 +69,7 @@
67
69
  "disk_size": "80",
68
70
  "image_name": "chef-{{timestamp}}",
69
71
  "machine_type": "n1-standard-2",
70
- "ssh_username": "ubuntu",
72
+ "ssh_username": "{{user `ssh_username`}}",
71
73
  "ssh_pty" : true
72
74
  }
73
75
  ],
@@ -87,9 +89,10 @@
87
89
  "type": "chef-solo",
88
90
  "install_command": "{{user `chef_install_url`}} | sudo bash -s -- -c {{user `chef_channel`}} -v {{user `chef_ver`}}",
89
91
  "cookbook_paths": [ "{{pwd}}/vendored-cookbooks/chef_server" ],
90
- "run_list": [ "apt", "chef_server" ],
92
+ "run_list": [ "chef_server", "wombat::authorized-keys", "wombat::etc-hosts" ],
91
93
  "json": {
92
94
  "demo": {
95
+ "admin-user": "{{user `ssh_username`}}",
93
96
  "domain_prefix": "{{user `domain_prefix`}}",
94
97
  "domain": "{{user `domain`}}",
95
98
  "enterprise": "{{user `enterprise`}}",
@@ -97,7 +100,9 @@
97
100
  "build-nodes": "{{user `build-nodes`}}",
98
101
  "workstations": "{{user `workstations`}}",
99
102
  "versions": {
100
- "chef-server": "{{user `chef-server`}}"
103
+ "chef-server": "{{user `chef-server`}}",
104
+ "push-jobs-server": "{{user `push-jobs-server`}}",
105
+ "manage": "{{user `manage`}}"
101
106
  }
102
107
  }
103
108
  }
@@ -23,6 +23,7 @@
23
23
  "domain_prefix": "",
24
24
  "enterprise": "mammals",
25
25
  "org": "marsupials",
26
+ "ssh_username": "ubuntu",
26
27
  "workstations": "1"
27
28
  },
28
29
 
@@ -32,11 +33,10 @@
32
33
  "secret_key": "{{user `aws_secret_key`}}",
33
34
  "region": "{{user `aws_region`}}",
34
35
  "source_ami": "{{user `aws_source_ami`}}",
35
- "instance_type": "c3.xlarge",
36
+ "instance_type": "t2.medium",
36
37
  "communicator": "ssh",
37
38
  "associate_public_ip_address": true,
38
- "ssh_private_ip": false,
39
- "ssh_username": "ubuntu",
39
+ "ssh_username": "{{user `ssh_username`}}",
40
40
  "ssh_pty" : true,
41
41
  "ami_name": "compliance-{{timestamp}}"
42
42
  },
@@ -67,7 +67,7 @@
67
67
  "disk_size": "80",
68
68
  "image_name": "compliance-{{timestamp}}",
69
69
  "machine_type": "n1-standard-2",
70
- "ssh_username": "ubuntu",
70
+ "ssh_username": "{{user `ssh_username`}}",
71
71
  "ssh_pty" : true
72
72
  }
73
73
  ],
@@ -87,9 +87,10 @@
87
87
  "type": "chef-solo",
88
88
  "install_command": "{{user `chef_install_url`}} | sudo bash -s -- -c {{user `chef_channel`}} -v {{user `chef_ver`}}",
89
89
  "cookbook_paths": [ "{{pwd}}/vendored-cookbooks/compliance" ],
90
- "run_list": [ "apt", "compliance" ],
90
+ "run_list": [ "compliance", "wombat::authorized-keys", "wombat::etc-hosts" ],
91
91
  "json": {
92
92
  "demo": {
93
+ "admin-user": "{{user `ssh_username`}}",
93
94
  "domain_prefix": "{{user `domain_prefix`}}",
94
95
  "domain": "{{user `domain`}}",
95
96
  "enterprise": "{{user `enterprise`}}",
@@ -0,0 +1,100 @@
1
+ {
2
+ "variables": {
3
+ "aws_access_key": "{{env `AWS_ACCESS_KEY_ID`}}",
4
+ "aws_secret_key": "{{env `AWS_SECRET_ACCESS_KEY`}}",
5
+ "aws_region": "{{env `AWS_REGION`}}",
6
+ "aws_source_ami": "ami-87c037e7",
7
+ "azure_client_id": "{{env `AZURE_CLIENT_ID`}}",
8
+ "azure_tenant_id": "{{env `AZURE_TENANT_ID`}}",
9
+ "azure_client_secret": "{{env `AZURE_CLIENT_SECRET`}}",
10
+ "azure_subscription_id": "{{env `AZURE_SUBSCRIPTION_ID`}}",
11
+ "azure_storage_account": "{{env `AZURE_STORAGE_ACCOUNT`}}",
12
+ "azure_resource_group": "{{env `AZURE_RESOURCE_GROUP`}}",
13
+ "gce_account_file": "{{env `GCE_ACCOUNT_FILE`}}",
14
+ "gce_project_id": "{{env `GCE_PROJECT_ID`}}",
15
+ "gce_zone": "{{env `GCE_ZONE`}}",
16
+ "gce_source_image": "windows-server-2012-r2-dc-v20160809",
17
+ "build-nodes": "1",
18
+ "chef_channel": "stable",
19
+ "chef_install_url": "curl -L https://omnitruck.chef.io/install.sh",
20
+ "chef_ver": "latest",
21
+ "domain": "animals.biz",
22
+ "domain_prefix": "",
23
+ "enterprise": "mammals",
24
+ "node-name": "acceptance",
25
+ "org": "marsupials",
26
+ "ssh_username": "ubuntu",
27
+ "winrm_password": "RL9@T40BTmXh",
28
+ "winrm_username": "Administrator",
29
+ "workstations": "1"
30
+ },
31
+
32
+ "builders": [
33
+ { "type": "amazon-ebs",
34
+ "access_key": "{{user `aws_access_key`}}",
35
+ "secret_key": "{{user `aws_secret_key`}}",
36
+ "region": "{{user `aws_region`}}",
37
+ "source_ami": "{{user `aws_source_ami`}}",
38
+ "instance_type": "m4.large",
39
+ "communicator": "winrm",
40
+ "associate_public_ip_address": true,
41
+ "winrm_port": 5985,
42
+ "winrm_username": "{{user `winrm_username`}}",
43
+ "winrm_password": "{{user `winrm_password`}}",
44
+ "user_data_file": "{{template_dir}}/scripts/bootstrap-aws.txt",
45
+ "ami_name": "automate-infranode-{{user `node-name`}}-{{timestamp}}"
46
+ },
47
+ {
48
+ "type": "googlecompute",
49
+ "account_file": "{{user `gce_account_file`}}",
50
+ "project_id": "{{user `gce_project_id`}}",
51
+ "source_image": "{{user `gce_source_image`}}",
52
+ "zone": "{{user `gce_zone`}}",
53
+ "disk_type": "pd-ssd",
54
+ "disk_size": "80",
55
+ "machine_type": "n1-highcpu-8",
56
+ "image_name": "automate-infranode-{{user `node-name`}}-{{timestamp}}",
57
+ "communicator": "winrm",
58
+ "winrm_port": 5985,
59
+ "winrm_username": "{{user `winrm_username`}}",
60
+ "winrm_password": "{{user `winrm_password`}}",
61
+ "metadata": {
62
+ "windows-startup-script-url": "gs://wombat-bootstrap/win-bootstrap.ps1"
63
+ }
64
+ }
65
+ ],
66
+
67
+ "provisioners" : [
68
+ {
69
+ "type": "file",
70
+ "source": "{{pwd}}/keys/",
71
+ "destination": "C:\\Windows\\Temp"
72
+ },
73
+ {
74
+ "type": "file",
75
+ "source": "{{template_dir}}/files/",
76
+ "destination": "C:\\Windows\\Temp"
77
+ },
78
+ {
79
+ "type": "chef-solo",
80
+ "install_command": "powershell.exe -Command \". { iwr -useb https://omnitruck.chef.io/install.ps1 } | iex; install -channel {{user `chef_channel`}} -version {{user `chef_ver`}}\"",
81
+ "guest_os_type": "windows",
82
+ "cookbook_paths": [ "{{pwd}}/vendored-cookbooks/infranodes" ],
83
+ "run_list": [ "infranodes", "wombat::etc-hosts" ],
84
+ "json": {
85
+ "demo": {
86
+ "admin-user": "{{user `ssh_username`}}",
87
+ "build-nodes": "{{user `build-nodes`}}",
88
+ "domain_prefix": "{{user `domain_prefix`}}",
89
+ "domain": "{{user `domain`}}",
90
+ "enterprise": "{{user `enterprise`}}",
91
+ "node-name": "{{user `node-name`}}",
92
+ "org": "{{user `org`}}",
93
+ "versions": {
94
+ "chef": "{{user `chef_channel`}}-{{user `chef_ver`}}"
95
+ }
96
+ }
97
+ }
98
+ }
99
+ ]
100
+ }
@@ -23,6 +23,7 @@
23
23
  "enterprise": "mammals",
24
24
  "node-name": "acceptance",
25
25
  "org": "marsupials",
26
+ "ssh_username": "ubuntu",
26
27
  "workstations": "1"
27
28
  },
28
29
 
@@ -32,11 +33,10 @@
32
33
  "secret_key": "{{user `aws_secret_key`}}",
33
34
  "region": "{{user `aws_region`}}",
34
35
  "source_ami": "{{user `aws_source_ami`}}",
35
- "instance_type": "c3.xlarge",
36
+ "instance_type": "t2.medium",
36
37
  "communicator": "ssh",
37
38
  "associate_public_ip_address": true,
38
- "ssh_private_ip": false,
39
- "ssh_username": "ubuntu",
39
+ "ssh_username": "{{user `ssh_username`}}",
40
40
  "ssh_pty" : true,
41
41
  "ami_name": "automate-infranode-{{user `node-name`}}-{{timestamp}}"
42
42
  },
@@ -68,7 +68,7 @@
68
68
  "image_name": "automate-infranode-{{user `node-name`}}-{{timestamp}}",
69
69
  "machine_type": "n1-standard-2",
70
70
  "image_name": "chef-{{timestamp}}",
71
- "ssh_username": "ubuntu",
71
+ "ssh_username": "{{user `ssh_username`}}",
72
72
  "ssh_pty" : true
73
73
  }
74
74
  ],
@@ -88,9 +88,10 @@
88
88
  "type": "chef-solo",
89
89
  "install_command": "{{user `chef_install_url`}} | sudo bash -s -- -c {{user `chef_channel`}} -v {{user `chef_ver`}}",
90
90
  "cookbook_paths": [ "{{pwd}}/vendored-cookbooks/infranodes" ],
91
- "run_list": [ "infranodes" ],
91
+ "run_list": [ "infranodes", "wombat::authorized-keys", "wombat::etc-hosts" ],
92
92
  "json": {
93
93
  "demo": {
94
+ "admin-user": "{{user `ssh_username`}}",
94
95
  "domain_prefix": "{{user `domain_prefix`}}",
95
96
  "domain": "{{user `domain`}}",
96
97
  "enterprise": "{{user `enterprise`}}",
@@ -20,6 +20,7 @@
20
20
  "domain": "animals.biz",
21
21
  "enterprise": "mammals",
22
22
  "org": "marsupials",
23
+ "ssh_username": "ubuntu",
23
24
  "winrm_password": "RL9@T40BTmXh",
24
25
  "winrm_username": "Administrator",
25
26
  "workstation-number": "1",
@@ -32,10 +33,9 @@
32
33
  "secret_key": "{{user `aws_secret_key`}}",
33
34
  "region": "{{user `aws_region`}}",
34
35
  "source_ami": "{{user `aws_source_ami`}}",
35
- "instance_type": "m3.large",
36
+ "instance_type": "m4.large",
36
37
  "communicator": "winrm",
37
38
  "associate_public_ip_address": true,
38
- "ssh_private_ip": false,
39
39
  "winrm_port": 5985,
40
40
  "winrm_username": "{{user `winrm_username`}}",
41
41
  "winrm_password": "{{user `winrm_password`}}",
@@ -57,7 +57,7 @@
57
57
  "winrm_username": "{{user `winrm_username`}}",
58
58
  "winrm_password": "{{user `winrm_password`}}",
59
59
  "metadata": {
60
- "windows-startup-script-ps1": "gs://wombat-bootstrap/win-bootstrap.ps1"
60
+ "windows-startup-script-url": "gs://wombat-bootstrap/win-bootstrap.ps1"
61
61
  }
62
62
  }
63
63
  ],
@@ -78,9 +78,10 @@
78
78
  "install_command": "powershell.exe -Command \". { iwr -useb https://omnitruck.chef.io/install.ps1 } | iex; install -channel {{user `chef_channel`}} -version {{user `chef_ver`}}\"",
79
79
  "guest_os_type": "windows",
80
80
  "cookbook_paths": [ "{{pwd}}/vendored-cookbooks/workstation" ],
81
- "run_list": [ "workstation" ],
81
+ "run_list": [ "workstation", "wombat::etc-hosts" ],
82
82
  "json": {
83
83
  "demo": {
84
+ "admin-user": "{{user `ssh_username`}}",
84
85
  "domain_prefix": "{{user `domain_prefix`}}",
85
86
  "domain": "{{user `domain`}}",
86
87
  "enterprise": "{{user `enterprise`}}",
data/stacks/.gitkeep ADDED
File without changes
@@ -17,7 +17,7 @@ write-host "(host) setting up WinRM"
17
17
  cmd.exe /c winrm quickconfig -q
18
18
  cmd.exe /c winrm quickconfig '-transport:http'
19
19
  cmd.exe /c winrm set "winrm/config" '@{MaxTimeoutms="1800000"}'
20
- cmd.exe /c winrm set "winrm/config/winrs" '@{MaxMemoryPerShellMB="512"}'
20
+ cmd.exe /c winrm set "winrm/config/winrs" '@{MaxMemoryPerShellMB="3072"}'
21
21
  cmd.exe /c winrm set "winrm/config/service" '@{AllowUnencrypted="true"}'
22
22
  cmd.exe /c winrm set "winrm/config/client" '@{AllowUnencrypted="true"}'
23
23
  cmd.exe /c winrm set "winrm/config/service/auth" '@{Basic="true"}'
@@ -31,6 +31,6 @@ cmd.exe /c sc config winrm start= auto
31
31
  cmd.exe /c net start winrm
32
32
  cmd.exe /c wmic useraccount where "name='Administrator'" set PasswordExpires=FALSE
33
33
 
34
- Set-ExecutionPolicy Unrestricted
34
+ set-executionpolicy -executionpolicy bypass -force
35
35
 
36
36
  </powershell>
@@ -44,11 +44,6 @@
44
44
  "Default": "<%= @chef_server_ami %>",
45
45
  "Description": "AMI ID for the Chef Server"
46
46
  },
47
- "AutomateAMI": {
48
- "Type": "String",
49
- "Default": "<%= @automate_ami %>",
50
- "Description": "AMI ID for the Automate Server"
51
- },
52
47
  "ComplianceAMI": {
53
48
  "Type": "String",
54
49
  "Default": "<%= @compliance_ami %>",
@@ -73,8 +68,13 @@
73
68
  "Type": "String",
74
69
  "Default": "<%= @workstation_ami[i] %>",
75
70
  "Description": "AMI ID for the Windows Workstation"
76
- }
71
+ },
77
72
  <% end -%>
73
+ "AutomateAMI": {
74
+ "Type": "String",
75
+ "Default": "<%= @automate_ami %>",
76
+ "Description": "AMI ID for the Automate Server"
77
+ }
78
78
  },
79
79
  "Resources": {
80
80
  "VPC": {
@@ -645,17 +645,18 @@
645
645
  }
646
646
  }
647
647
  },
648
- "Outputs": {
649
- <% 1.upto(@workstations) do |i| -%>
650
- "WindowsWorkstation<%= i.to_s %>PubDNS": {
651
- "Description": "Public IP address of the Windows Workstation",
652
- "Value": {
653
- "Fn::GetAtt": [
654
- "WindowsWorkstation<%= i.to_s %>",
648
+ "Outputs":
649
+ <% workstations_hash = {} -%>
650
+ <% 1.upto(@workstations) do |i|
651
+ workstations_hash["WindowsWorkstation#{i.to_s}PubDNS"] = {
652
+ "Description" => "Public IP address of the Windows Workstation",
653
+ "Value" => {
654
+ "Fn::GetAtt" => [
655
+ "WindowsWorkstation#{i.to_s}",
655
656
  "PublicIp"
656
657
  ]
657
658
  }
658
659
  }
659
- <% end -%>
660
- }
660
+ end -%>
661
+ <%= workstations_hash.to_json %>
661
662
  }
data/wombat.example.yml CHANGED
@@ -3,48 +3,58 @@ name: wombat
3
3
  # Uncomment domain_prefix if you wish to prepend your generated domain.
4
4
  # Ex: The below example would create foo-chef.animals.biz.
5
5
  # domain_prefix: foo-
6
- certs: ['automate', 'chef', 'compliance']
7
6
  domain: animals.biz
8
7
  enterprise: mammals
9
8
  org: marsupials
10
- build-nodes: '1'
11
- workstations: '1'
12
- workstation-passwd: 'RL9@T40BTmXh'
13
- infranodes:
14
- # Add a list of infrastructure nodes here with their associated run list to have these nodes precreated on the Chef Server
15
- # Note: the cookbook content won't be automatically uploaded, only the node object will be created with the run list added,
16
- # if the content doesn't exist at the first checkin the chef-client run will fail.
17
- # acceptance:
18
- # environment: web-acceptance
19
- # run_list:
20
- # - recipe[bacon::chewy]
21
- # delivered:
22
- # environment: web-delivered
23
- # run_list:
24
- # - recipe[bacon::crispy]
25
- version: 0.1.0
9
+ certs: ['automate', 'chef', 'compliance']
26
10
  ttl: 6
27
- # Uncomment conf and subkeys to override the listed defaults.
28
- # These paths are relative to the directory of this file.
29
- # conf:
30
- # key_dir: 'keys'
31
- # cookbook_dir: 'cookbooks'
32
- # packer_dir: 'packer'
33
- # templates_dir: 'templates'
34
- # log_dir: 'logs'
11
+ linux: ubuntu
12
+ # Must meet the minimum Microsoft Complexity Requirements
13
+ # https://technet.microsoft.com/en-us/library/hh994562(v=ws.11).aspx)
14
+ version: 0.2.1
35
15
  products:
36
- chef: stable-12.13.37
37
- chef-server: stable-12.8.0
38
- chefdk: stable-0.17.17
39
- compliance: stable-1.3.1
40
- automate: stable-0.5.125
16
+ chef: stable-latest
17
+ chef-server: stable-latest
18
+ chefdk: stable-latest
19
+ compliance: stable-latest
20
+ automate: stable-latest
21
+ push-jobs-server: stable-latest
22
+ manage: stable-latest
23
+ build-nodes:
24
+ count: 3
25
+ workstations:
26
+ platform: windows
27
+ password: 'ZL9@T40BTmXhZ'
28
+ count: 1
29
+ infranodes:
30
+ # Add a list of infrastructure nodes here with their associated run list to have these nodes precreated on the Chef Server
31
+ # Note: the cookbook content won't be automatically uploaded, only the node object will be created with the run list added,
32
+ # if the content doesn't exist at the first checkin the chef-client run will fail.
33
+ # acceptance:
34
+ # platform: windows
35
+ # environment: web-acceptance
36
+ # run_list:
37
+ # - recipe[bacon::chewy]
38
+ # delivered:
39
+ # environment: web-delivered
40
+ # run_list:
41
+ # - recipe[bacon::crispy]
42
+ conf:
43
+ key_dir: 'keys'
44
+ cookbook_dir: 'cookbooks'
45
+ packer_dir: 'packer'
46
+ templates_dir: 'templates'
47
+ log_dir: 'logs'
48
+ stack_dir: 'stacks'
49
+ audio: false
41
50
  aws:
42
- region: ap-southeast-2
43
- az: ap-southeast-2c
44
- keypair: keypair-ap-southeast-2
51
+ az: us-east-1e
52
+ keypair: keypair-us-east
53
+ region: us-east-1
45
54
  source_ami:
46
- ubuntu: ami-8c4cb0ec
47
- windows: ami-87c037e7
55
+ ubuntu: ami-8e0b9499
56
+ windows: ami-bd3ba0aa
57
+ centos: ami-6d1c2007
48
58
  gce:
49
59
  zone: us-east1-b
50
60
  source_image:
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wombat-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andre Elizondo
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-09-08 00:00:00.000000000 Z
12
+ date: 2016-10-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -163,7 +163,7 @@ files:
163
163
  - cookbooks/chef_server/README.md
164
164
  - cookbooks/chef_server/chefignore
165
165
  - cookbooks/chef_server/metadata.rb
166
- - cookbooks/chef_server/recipes/cheffish.rb
166
+ - cookbooks/chef_server/recipes/bootstrap_users.rb
167
167
  - cookbooks/chef_server/recipes/default.rb
168
168
  - cookbooks/chef_server/test/fixtures/cookbooks/mock_data/files/automate.crt
169
169
  - cookbooks/chef_server/test/fixtures/cookbooks/mock_data/files/automate.key
@@ -283,19 +283,10 @@ files:
283
283
  - packer/chef-server.json
284
284
  - packer/compliance.json
285
285
  - packer/files/.gitkeep
286
+ - packer/infranodes-windows.json
286
287
  - packer/infranodes.json
287
- - packer/mock-data/.gitignore
288
- - packer/mock-data/.kitchen.yml
289
- - packer/mock-data/Berksfile
290
- - packer/mock-data/README.md
291
- - packer/mock-data/chefignore
292
- - packer/mock-data/metadata.rb
293
- - packer/mock-data/recipes/default.rb
294
- - packer/mock-data/spec/spec_helper.rb
295
- - packer/mock-data/spec/unit/recipes/default_spec.rb
296
- - packer/mock-data/test/integration/default/serverspec/default_spec.rb
297
- - packer/mock-data/test/integration/helpers/serverspec/spec_helper.rb
298
288
  - packer/workstation.json
289
+ - stacks/.gitkeep
299
290
  - templates/bootstrap-aws.erb
300
291
  - templates/cfn.json.erb
301
292
  - terraform/README.md
@@ -328,4 +319,3 @@ signing_key:
328
319
  specification_version: 4
329
320
  summary: Make Chef demos delightful with Wombat
330
321
  test_files: []
331
- has_rdoc:
@@ -1,16 +0,0 @@
1
- .vagrant
2
- Berksfile.lock
3
- *~
4
- *#
5
- .#*
6
- \#*#
7
- .*.sw[a-z]
8
- *.un~
9
-
10
- # Bundler
11
- Gemfile.lock
12
- bin/*
13
- .bundle/*
14
-
15
- .kitchen/
16
- .kitchen.local.yml
@@ -1,21 +0,0 @@
1
- ---
2
- driver:
3
- name: vagrant
4
-
5
- provisioner:
6
- name: chef_zero
7
-
8
- # Uncomment the following verifier to leverage Inspec instead of Busser (the
9
- # default verifier)
10
- # verifier:
11
- # name: inspec
12
-
13
- platforms:
14
- - name: ubuntu-14.04
15
- - name: centos-7.1
16
-
17
- suites:
18
- - name: default
19
- run_list:
20
- - recipe[mock-data::default]
21
- attributes:
@@ -1,3 +0,0 @@
1
- source 'https://supermarket.chef.io'
2
-
3
- metadata
@@ -1,4 +0,0 @@
1
- # mock-data
2
-
3
- TODO: Enter the cookbook description here.
4
-