wombat-cli 0.2.0
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.
- checksums.yaml +7 -0
- data/.gitignore +19 -0
- data/DESIGN.md +40 -0
- data/Gemfile +3 -0
- data/README.md +132 -0
- data/Rakefile +52 -0
- data/Vagrantfile +121 -0
- data/bin/wombat +24 -0
- data/cookbooks/automate/.gitignore +16 -0
- data/cookbooks/automate/.kitchen.ec2.yml +27 -0
- data/cookbooks/automate/.kitchen.yml +25 -0
- data/cookbooks/automate/Berksfile +6 -0
- data/cookbooks/automate/README.md +4 -0
- data/cookbooks/automate/chefignore +102 -0
- data/cookbooks/automate/libraries/_helper.rb +52 -0
- data/cookbooks/automate/libraries/delivery_api.rb +204 -0
- data/cookbooks/automate/libraries/delivery_project.rb +31 -0
- data/cookbooks/automate/libraries/dsl.rb +5 -0
- data/cookbooks/automate/metadata.rb +13 -0
- data/cookbooks/automate/recipes/default.rb +111 -0
- data/cookbooks/automate/recipes/update-users.rb +48 -0
- data/cookbooks/automate/templates/delivery.erb +5 -0
- data/cookbooks/automate/test/fixtures/cookbooks/mock_data/files/automate.crt +26 -0
- data/cookbooks/automate/test/fixtures/cookbooks/mock_data/files/automate.key +27 -0
- data/cookbooks/automate/test/fixtures/cookbooks/mock_data/files/chef.crt +25 -0
- data/cookbooks/automate/test/fixtures/cookbooks/mock_data/files/chef.key +27 -0
- data/cookbooks/automate/test/fixtures/cookbooks/mock_data/files/compliance.crt +26 -0
- data/cookbooks/automate/test/fixtures/cookbooks/mock_data/files/compliance.key +27 -0
- data/cookbooks/automate/test/fixtures/cookbooks/mock_data/files/private.pem +27 -0
- data/cookbooks/automate/test/fixtures/cookbooks/mock_data/files/public.pub +1 -0
- data/cookbooks/automate/test/fixtures/cookbooks/mock_data/metadata.rb +3 -0
- data/cookbooks/automate/test/fixtures/cookbooks/mock_data/recipes/default.rb +27 -0
- data/cookbooks/automate/test/integration/default/automate_spec.rb +55 -0
- data/cookbooks/build_node/.gitignore +16 -0
- data/cookbooks/build_node/.kitchen.ec2.yml +30 -0
- data/cookbooks/build_node/.kitchen.yml +23 -0
- data/cookbooks/build_node/Berksfile +8 -0
- data/cookbooks/build_node/README.md +4 -0
- data/cookbooks/build_node/chefignore +102 -0
- data/cookbooks/build_node/metadata.rb +15 -0
- data/cookbooks/build_node/recipes/default.rb +35 -0
- data/cookbooks/build_node/templates/client.erb +3 -0
- data/cookbooks/build_node/test/fixtures/cookbooks/mock_data/files/automate.crt +26 -0
- data/cookbooks/build_node/test/fixtures/cookbooks/mock_data/files/automate.key +27 -0
- data/cookbooks/build_node/test/fixtures/cookbooks/mock_data/files/chef.crt +25 -0
- data/cookbooks/build_node/test/fixtures/cookbooks/mock_data/files/chef.key +27 -0
- data/cookbooks/build_node/test/fixtures/cookbooks/mock_data/files/compliance.crt +26 -0
- data/cookbooks/build_node/test/fixtures/cookbooks/mock_data/files/compliance.key +27 -0
- data/cookbooks/build_node/test/fixtures/cookbooks/mock_data/files/private.pem +27 -0
- data/cookbooks/build_node/test/fixtures/cookbooks/mock_data/files/public.pub +1 -0
- data/cookbooks/build_node/test/fixtures/cookbooks/mock_data/metadata.rb +2 -0
- data/cookbooks/build_node/test/fixtures/cookbooks/mock_data/recipes/default.rb +18 -0
- data/cookbooks/build_node/test/integration/default/build-node_spec.rb +39 -0
- data/cookbooks/chef_server/.gitignore +16 -0
- data/cookbooks/chef_server/.kitchen.ec2.yml +26 -0
- data/cookbooks/chef_server/.kitchen.yml +25 -0
- data/cookbooks/chef_server/Berksfile +6 -0
- data/cookbooks/chef_server/README.md +4 -0
- data/cookbooks/chef_server/chefignore +102 -0
- data/cookbooks/chef_server/metadata.rb +13 -0
- data/cookbooks/chef_server/recipes/cheffish.rb +91 -0
- data/cookbooks/chef_server/recipes/default.rb +79 -0
- data/cookbooks/chef_server/test/fixtures/cookbooks/mock_data/files/automate.crt +26 -0
- data/cookbooks/chef_server/test/fixtures/cookbooks/mock_data/files/automate.key +27 -0
- data/cookbooks/chef_server/test/fixtures/cookbooks/mock_data/files/chef.crt +25 -0
- data/cookbooks/chef_server/test/fixtures/cookbooks/mock_data/files/chef.key +27 -0
- data/cookbooks/chef_server/test/fixtures/cookbooks/mock_data/files/compliance.crt +26 -0
- data/cookbooks/chef_server/test/fixtures/cookbooks/mock_data/files/compliance.key +27 -0
- data/cookbooks/chef_server/test/fixtures/cookbooks/mock_data/files/private.pem +27 -0
- data/cookbooks/chef_server/test/fixtures/cookbooks/mock_data/files/public.pub +1 -0
- data/cookbooks/chef_server/test/fixtures/cookbooks/mock_data/metadata.rb +2 -0
- data/cookbooks/chef_server/test/fixtures/cookbooks/mock_data/recipes/default.rb +23 -0
- data/cookbooks/chef_server/test/integration/default/chef_server_spec.rb +47 -0
- data/cookbooks/compliance/.gitignore +16 -0
- data/cookbooks/compliance/.kitchen.ec2.yml +26 -0
- data/cookbooks/compliance/.kitchen.yml +24 -0
- data/cookbooks/compliance/Berksfile +7 -0
- data/cookbooks/compliance/README.md +4 -0
- data/cookbooks/compliance/chefignore +102 -0
- data/cookbooks/compliance/metadata.rb +12 -0
- data/cookbooks/compliance/recipes/default.rb +59 -0
- data/cookbooks/compliance/spec/spec_helper.rb +2 -0
- data/cookbooks/compliance/spec/unit/recipes/default_spec.rb +20 -0
- data/cookbooks/compliance/templates/default/chef-compliance.rb.erb +1 -0
- data/cookbooks/compliance/test/fixtures/cookbooks/mock_data/files/automate.crt +26 -0
- data/cookbooks/compliance/test/fixtures/cookbooks/mock_data/files/automate.key +27 -0
- data/cookbooks/compliance/test/fixtures/cookbooks/mock_data/files/chef.crt +25 -0
- data/cookbooks/compliance/test/fixtures/cookbooks/mock_data/files/chef.key +27 -0
- data/cookbooks/compliance/test/fixtures/cookbooks/mock_data/files/compliance.crt +26 -0
- data/cookbooks/compliance/test/fixtures/cookbooks/mock_data/files/compliance.key +27 -0
- data/cookbooks/compliance/test/fixtures/cookbooks/mock_data/files/private.pem +27 -0
- data/cookbooks/compliance/test/fixtures/cookbooks/mock_data/files/public.pub +1 -0
- data/cookbooks/compliance/test/fixtures/cookbooks/mock_data/metadata.rb +4 -0
- data/cookbooks/compliance/test/fixtures/cookbooks/mock_data/recipes/default.rb +21 -0
- data/cookbooks/compliance/test/integration/default/compliance.rb +27 -0
- data/cookbooks/infranodes/.gitignore +16 -0
- data/cookbooks/infranodes/.kitchen.ec2.yml +27 -0
- data/cookbooks/infranodes/.kitchen.yml +21 -0
- data/cookbooks/infranodes/Berksfile +6 -0
- data/cookbooks/infranodes/README.md +4 -0
- data/cookbooks/infranodes/attributes/default.rb +3 -0
- data/cookbooks/infranodes/chefignore +102 -0
- data/cookbooks/infranodes/metadata.rb +13 -0
- data/cookbooks/infranodes/recipes/default.rb +41 -0
- data/cookbooks/infranodes/spec/spec_helper.rb +2 -0
- data/cookbooks/infranodes/spec/unit/recipes/default_spec.rb +20 -0
- data/cookbooks/infranodes/templates/default/client.rb.erb +5 -0
- data/cookbooks/infranodes/test/fixtures/cookbooks/mock_data/files/automate.crt +26 -0
- data/cookbooks/infranodes/test/fixtures/cookbooks/mock_data/files/automate.key +27 -0
- data/cookbooks/infranodes/test/fixtures/cookbooks/mock_data/files/chef.crt +25 -0
- data/cookbooks/infranodes/test/fixtures/cookbooks/mock_data/files/chef.key +27 -0
- data/cookbooks/infranodes/test/fixtures/cookbooks/mock_data/files/compliance.crt +26 -0
- data/cookbooks/infranodes/test/fixtures/cookbooks/mock_data/files/compliance.key +27 -0
- data/cookbooks/infranodes/test/fixtures/cookbooks/mock_data/files/private.pem +27 -0
- data/cookbooks/infranodes/test/fixtures/cookbooks/mock_data/files/public.pub +1 -0
- data/cookbooks/infranodes/test/fixtures/cookbooks/mock_data/metadata.rb +3 -0
- data/cookbooks/infranodes/test/fixtures/cookbooks/mock_data/recipes/default.rb +21 -0
- data/cookbooks/infranodes/test/integration/default/infranodes_spec.rb +20 -0
- data/cookbooks/infranodes/test/integration/helpers/serverspec/spec_helper.rb +8 -0
- data/cookbooks/wombat/.gitignore +16 -0
- data/cookbooks/wombat/.kitchen.yml +43 -0
- data/cookbooks/wombat/Berksfile +6 -0
- data/cookbooks/wombat/README.md +4 -0
- data/cookbooks/wombat/attributes/default.rb +71 -0
- data/cookbooks/wombat/attributes/packer.rb +18 -0
- data/cookbooks/wombat/chefignore +102 -0
- data/cookbooks/wombat/metadata.rb +11 -0
- data/cookbooks/wombat/recipes/authorized-keys.rb +10 -0
- data/cookbooks/wombat/recipes/default.rb +112 -0
- data/cookbooks/wombat/recipes/etc-hosts.rb +51 -0
- data/cookbooks/workstation/.gitignore +16 -0
- data/cookbooks/workstation/.kitchen.ec2.yml +29 -0
- data/cookbooks/workstation/.kitchen.yml +22 -0
- data/cookbooks/workstation/Berksfile +7 -0
- data/cookbooks/workstation/README.md +3 -0
- data/cookbooks/workstation/chefignore +102 -0
- data/cookbooks/workstation/files/atom.apm.list +7 -0
- data/cookbooks/workstation/files/atom.config.cson +3 -0
- data/cookbooks/workstation/files/cmder.xml +605 -0
- data/cookbooks/workstation/metadata.rb +14 -0
- data/cookbooks/workstation/recipes/browser.rb +45 -0
- data/cookbooks/workstation/recipes/certs-keys.rb +44 -0
- data/cookbooks/workstation/recipes/chef.rb +29 -0
- data/cookbooks/workstation/recipes/default.rb +16 -0
- data/cookbooks/workstation/recipes/dotnet.rb +17 -0
- data/cookbooks/workstation/recipes/editor.rb +19 -0
- data/cookbooks/workstation/recipes/profile.rb +42 -0
- data/cookbooks/workstation/recipes/terminal.rb +13 -0
- data/cookbooks/workstation/templates/default/bookmarks.html.erb +23 -0
- data/cookbooks/workstation/templates/default/data_collector.rb.erb +2 -0
- data/cookbooks/workstation/templates/default/ise_profile.ps1.erb +11 -0
- data/cookbooks/workstation/templates/default/knife.rb.erb +10 -0
- data/cookbooks/workstation/templates/default/master_preferences.json.erb +28 -0
- data/cookbooks/workstation/templates/default/ssh_config.erb +16 -0
- data/cookbooks/workstation/test/fixtures/cookbooks/mock_data/files/chef-server.crt +26 -0
- data/cookbooks/workstation/test/fixtures/cookbooks/mock_data/files/chef-server.key +27 -0
- data/cookbooks/workstation/test/fixtures/cookbooks/mock_data/files/compliance.crt +26 -0
- data/cookbooks/workstation/test/fixtures/cookbooks/mock_data/files/compliance.key +27 -0
- data/cookbooks/workstation/test/fixtures/cookbooks/mock_data/files/delivery.crt +26 -0
- data/cookbooks/workstation/test/fixtures/cookbooks/mock_data/files/delivery.key +27 -0
- data/cookbooks/workstation/test/fixtures/cookbooks/mock_data/files/private.pem +27 -0
- data/cookbooks/workstation/test/fixtures/cookbooks/mock_data/files/public.pub +1 -0
- data/cookbooks/workstation/test/fixtures/cookbooks/mock_data/metadata.rb +2 -0
- data/cookbooks/workstation/test/fixtures/cookbooks/mock_data/recipes/default.rb +21 -0
- data/cookbooks/workstation/test/integration/default/workstation_spec.rb +37 -0
- data/keys/.gitkeep +0 -0
- data/lib/wombat/build.rb +195 -0
- data/lib/wombat/cli.rb +169 -0
- data/lib/wombat/common.rb +163 -0
- data/lib/wombat/delete.rb +28 -0
- data/lib/wombat/deploy.rb +105 -0
- data/lib/wombat/output.rb +45 -0
- data/lib/wombat/version.rb +3 -0
- data/lib/wombat.rb +8 -0
- data/logs/.gitkeep +0 -0
- data/packer/automate.json +108 -0
- data/packer/build-node.json +114 -0
- data/packer/chef-server.json +106 -0
- data/packer/compliance.json +106 -0
- data/packer/files/.gitkeep +0 -0
- data/packer/infranodes.json +108 -0
- data/packer/mock-data/.gitignore +16 -0
- data/packer/mock-data/.kitchen.yml +21 -0
- data/packer/mock-data/Berksfile +3 -0
- data/packer/mock-data/README.md +4 -0
- data/packer/mock-data/chefignore +102 -0
- data/packer/mock-data/metadata.rb +7 -0
- data/packer/mock-data/recipes/default.rb +69 -0
- data/packer/mock-data/spec/spec_helper.rb +2 -0
- data/packer/mock-data/spec/unit/recipes/default_spec.rb +20 -0
- data/packer/mock-data/test/integration/default/serverspec/default_spec.rb +9 -0
- data/packer/mock-data/test/integration/helpers/serverspec/spec_helper.rb +8 -0
- data/packer/workstation.json +97 -0
- data/templates/bootstrap-aws.erb +36 -0
- data/templates/cfn.json.erb +661 -0
- data/terraform/README.md +13 -0
- data/terraform/templates/terraform.tfvars.erb +12 -0
- data/terraform/wombat.tf +328 -0
- data/wombat-cli.gemspec +32 -0
- data/wombat.example.yml +52 -0
- metadata +331 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# automate tests
|
|
2
|
+
|
|
3
|
+
describe command('hostname') do
|
|
4
|
+
its('stdout') { should eq "automate\n" }
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
describe file('/usr/local/bin/jq') do
|
|
8
|
+
it { should exist }
|
|
9
|
+
it { should be_executable }
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
describe file('/home/vagrant/.ssh/authorized_keys') do
|
|
13
|
+
its('content') { file("/tmp/public.pub").content }
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
describe package('delivery') do
|
|
17
|
+
it { should be_installed }
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
describe file('/etc/delivery/automate.pem') do
|
|
21
|
+
its('content') { file("/tmp/private.pem").content }
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
describe file('/var/opt/delivery/license/delivery.license') do
|
|
25
|
+
its('content') { file("/tmp/delivery.license").content }
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
describe file('/etc/delivery/builder_key.pub') do
|
|
29
|
+
its('content') { file("/tmp/public.pub").content }
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
%w(crt key).each do |ext|
|
|
33
|
+
describe file("/var/opt/delivery/nginx/ca/automate.animals.biz.#{ext}") do
|
|
34
|
+
its('content') { should eq file("/tmp/automate.#{ext}").content }
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
describe file('/etc/delivery/delivery.rb') do
|
|
39
|
+
its('content') { should match /delivery_fqdn\s.*"automate.animals.biz"/ }
|
|
40
|
+
its('content') { should match /delivery\['chef_username'\]\s.*=\s.*"automate"/ }
|
|
41
|
+
its('content') { should match /delivery\['chef_private_key'\]\s.*=\s.*"\/etc\/delivery\/automate\.pem"/ }
|
|
42
|
+
its('content') { should match /delivery\['chef_server'\]\s.*"https:\/\/chef.animals.biz\/organizations\/marsupials"/ }
|
|
43
|
+
its('content') { should match /insights\['enable'\]\s.*=\s.*true/ }
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
describe file('/etc/hosts') do
|
|
47
|
+
its('content') { should match /172.31.54.10\s.*chef.animals.biz chef/ }
|
|
48
|
+
its('content') { should match /172.31.54.11\s.*automate.animals.biz automate/ }
|
|
49
|
+
its('content') { should match /172.31.54.12\s.*compliance.animals.biz compliance/ }
|
|
50
|
+
its('content') { should match /172.31.54.51\s.*build-node-1.animals.biz build-node-1/ }
|
|
51
|
+
its('content') { should match /172.31.54.201\s.*workstation-1.animals.biz workstation-1/ }
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# add tests to verify users and passwords
|
|
55
|
+
# delivery-ctl list-users doesn't work
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
driver:
|
|
3
|
+
name: ec2
|
|
4
|
+
aws_ssh_key_id: <%= ENV["EC2_SSH_KEY_NAME"] %>
|
|
5
|
+
region: us-east-1
|
|
6
|
+
availability_zone: e
|
|
7
|
+
instance_type: m3.large
|
|
8
|
+
|
|
9
|
+
provisioner:
|
|
10
|
+
name: chef_zero
|
|
11
|
+
|
|
12
|
+
verifier:
|
|
13
|
+
name: inspec
|
|
14
|
+
|
|
15
|
+
platforms:
|
|
16
|
+
- name: ubuntu-1404
|
|
17
|
+
driver:
|
|
18
|
+
image_id: ami-8e0b9499
|
|
19
|
+
transport:
|
|
20
|
+
ssh_key: <%= ENV["EC2_SSH_KEY_PATH"] %>
|
|
21
|
+
|
|
22
|
+
suites:
|
|
23
|
+
- name: default
|
|
24
|
+
run_list:
|
|
25
|
+
- recipe[apt]
|
|
26
|
+
- recipe[mock_data]
|
|
27
|
+
- recipe[build_node]
|
|
28
|
+
attributes:
|
|
29
|
+
demo:
|
|
30
|
+
node-number: '1'
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
driver:
|
|
3
|
+
name: vagrant
|
|
4
|
+
|
|
5
|
+
provisioner:
|
|
6
|
+
name: chef_zero
|
|
7
|
+
|
|
8
|
+
verifier:
|
|
9
|
+
name: inspec
|
|
10
|
+
|
|
11
|
+
platforms:
|
|
12
|
+
- name: ubuntu-14.04
|
|
13
|
+
|
|
14
|
+
suites:
|
|
15
|
+
- name: default
|
|
16
|
+
run_list:
|
|
17
|
+
- recipe[apt::default]
|
|
18
|
+
- recipe[mock_data::default]
|
|
19
|
+
- recipe[build-node::default]
|
|
20
|
+
attributes:
|
|
21
|
+
demo:
|
|
22
|
+
admin-user: 'vagrant'
|
|
23
|
+
node-number: '1'
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
source 'https://supermarket.chef.io'
|
|
2
|
+
|
|
3
|
+
metadata
|
|
4
|
+
|
|
5
|
+
cookbook 'delivery_build', git: "https://github.com/andrewelizondo/delivery_build"
|
|
6
|
+
cookbook 'delivery-base', git: "https://github.com/chef-cookbooks/delivery-base"
|
|
7
|
+
cookbook 'mock_data', path: 'test/fixtures/cookbooks/mock_data'
|
|
8
|
+
cookbook 'wombat', path: '../wombat'
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# Put files/directories that should be ignored in this file when uploading
|
|
2
|
+
# to a chef-server or supermarket.
|
|
3
|
+
# Lines that start with '# ' are comments.
|
|
4
|
+
|
|
5
|
+
# OS generated files #
|
|
6
|
+
######################
|
|
7
|
+
.DS_Store
|
|
8
|
+
Icon?
|
|
9
|
+
nohup.out
|
|
10
|
+
ehthumbs.db
|
|
11
|
+
Thumbs.db
|
|
12
|
+
|
|
13
|
+
# SASS #
|
|
14
|
+
########
|
|
15
|
+
.sass-cache
|
|
16
|
+
|
|
17
|
+
# EDITORS #
|
|
18
|
+
###########
|
|
19
|
+
\#*
|
|
20
|
+
.#*
|
|
21
|
+
*~
|
|
22
|
+
*.sw[a-z]
|
|
23
|
+
*.bak
|
|
24
|
+
REVISION
|
|
25
|
+
TAGS*
|
|
26
|
+
tmtags
|
|
27
|
+
*_flymake.*
|
|
28
|
+
*_flymake
|
|
29
|
+
*.tmproj
|
|
30
|
+
.project
|
|
31
|
+
.settings
|
|
32
|
+
mkmf.log
|
|
33
|
+
|
|
34
|
+
## COMPILED ##
|
|
35
|
+
##############
|
|
36
|
+
a.out
|
|
37
|
+
*.o
|
|
38
|
+
*.pyc
|
|
39
|
+
*.so
|
|
40
|
+
*.com
|
|
41
|
+
*.class
|
|
42
|
+
*.dll
|
|
43
|
+
*.exe
|
|
44
|
+
*/rdoc/
|
|
45
|
+
|
|
46
|
+
# Testing #
|
|
47
|
+
###########
|
|
48
|
+
.watchr
|
|
49
|
+
.rspec
|
|
50
|
+
spec/*
|
|
51
|
+
spec/fixtures/*
|
|
52
|
+
test/*
|
|
53
|
+
features/*
|
|
54
|
+
examples/*
|
|
55
|
+
Guardfile
|
|
56
|
+
Procfile
|
|
57
|
+
.kitchen*
|
|
58
|
+
.rubocop.yml
|
|
59
|
+
spec/*
|
|
60
|
+
Rakefile
|
|
61
|
+
.travis.yml
|
|
62
|
+
.foodcritic
|
|
63
|
+
.codeclimate.yml
|
|
64
|
+
|
|
65
|
+
# SCM #
|
|
66
|
+
#######
|
|
67
|
+
.git
|
|
68
|
+
*/.git
|
|
69
|
+
.gitignore
|
|
70
|
+
.gitmodules
|
|
71
|
+
.gitconfig
|
|
72
|
+
.gitattributes
|
|
73
|
+
.svn
|
|
74
|
+
*/.bzr/*
|
|
75
|
+
*/.hg/*
|
|
76
|
+
*/.svn/*
|
|
77
|
+
|
|
78
|
+
# Berkshelf #
|
|
79
|
+
#############
|
|
80
|
+
Berksfile
|
|
81
|
+
Berksfile.lock
|
|
82
|
+
cookbooks/*
|
|
83
|
+
tmp
|
|
84
|
+
|
|
85
|
+
# Cookbooks #
|
|
86
|
+
#############
|
|
87
|
+
CONTRIBUTING*
|
|
88
|
+
CHANGELOG*
|
|
89
|
+
TESTING*
|
|
90
|
+
MAINTAINERS.toml
|
|
91
|
+
|
|
92
|
+
# Strainer #
|
|
93
|
+
############
|
|
94
|
+
Colanderfile
|
|
95
|
+
Strainerfile
|
|
96
|
+
.colander
|
|
97
|
+
.strainer
|
|
98
|
+
|
|
99
|
+
# Vagrant #
|
|
100
|
+
###########
|
|
101
|
+
.vagrant
|
|
102
|
+
Vagrantfile
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
name 'build_node'
|
|
2
|
+
maintainer 'The Authors'
|
|
3
|
+
maintainer_email 'you@example.com'
|
|
4
|
+
license 'all_rights'
|
|
5
|
+
description 'Installs/Configures build-node'
|
|
6
|
+
long_description 'Installs/Configures build-node'
|
|
7
|
+
version '0.3.0'
|
|
8
|
+
|
|
9
|
+
depends 'apt'
|
|
10
|
+
depends 'chef-sugar'
|
|
11
|
+
depends 'delivery-base'
|
|
12
|
+
depends 'delivery_build'
|
|
13
|
+
depends 'hostsfile'
|
|
14
|
+
depends 'line'
|
|
15
|
+
depends 'wombat'
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Cookbook Name:: build-node
|
|
3
|
+
# Recipe:: default
|
|
4
|
+
#
|
|
5
|
+
# Copyright (c) 2016 The Authors, All Rights Reserved.
|
|
6
|
+
|
|
7
|
+
directory '/etc/chef'
|
|
8
|
+
directory '/etc/chef/trusted_certs'
|
|
9
|
+
|
|
10
|
+
%w(chef automate compliance).each do |f|
|
|
11
|
+
file "/etc/chef/trusted_certs/#{node['demo']['domain_prefix']}#{f}_#{node['demo']['domain'].tr('.','_')}.crt" do
|
|
12
|
+
content lazy { IO.read("/tmp/#{f}.crt") }
|
|
13
|
+
action :create
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
file '/etc/chef/client.pem' do
|
|
18
|
+
content lazy { IO.read('/tmp/private.pem') }
|
|
19
|
+
action :create
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
template '/etc/chef/client.rb' do
|
|
23
|
+
source 'client.erb'
|
|
24
|
+
variables(
|
|
25
|
+
chef_server_url: node['demo']['chef_server_url'],
|
|
26
|
+
client_key: '/etc/chef/client.pem',
|
|
27
|
+
node_name: "build-node-#{node['demo']['node-number']}"
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
node.set['push_jobs']['chef']['chef_server_url'] = node['demo']['chef_server_url']
|
|
32
|
+
node.set['push_jobs']['chef']['node_name'] = "build-node-#{node['demo']['node-number']}"
|
|
33
|
+
include_recipe 'wombat::authorized-keys'
|
|
34
|
+
include_recipe 'wombat::etc-hosts'
|
|
35
|
+
include_recipe 'delivery_build::default'
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIEWDCCA0CgAwIBAgIBADANBgkqhkiG9w0BAQsFADB+MQswCQYDVQQGEwJBVTEY
|
|
3
|
+
MBYGA1UECAwPTmV3IFNvdXRoIFdhbGVzMQ8wDQYDVQQHDAZTeWRuZXkxEzARBgNV
|
|
4
|
+
BAoMCm1hcnN1cGlhbHMxEDAOBgNVBAsMB3dvbWJhdHMxHTAbBgNVBAMMFGF1dG9t
|
|
5
|
+
YXRlLmFuaW1hbHMuYml6MB4XDTE2MDgxNjE5MDUyMVoXDTE3MDgxNjE5MDUyMVow
|
|
6
|
+
fjELMAkGA1UEBhMCQVUxGDAWBgNVBAgMD05ldyBTb3V0aCBXYWxlczEPMA0GA1UE
|
|
7
|
+
BwwGU3lkbmV5MRMwEQYDVQQKDAptYXJzdXBpYWxzMRAwDgYDVQQLDAd3b21iYXRz
|
|
8
|
+
MR0wGwYDVQQDDBRhdXRvbWF0ZS5hbmltYWxzLmJpejCCASIwDQYJKoZIhvcNAQEB
|
|
9
|
+
BQADggEPADCCAQoCggEBAJHtYR1sIQM1GffD74taoU/anIJY7P95g+42YioTf3fK
|
|
10
|
+
4KHtihMacxOBuMhh2yPPh4ZY5OVE9ST3zBmNu3hQlnfgr4JXwRrmPnk9PztYbbqT
|
|
11
|
+
pxJmvfK/t2Wesj2dxR1/hNMrWfwQlrv1ikv6EJN4Od3DpE1q+rnNM8qB/Xh34uu1
|
|
12
|
+
UfgriRGSXhpARl88WjzXcoNotdTYSn+js73xuq8w8cQ1Ngmq2Hjar/W36svaoJI4
|
|
13
|
+
0vfSUMa8327vn/XmFtWHRCLL89gFYM0D9NgnCZT9yLT4bzO7BHVpmIEYzx3Dd6qf
|
|
14
|
+
q16es3YrRjFYoShyIwU7ubRn1bUBWRYAT+xoByVJqmUCAwEAAaOB4DCB3TAPBgNV
|
|
15
|
+
HRMBAf8EBTADAQH/MB0GA1UdDgQWBBQ5ckBDssPcNcvJoINZL81bSCvypDCBqgYD
|
|
16
|
+
VR0jBIGiMIGfgBQ5ckBDssPcNcvJoINZL81bSCvypKGBg6SBgDB+MQswCQYDVQQG
|
|
17
|
+
EwJBVTEYMBYGA1UECAwPTmV3IFNvdXRoIFdhbGVzMQ8wDQYDVQQHDAZTeWRuZXkx
|
|
18
|
+
EzARBgNVBAoMCm1hcnN1cGlhbHMxEDAOBgNVBAsMB3dvbWJhdHMxHTAbBgNVBAMM
|
|
19
|
+
FGF1dG9tYXRlLmFuaW1hbHMuYml6ggEAMA0GCSqGSIb3DQEBCwUAA4IBAQA4TzbV
|
|
20
|
+
FLeJzJ/bsYb0DilbxNo4FKnfM166OwX6buYGUXk7DcSk0bsFpkKXa8X5xL5/7zUr
|
|
21
|
+
Eu2cUBkV/wgozmX/1ocXlc9fbZILtJiS/sz3oRcfqOZi7EhYV0ENrWRjk15y/x+P
|
|
22
|
+
Vq8cXmvaNxthhszbBTtpRu8UHJ+8AFm1Vapbig/FgAjDJq6gv+0KPLK1ZwyG6N8J
|
|
23
|
+
+JwWuoYftbGeQ7BLt2GYZ11bd5o/TTsem5R1CI5qzHzGoUxQ9c8EibwQ2PQLICaB
|
|
24
|
+
B/Zub4jeBQM7D5xKtgCaMdEjBeaFFO0mjQ1BWwuDVNARA1i8UF50vyKI/FlYGNv6
|
|
25
|
+
qqMZfF5fS0iJ3ZQ8
|
|
26
|
+
-----END CERTIFICATE-----
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
|
2
|
+
MIIEpAIBAAKCAQEAke1hHWwhAzUZ98Pvi1qhT9qcgljs/3mD7jZiKhN/d8rgoe2K
|
|
3
|
+
ExpzE4G4yGHbI8+Hhljk5UT1JPfMGY27eFCWd+CvglfBGuY+eT0/O1htupOnEma9
|
|
4
|
+
8r+3ZZ6yPZ3FHX+E0ytZ/BCWu/WKS/oQk3g53cOkTWr6uc0zyoH9eHfi67VR+CuJ
|
|
5
|
+
EZJeGkBGXzxaPNdyg2i11NhKf6OzvfG6rzDxxDU2CarYeNqv9bfqy9qgkjjS99JQ
|
|
6
|
+
xrzfbu+f9eYW1YdEIsvz2AVgzQP02CcJlP3ItPhvM7sEdWmYgRjPHcN3qp+rXp6z
|
|
7
|
+
ditGMVihKHIjBTu5tGfVtQFZFgBP7GgHJUmqZQIDAQABAoIBAHnArP53cTPT4k6u
|
|
8
|
+
0/ZZL64In/zBZTvijwj5pv2kNv4j7zgrkMBPmSP1X88Qll5SkKivEouX9VFazpej
|
|
9
|
+
gX7o/iIW/VirDxr6b7WIPHGvXh4Fg6f+wQ0AmGvY9K4kLIpoEtJ9oR6GWL2KKFEr
|
|
10
|
+
2xivfthgm31cfMT5SPT1cB5LKLGv3KUcCrIY1eGdRyFE4aUnpPRaUsrnJzT2nO+w
|
|
11
|
+
2GdKJhdLsc1hdSCafovLpEvR/Umw3NGulU0akrUAslTBvXVpCr+TV8TxwdlsCKhy
|
|
12
|
+
j8HCIjKPxtfGPYEQa7vH7y7BQoR3FaklgoYMlfPs5DSafwYmrcNSIN/qgYuVq20X
|
|
13
|
+
gPWPlCECgYEAwaKxim7x/moy+f9ToBDdsBTZN5LVRFiHvsaLa5yqOkCIgh3dfPJc
|
|
14
|
+
5yKsKRWbabWRu9rbzCoJohPIwqHQQB1/WUj1C8a3axD2UTPIS5SPcnc/tn3lQ7a3
|
|
15
|
+
QJJqcDbfOKN23SD+TjFbQMn1xtJcG49nJThcksASCennK75zb67gi5cCgYEAwO0g
|
|
16
|
+
LiLQ4I5wz5VzLpuLvxRpVM8XzSDKJdoogkWQgTLqMpYhBMWHVtvpj3z8w+XDQ0wa
|
|
17
|
+
GrYrbmxT0BThgTb4crHY5QhO8HnhqH16O5DO801n2eWaU2G1F7dOeVA2AMCM8suG
|
|
18
|
+
pbYA6uvZPsgaW1rWLBcRWNIMjeExfcHZQle7qWMCgYBTOaIlZdoNB4gxe1RuD9G4
|
|
19
|
+
xL037ZxMa+CsVpnF/ugLcYE6q6tu8JyNm5Fzdx39KVUh8MdX0Rmi1+4J+ZKQfB0o
|
|
20
|
+
OvtXvGlJU1kLPb5w/cFJ6Ycw4JuRpw7MaiHlaTA4H8oO8QdchEo8ZpGEixWbot8q
|
|
21
|
+
WDcxu+wE5su9OXZUIk3QsQKBgQCh6F8RWPai/ed+zpWTj8Z/3cln+0SmSdZcXfGR
|
|
22
|
+
IoBbbTdOrN+Y+YzTQEuKuAIJBVIRsFRYBnn8ebz87Ak0P8XRu5+i1o4pEqBmnqdu
|
|
23
|
+
ReDoHxYAr8gMIfuwo42gEcjAaNfhCx09BLlQbg4ruhMkh98lsVZFjEIs78hxGbYT
|
|
24
|
+
Dz3WsQKBgQCQq07KnheugJPyQafu8gXmrcu3/zLWD6ODqDxo6vRVQlkzvaYJyI1n
|
|
25
|
+
3uWcOSO0rCS2a8MVtchZ/oYaP6mSdK+UKB/ZKj9/ZnU0r/q92zrDtuRZmPxhf5Y2
|
|
26
|
+
l0oCU3KRVaN24va/FqFXT5iGeqMjhyX/tVXyHXWZXmoZTRr/CjZ0uQ==
|
|
27
|
+
-----END RSA PRIVATE KEY-----
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIESjCCAzKgAwIBAgIBADANBgkqhkiG9w0BAQsFADB6MQswCQYDVQQGEwJBVTEY
|
|
3
|
+
MBYGA1UECAwPTmV3IFNvdXRoIFdhbGVzMQ8wDQYDVQQHDAZTeWRuZXkxEzARBgNV
|
|
4
|
+
BAoMCm1hcnN1cGlhbHMxEDAOBgNVBAsMB3dvbWJhdHMxGTAXBgNVBAMMEGNoZWYu
|
|
5
|
+
YW5pbWFscy5iaXowHhcNMTYwODE2MTkwNTIxWhcNMTcwODE2MTkwNTIxWjB6MQsw
|
|
6
|
+
CQYDVQQGEwJBVTEYMBYGA1UECAwPTmV3IFNvdXRoIFdhbGVzMQ8wDQYDVQQHDAZT
|
|
7
|
+
eWRuZXkxEzARBgNVBAoMCm1hcnN1cGlhbHMxEDAOBgNVBAsMB3dvbWJhdHMxGTAX
|
|
8
|
+
BgNVBAMMEGNoZWYuYW5pbWFscy5iaXowggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
|
|
9
|
+
ggEKAoIBAQDjjPREND2CqfwNsv2L1s9M4EXF39gMDWAVnodje8zNQz9PGFSpH6OX
|
|
10
|
+
uPL1nMgpExxbbFjolwAHW9QxgyNphGBt1pgXbTAyCFDQzZZDxiSGpY8kFyVmtkXj
|
|
11
|
+
qiLpRrwgj4dz2eaP0DO0fYcxqQnY/uYSNMfpgsRpN2Z1aWxpwIzNWZdDqlLZ55vH
|
|
12
|
+
hcXsoZQC9D3aSujmMZM64T/akhekOwThmrWMvqAZ2SuoGZWaaPWLR7JU/uV6yViR
|
|
13
|
+
s9ZoDRG1bzhj8iJT7yq0WuCQGbxVe+3B973YYKEOOG9llgydGScTonBm419tS6/7
|
|
14
|
+
LXxWcFyqfKsaXMfIZgjGPqQpXQrnCkO1AgMBAAGjgdowgdcwDwYDVR0TAQH/BAUw
|
|
15
|
+
AwEB/zAdBgNVHQ4EFgQUqq+Vuw/bv/cyJSAlJcBEcxcnqOUwgaQGA1UdIwSBnDCB
|
|
16
|
+
mYAUqq+Vuw/bv/cyJSAlJcBEcxcnqOWhfqR8MHoxCzAJBgNVBAYTAkFVMRgwFgYD
|
|
17
|
+
VQQIDA9OZXcgU291dGggV2FsZXMxDzANBgNVBAcMBlN5ZG5leTETMBEGA1UECgwK
|
|
18
|
+
bWFyc3VwaWFsczEQMA4GA1UECwwHd29tYmF0czEZMBcGA1UEAwwQY2hlZi5hbmlt
|
|
19
|
+
YWxzLmJpeoIBADANBgkqhkiG9w0BAQsFAAOCAQEAOyIdSQYPwTHchFqKPF2vJbdr
|
|
20
|
+
8sTUaD/FV4HxUMXZ74CnFq0QJWF7aV25876Qv3Z1YnqvlWLhe7ulQtl5NXHZB6dQ
|
|
21
|
+
VizWwDwac8Rf8MkkFruBZHwnhIYZn7vRFSZjkJj2NYX3eVbxJ6iDLsjtpy+F8+rE
|
|
22
|
+
KIl7CjuuKVK952F+zZemKmB9axHZtgtRVZPPIgkpK0wQCYiTMrFC85GcOyhjOdj6
|
|
23
|
+
47leIuKUtIO1bBfda2GNBmEqXWrywUtjts37SBcw928cYCT1BX1UzJSNN0MpKTP0
|
|
24
|
+
qSqY8OIoMp7+dZ7QJHOyqSLW/07wmC4eHrhnYfl4VsZTA8zhvFsG65+fEPMIbQ==
|
|
25
|
+
-----END CERTIFICATE-----
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
|
2
|
+
MIIEpQIBAAKCAQEA44z0RDQ9gqn8DbL9i9bPTOBFxd/YDA1gFZ6HY3vMzUM/TxhU
|
|
3
|
+
qR+jl7jy9ZzIKRMcW2xY6JcAB1vUMYMjaYRgbdaYF20wMghQ0M2WQ8YkhqWPJBcl
|
|
4
|
+
ZrZF46oi6Ua8II+Hc9nmj9AztH2HMakJ2P7mEjTH6YLEaTdmdWlsacCMzVmXQ6pS
|
|
5
|
+
2eebx4XF7KGUAvQ92kro5jGTOuE/2pIXpDsE4Zq1jL6gGdkrqBmVmmj1i0eyVP7l
|
|
6
|
+
eslYkbPWaA0RtW84Y/IiU+8qtFrgkBm8VXvtwfe92GChDjhvZZYMnRknE6JwZuNf
|
|
7
|
+
bUuv+y18VnBcqnyrGlzHyGYIxj6kKV0K5wpDtQIDAQABAoIBAFMoGcQrCyeLE0+2
|
|
8
|
+
T64g7FT9yMHNUdjlsm10J6oVffytTJ+NFrNPmqtBrZhQmV1ZXI2UhNFLDXmi92K4
|
|
9
|
+
t+JBvDOnrqExB+Hg5BfKadWOvZ5vNmZMByEID3ZpoKR7cxi7GxcdVILN5XdaQGPH
|
|
10
|
+
kI+6Zz3UCBKv9TM2Sb0yr6nd8hbArFAOyqaB91oSppbTftOhntd8SgSPZ5mLBSne
|
|
11
|
+
DxluTriTgpyKh6ebbLBob/q3QI//xzfVC6+H1b5p64r2vMNkZUjfVUz1atSF66Bg
|
|
12
|
+
R/i+51mMxZd7avdoU89kg9+QDlL8Sw/mc/VJL2uIqtc5aoXpMsjpcWZsBpVjUPAr
|
|
13
|
+
E10DMYECgYEA/FX9dr/zcZFzSxDWGVbd4tckuYG7Iz9aFgxqfUdbOSGV6w9b42Mh
|
|
14
|
+
7Fqf3dAqAPCYkCmXH34o9QAHf31Ob5x0BNe6MBqoj1N8jpd5MQ4bCOkC3jtNScUt
|
|
15
|
+
yzpb53bMjBBJw2WpngxhKt6RBwer6OixV7Wx90uxF6te8LPPjE8oSqUCgYEA5trU
|
|
16
|
+
W8cLNjQrZkGChS2W9bDVD7kErx9kt0vCDDoOVXpuaAXUFJ46AzYTdqOqxZS3TuVu
|
|
17
|
+
ylz12BNl0HvE5lsRufVOOFcMKX/F10fKVYYc+bUaw6YLIIcb7EeHJ/MDtUv13eTX
|
|
18
|
+
SllxaCMWdS46PzenRnVcZaRY9qXqpJtpq5JGl9ECgYEAyf1XmPBMwpNI9ET07XHA
|
|
19
|
+
ym2oAysbDzsONOoZcFFnb5M3++LejmXzaMyefiO9C+WMapIwW9BUntI4LlCzMdrO
|
|
20
|
+
cHXzn8AnQBv3b/lG1QLSl05WsmhMFQpW/wCnQuCxGkmLknNV1KNaQMPK2hLFBPsH
|
|
21
|
+
wws5+5hGmYjfxdRaBpnyydUCgYEAve/z4uMcfWdlAcgKfEqrNtBcLIh8qx04P3ss
|
|
22
|
+
V+T4YCnQZvPMr34TmwrF7snwOooGW/p3MjZT64jiLyt2MFVje02yIra0AfznqR2f
|
|
23
|
+
AsjKVEVGlQyrgQLI3ZloQV03gtXRn9Slsb1vik+8LYNwVw0SKu1qrRIQRDb0nKRl
|
|
24
|
+
x80dGdECgYEA3zAihDetpNsnIZhY8D6jA0331TQiLGDwz/IFoeUm685I+R8NoViX
|
|
25
|
+
nuxjnNRrHbOKNs0spHe+VpYLMaSBmSz/fqJnAuNKFuIZvQtHOtTtfMDuH1+5dRzS
|
|
26
|
+
cWAmqPZfm1qfNy1zX8SQDeHcsexFZq9tQ2dj8Sezrt7HYwLMgoLtijA=
|
|
27
|
+
-----END RSA PRIVATE KEY-----
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIEYTCCA0mgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgDELMAkGA1UEBhMCQVUx
|
|
3
|
+
GDAWBgNVBAgMD05ldyBTb3V0aCBXYWxlczEPMA0GA1UEBwwGU3lkbmV5MRMwEQYD
|
|
4
|
+
VQQKDAptYXJzdXBpYWxzMRAwDgYDVQQLDAd3b21iYXRzMR8wHQYDVQQDDBZjb21w
|
|
5
|
+
bGlhbmNlLmFuaW1hbHMuYml6MB4XDTE2MDgxNjE5MDUyMVoXDTE3MDgxNjE5MDUy
|
|
6
|
+
MVowgYAxCzAJBgNVBAYTAkFVMRgwFgYDVQQIDA9OZXcgU291dGggV2FsZXMxDzAN
|
|
7
|
+
BgNVBAcMBlN5ZG5leTETMBEGA1UECgwKbWFyc3VwaWFsczEQMA4GA1UECwwHd29t
|
|
8
|
+
YmF0czEfMB0GA1UEAwwWY29tcGxpYW5jZS5hbmltYWxzLmJpejCCASIwDQYJKoZI
|
|
9
|
+
hvcNAQEBBQADggEPADCCAQoCggEBAMdE1m4ETjyi5sbjQX28ICx11VGghz9f1vkB
|
|
10
|
+
uWukAt1CB6yUnXiwblGyJUKuaAk5GVdDCoGsKqpPgdAaPuTfB50kWEoxY5qBQ+i9
|
|
11
|
+
Pnau9VCXowNE00DsDhZRyuLj7Mf+NUfkWJ7EXG7wb8qPZpmZBwRNYavJFSrMtHt5
|
|
12
|
+
QFE4IsTQ/UXJyZqa6PIq7t4mDVEH0kg6/qsP5lpXPIMlq+t9BtUxm91b4EeqfUJY
|
|
13
|
+
DUp0I9gTSRCyt8UHjhfm2T0kE09jCEJNut/SuZUhW/F1/Fja3GDYlmqJGePl+3mZ
|
|
14
|
+
39TyVJab9V/xxOxSkCYOXvoN3l2SCJh6ufRfd3dHSTR+aiZgltsCAwEAAaOB4zCB
|
|
15
|
+
4DAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRQ2/l7IAoxWdKfGtGTyUG1HoDc
|
|
16
|
+
7zCBrQYDVR0jBIGlMIGigBRQ2/l7IAoxWdKfGtGTyUG1HoDc76GBhqSBgzCBgDEL
|
|
17
|
+
MAkGA1UEBhMCQVUxGDAWBgNVBAgMD05ldyBTb3V0aCBXYWxlczEPMA0GA1UEBwwG
|
|
18
|
+
U3lkbmV5MRMwEQYDVQQKDAptYXJzdXBpYWxzMRAwDgYDVQQLDAd3b21iYXRzMR8w
|
|
19
|
+
HQYDVQQDDBZjb21wbGlhbmNlLmFuaW1hbHMuYml6ggEAMA0GCSqGSIb3DQEBCwUA
|
|
20
|
+
A4IBAQCEMqbYpgcYpKyrPXnjFBPcL7w86wOwc3SjjbdIKPiZx2bLoL+Bt0a2YEam
|
|
21
|
+
HsqXpl7YoRaCwj3SimPUledvjPD1Kta3bfkRItqXKSI7Fj+3/Dn5y43iIC1yZVa8
|
|
22
|
+
s7fxh2elGUMjrwzzW/47M5ILZVkPK7a3BszErXnQkUkkZXGELf2uzNvvB+leCPxD
|
|
23
|
+
jmA+M+AEJcvhjM1R2dVlIF1LcFbS1nKUCLr51EvskgVWkpcLSGb443zT3OggQrdq
|
|
24
|
+
/CF4E0KlLSW4ZM605Zkd19QvvlXToy4BBb3gXKHPb8Av+DtKBQOb4e2sO/CoD8Sx
|
|
25
|
+
dIEfFGQ1ouwf2vQ/UOLWXKMfi6PJ
|
|
26
|
+
-----END CERTIFICATE-----
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
|
2
|
+
MIIEpAIBAAKCAQEAx0TWbgROPKLmxuNBfbwgLHXVUaCHP1/W+QG5a6QC3UIHrJSd
|
|
3
|
+
eLBuUbIlQq5oCTkZV0MKgawqqk+B0Bo+5N8HnSRYSjFjmoFD6L0+dq71UJejA0TT
|
|
4
|
+
QOwOFlHK4uPsx/41R+RYnsRcbvBvyo9mmZkHBE1hq8kVKsy0e3lAUTgixND9RcnJ
|
|
5
|
+
mpro8iru3iYNUQfSSDr+qw/mWlc8gyWr630G1TGb3VvgR6p9QlgNSnQj2BNJELK3
|
|
6
|
+
xQeOF+bZPSQTT2MIQk2639K5lSFb8XX8WNrcYNiWaokZ4+X7eZnf1PJUlpv1X/HE
|
|
7
|
+
7FKQJg5e+g3eXZIImHq59F93d0dJNH5qJmCW2wIDAQABAoIBAGmTxFTH/TfNS56G
|
|
8
|
+
27Uljppf2CUGe4INYlXOHxKz9DyMdoputzwxplGspGc/BqoUUaPVRmTL9lMECxBa
|
|
9
|
+
R4Z10I/mqMyufEppQLS4R7cUHa+Ul+7scU1NhG046tjp0BNqUYqEppuACEVTKLfW
|
|
10
|
+
4JJy7K/P2/brdEaX7OwaowQlTO6fqDzQyPA9/0RJXGWHFGVpg+RI1EbLwz60mbmv
|
|
11
|
+
Dkuibz3xh7K8egoweI8+2XJ0cih3QKA6EIF0+A+tS9/776vYrpQE1CR8ToIveQ3D
|
|
12
|
+
zg6n/qx07BK1f3r8wRoT7mdUkK5McJNHCI6oc3yhXFgV4T2DL4tCCKQrc0Aozo+Q
|
|
13
|
+
Gi619MkCgYEA79o7/F9U3cJ4yzCiuiqYSP17LBcFZ2UctSL2eC703VmlQCWOpTyo
|
|
14
|
+
Ek6Vy4QCcZCFGhLdjhP0gd9ITTqSFrQM2acu1zLQ/me2/jRnxpLwXGwW0sK1+RKZ
|
|
15
|
+
dyTzOgeLzyXE3uu87ri5CEuV52VpMghhpSYqQB5Ny8Z0Jsc67Z8JI68CgYEA1K8p
|
|
16
|
+
KsK1mkeZxm/YQhQwZvWH9Lso7+7HWa92xLbXmmRIK+HiJgEECMP5R/sOWHtBtOAD
|
|
17
|
+
PIZiIzYvCCBT3hIopySyymSJrr5W6lcbldevBbjKdcf4+lf1VbjcDS3z5hjW60go
|
|
18
|
+
ZJduuV4O+OaWpAGUh9HhrkLyilFTms3xhtgozpUCgYEAsX8r0xjtYerPn3aPhfuN
|
|
19
|
+
lL5ZD4i9zAVMmFOWV9xQAxqbKvxgMrHPozSar/AyKr6LcX8yjDkCQbXt+JD2mWyG
|
|
20
|
+
8e9Bv6lwdkRkbHx1q8MDszGeNjw3lGoKPdyPTotVEGff6CRGPddfvt7IwWQP1CHV
|
|
21
|
+
uPSkYazLX5iuTiAz4LNHfSsCgYAjeHsTKJoE+wAIekrE6n0QDs733+b57QbOTFcw
|
|
22
|
+
g5X9p8/pkaiX0f+MPrLqcFJ6K0RQGDQx+e+QE89QOaQDG2AwUAyJeK8Ft7TjLFfr
|
|
23
|
+
a6dC+wi5D/rUNasy+ruobwuISog9gTFLZX4P6EHy/PIOtDzDUhujZoLw0pNw8/ve
|
|
24
|
+
E1rq6QKBgQCVf8zGyBV5jFgjoYupftdFR0LtwN6QkoUpLRXJUpumZ8DB19GmuC6a
|
|
25
|
+
pFZWmb0skbhGJEDRJIGm1/iI0JW1f2lMUXRf/vg7MnUituPH1wU6gbCBMvZyHfYO
|
|
26
|
+
tMnv/Cy0gc21YfrCWFkCvWqZFyILWDnL0C6gi0kPkpR76H02qiKr7w==
|
|
27
|
+
-----END RSA PRIVATE KEY-----
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
|
2
|
+
MIIEogIBAAKCAQEAobOupXCnCk2Uo1B+Qp6irh6Kyf7J4ldrYukB5M2ygZMCHFzS
|
|
3
|
+
VRdevIA7fw9d64JD8PSy55aTAbDB7fHu6d9uKmVLFemFDpYc05cyRPuMaw9A0gZg
|
|
4
|
+
TcdcdQFKYmkc7Qfam/mVGuHIq7yXth/20m+LKQXbog88epdnTSEQI3YJG3a+ITxm
|
|
5
|
+
0gHDAG8r9nYoc0DySA432Jrnr8GSHfmHU9lzTn2bPfr1DscSWrb1fDtSroaqnp4m
|
|
6
|
+
DmnQ3ZF/M4SWRHIysKDplF6rvN1hNNRtHngw0tdcpgqEPWbC4Q9Kv1o1c/Jh1d5d
|
|
7
|
+
gqzMqfY1goKx1WfBLA9Nl2D31tcyNzS/Ck58hQIDAQABAoIBABzQ53umEq58WtOr
|
|
8
|
+
wYRfvr/mw3bxx8plJ8btnR/IJFqA9yxUwkrVqlVPSMsA0wzoHvFuuf8ZT0NK25Rq
|
|
9
|
+
u9fDsF8vw+y4u7R4vdRbKmMurLxbcIK9DiZuM6TKQRY+gyAeeS+4j4DF4bvxFNwo
|
|
10
|
+
4BRqOlNqLtS3gGCcYJVXIggfvcm92+gLGpuZdXGidMm9mbXCNnHxM181vqH44APl
|
|
11
|
+
M+eOjC3TleM7JbyUBCidczkyesknenVmml8h0ljdL8nnH1aya+lDgOQQeRPLu7oy
|
|
12
|
+
X+zTsqFNs4POIKNNsgeYr9A7bO7VTS1/q+Jp9qxmHtaU9RX9yM7qAKhsGX02Y3uv
|
|
13
|
+
W4ETJdUCgYEAzm+HVz3q4HdKydrVDH5CCoz+hR5VkLY4DyEE/TUlvCenkO1wC6oW
|
|
14
|
+
abAC1lkxg8I0r9P6hByzbGPkoM1F/34VDj2dWMyYbLYpvLm4SwO4zlN2VectB94r
|
|
15
|
+
ejXlF+LJuZY7BWosEjAmHzNwsWoCtBwSOoGuvq+Vtvrqh3Z2MDXkjwMCgYEAyIac
|
|
16
|
+
6brMUC0JrQDQI5PC/oYW1ktVMO2q36towxgulMBjfolsZnN9xGGhx0TB3kZh5t6E
|
|
17
|
+
3MKwxUHxmDXp3TTuloxSc3u0gpOmQpEz5DiF1eeZj6qvW2rR3WMkmaUO+o5iPyPv
|
|
18
|
+
Sc7bnUzbU4zVC/kOtTrEK7AJHNaUKXgP625Ry9cCgYBHcj4rKZjS2zadKgm2azQ8
|
|
19
|
+
JpQoSlle3lIEmm75m51Vw3uxIxw2TUW4ilxRB0mlyl8lw33en3hRuTj1llX1mRN8
|
|
20
|
+
fEKq6xSN+3XyhWyNOdqKPkSkcoAZSwFNKL4DSFB81MvUkexy1ws6nTkRjhklcNm2
|
|
21
|
+
Og/amzZ7v9fPzmYVRXG3NQKBgBEkAJGyF/jagLM7GI+R998N0zHqKpQOHMcVvdS/
|
|
22
|
+
YmvwrhCI6q0vPhblSZDg/blkRsYXS0AbnESgSGh8Y0s3VRWlVP7uGhX3TQTvqIHf
|
|
23
|
+
mwEX1PaE3oxv6xSDfwNrKoacWSWQisnCVt9xTGYt6aAmX+154n7hg0XlybBpxOKZ
|
|
24
|
+
AYDtAoGAK0f1NlxcgsPgrkbQS34mPCNIlpShPaT8daf04h5tCWjlMDF4s3Ap6DRs
|
|
25
|
+
iDmQ5d9oIWRH+9m3vNu+5gaW0bb63swpsHkHwA7oaoEqbpsSQccAtWHQ/zGbSFMl
|
|
26
|
+
mNMSSx2Mceeyveg45rokfQ2OCvvrv+XCdyH2AZJJ2vGvJudcxW0=
|
|
27
|
+
-----END RSA PRIVATE KEY-----
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChs66lcKcKTZSjUH5CnqKuHorJ/sniV2ti6QHkzbKBkwIcXNJVF168gDt/D13rgkPw9LLnlpMBsMHt8e7p324qZUsV6YUOlhzTlzJE+4xrD0DSBmBNx1x1AUpiaRztB9qb+ZUa4cirvJe2H/bSb4spBduiDzx6l2dNIRAjdgkbdr4hPGbSAcMAbyv2dihzQPJIDjfYmuevwZId+YdT2XNOfZs9+vUOxxJatvV8O1KuhqqeniYOadDdkX8zhJZEcjKwoOmUXqu83WE01G0eeDDS11ymCoQ9ZsLhD0q/WjVz8mHV3l2CrMyp9jWCgrHVZ8EsD02XYPfW1zI3NL8KTnyF
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# copy files into tmp for cookbook
|
|
2
|
+
|
|
3
|
+
cookbook_file '/tmp/public.pub' do
|
|
4
|
+
content 'public.pub'
|
|
5
|
+
action :create
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
cookbook_file '/tmp/private.pem' do
|
|
9
|
+
content 'private.pem'
|
|
10
|
+
action :create
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
%w(chef automate compliance).each do |f|
|
|
14
|
+
cookbook_file "/tmp/#{f}.crt" do
|
|
15
|
+
content "#{f}.crt"
|
|
16
|
+
action :create
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# build-node tests
|
|
2
|
+
|
|
3
|
+
describe file('/home/vagrant/.ssh/authorized_keys') do
|
|
4
|
+
its('content') { file("/tmp/private.pem").content }
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
%w(chef automate compliance).each do |hostname|
|
|
8
|
+
describe file("/etc/chef/trusted_certs/#{hostname}_animals_biz.crt") do
|
|
9
|
+
its('content') { should eq file("/tmp/#{hostname}.crt").content }
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
describe file('/etc/chef/client.pem') do
|
|
14
|
+
its('content') { file("/tmp/private.pem").content }
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
describe file('/etc/chef/client.rb') do
|
|
18
|
+
its('content') { should match /chef_server_url\s.*'https:\/\/chef.animals.biz\/organizations\/marsupials'/ }
|
|
19
|
+
its('content') { should match /client_key\s.*'\/etc\/chef\/client.pem'/}
|
|
20
|
+
its('content') { should match /node_name\s.*'build-node-1'/}
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
describe file('/etc/hosts') do
|
|
24
|
+
its('content') { should match /172.31.54.10\s.*chef.animals.biz chef/ }
|
|
25
|
+
its('content') { should match /172.31.54.11\s.*automate.animals.biz automate/ }
|
|
26
|
+
its('content') { should match /172.31.54.12\s.*compliance.animals.biz compliance/ }
|
|
27
|
+
its('content') { should match /172.31.54.51\s.*build-node-1.animals.biz build-node-1/ }
|
|
28
|
+
its('content') { should match /172.31.54.201\s.*workstation-1.animals.biz workstation-1/ }
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
describe package('chefdk') do
|
|
32
|
+
it { should be_installed }
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# verify dbuild user
|
|
36
|
+
|
|
37
|
+
# verify delivery workspace
|
|
38
|
+
|
|
39
|
+
# verify delivery configs
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
driver:
|
|
3
|
+
name: ec2
|
|
4
|
+
aws_ssh_key_id: <%= ENV["EC2_SSH_KEY_NAME"] %>
|
|
5
|
+
region: us-east-1
|
|
6
|
+
availability_zone: e
|
|
7
|
+
instance_type: m3.large
|
|
8
|
+
|
|
9
|
+
provisioner:
|
|
10
|
+
name: chef_zero
|
|
11
|
+
|
|
12
|
+
verifier:
|
|
13
|
+
name: inspec
|
|
14
|
+
|
|
15
|
+
platforms:
|
|
16
|
+
- name: ubuntu-1404
|
|
17
|
+
driver:
|
|
18
|
+
image_id: ami-8e0b9499
|
|
19
|
+
transport:
|
|
20
|
+
ssh_key: <%= ENV["EC2_SSH_KEY_PATH"] %>
|
|
21
|
+
|
|
22
|
+
suites:
|
|
23
|
+
- name: default
|
|
24
|
+
run_list:
|
|
25
|
+
- recipe[mock_data]
|
|
26
|
+
- recipe[chef_server]
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
driver:
|
|
3
|
+
name: vagrant
|
|
4
|
+
customize:
|
|
5
|
+
memory: 4096
|
|
6
|
+
cpus: 4
|
|
7
|
+
|
|
8
|
+
provisioner:
|
|
9
|
+
name: chef_zero
|
|
10
|
+
|
|
11
|
+
verifier:
|
|
12
|
+
name: inspec
|
|
13
|
+
|
|
14
|
+
platforms:
|
|
15
|
+
- name: ubuntu-14.04
|
|
16
|
+
|
|
17
|
+
suites:
|
|
18
|
+
- name: default
|
|
19
|
+
run_list:
|
|
20
|
+
- recipe[apt]
|
|
21
|
+
- recipe[mock_data]
|
|
22
|
+
- recipe[chef_server]
|
|
23
|
+
attributes:
|
|
24
|
+
demo:
|
|
25
|
+
admin-user: 'vagrant'
|