fhcap-cli 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +10 -0
- data/.rakeTasks +7 -0
- data/.rspec +1 -0
- data/CHANGELOG.md +15 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +150 -0
- data/Rakefile +2 -0
- data/bin/fhcap +6 -0
- data/fhcap-cli.gemspec +44 -0
- data/lib/cookbooks/provision/libraries/provision.rb +140 -0
- data/lib/cookbooks/provision/metadata.rb +7 -0
- data/lib/cookbooks/provision/recipes/aws.rb +15 -0
- data/lib/cookbooks/provision/recipes/aws_cluster_create.rb +59 -0
- data/lib/cookbooks/provision/recipes/aws_cluster_create_elb.rb +61 -0
- data/lib/cookbooks/provision/recipes/aws_cluster_destroy.rb +52 -0
- data/lib/cookbooks/provision/recipes/cluster_create.rb +2 -0
- data/lib/cookbooks/provision/recipes/cluster_destroy.rb +2 -0
- data/lib/cookbooks/provision/recipes/cluster_destroy_instances.rb +11 -0
- data/lib/cookbooks/provision/recipes/cluster_provision.rb +4 -0
- data/lib/cookbooks/provision/recipes/cluster_provision_instances.rb +55 -0
- data/lib/cookbooks/provision/recipes/cluster_status.rb +24 -0
- data/lib/cookbooks/provision/recipes/common.rb +9 -0
- data/lib/cookbooks/provision/recipes/default.rb +5 -0
- data/lib/cookbooks/provision/recipes/openstack.rb +11 -0
- data/lib/cookbooks/provision/recipes/openstack_cluster_create.rb +11 -0
- data/lib/cookbooks/provision/recipes/openstack_cluster_destroy.rb +4 -0
- data/lib/cookbooks/provision/recipes/reset_rabbitmq.rb +49 -0
- data/lib/cookbooks/provision/recipes/restart_services.rb +24 -0
- data/lib/extensions/chef/provisioning.rb +21 -0
- data/lib/extensions/chef/provisioning/aws_driver/driver.rb +46 -0
- data/lib/extensions/chef/provisioning/chef_run_data.rb +18 -0
- data/lib/extensions/cheffish/merged_config.rb +9 -0
- data/lib/fhcap.rb +14 -0
- data/lib/fhcap/chef-dk/chef_runner.rb +94 -0
- data/lib/fhcap/cli.rb +75 -0
- data/lib/fhcap/cluster.rb +112 -0
- data/lib/fhcap/config.rb +104 -0
- data/lib/fhcap/cookbook.rb +75 -0
- data/lib/fhcap/dummy_node.rb +80 -0
- data/lib/fhcap/fhcap_helper.rb +9 -0
- data/lib/fhcap/kitchen.rb +235 -0
- data/lib/fhcap/knife.rb +74 -0
- data/lib/fhcap/knife_helper.rb +38 -0
- data/lib/fhcap/misc.rb +103 -0
- data/lib/fhcap/provider.rb +41 -0
- data/lib/fhcap/providers_helper.rb +60 -0
- data/lib/fhcap/repo.rb +52 -0
- data/lib/fhcap/repos_helper.rb +217 -0
- data/lib/fhcap/tasks/chef/chef_task_base.rb +82 -0
- data/lib/fhcap/tasks/chef/cookbook/list.rb +37 -0
- data/lib/fhcap/tasks/chef/cookbook/update_changelog.rb +63 -0
- data/lib/fhcap/tasks/chef/cookbook/update_metadata.rb +57 -0
- data/lib/fhcap/tasks/chef/cookbook/update_readme.rb +30 -0
- data/lib/fhcap/tasks/chef/cookbook/update_version.rb +90 -0
- data/lib/fhcap/tasks/chef/environments/create.rb +115 -0
- data/lib/fhcap/tasks/chef/environments/destroy.rb +37 -0
- data/lib/fhcap/tasks/chef/environments/promote_cookbooks.rb +47 -0
- data/lib/fhcap/tasks/chef/provisioning/chef_provisioning_task.rb +27 -0
- data/lib/fhcap/tasks/chef/provisioning/chef_provisioning_task_base.rb +38 -0
- data/lib/fhcap/tasks/chef/provisioning/create.rb +22 -0
- data/lib/fhcap/tasks/chef/provisioning/destroy.rb +21 -0
- data/lib/fhcap/tasks/chef/provisioning/provision.rb +19 -0
- data/lib/fhcap/tasks/chef/server/bootstrap.rb +165 -0
- data/lib/fhcap/tasks/chef/server/create_user.rb +97 -0
- data/lib/fhcap/tasks/chef/server/info.rb +82 -0
- data/lib/fhcap/tasks/chef/server/provision.rb +45 -0
- data/lib/fhcap/tasks/clean.rb +34 -0
- data/lib/fhcap/tasks/cluster/cluster_task_base.rb +57 -0
- data/lib/fhcap/tasks/cluster/create.rb +243 -0
- data/lib/fhcap/tasks/cluster/create_environment.rb +171 -0
- data/lib/fhcap/tasks/cluster/destroy.rb +30 -0
- data/lib/fhcap/tasks/cluster/destroy_environment.rb +28 -0
- data/lib/fhcap/tasks/cluster/info.rb +67 -0
- data/lib/fhcap/tasks/cluster/list.rb +40 -0
- data/lib/fhcap/tasks/cluster/provision.rb +46 -0
- data/lib/fhcap/tasks/cluster/status.rb +17 -0
- data/lib/fhcap/tasks/cluster/test.rb +15 -0
- data/lib/fhcap/tasks/knife/add.rb +111 -0
- data/lib/fhcap/tasks/knife/list.rb +22 -0
- data/lib/fhcap/tasks/knife/remove.rb +39 -0
- data/lib/fhcap/tasks/misc/create_dns_record.rb +100 -0
- data/lib/fhcap/tasks/misc/create_ssl_cert.rb +82 -0
- data/lib/fhcap/tasks/provider/add.rb +136 -0
- data/lib/fhcap/tasks/provider/list.rb +31 -0
- data/lib/fhcap/tasks/provider/remove.rb +28 -0
- data/lib/fhcap/tasks/repo/add.rb +57 -0
- data/lib/fhcap/tasks/repo/checkout.rb +144 -0
- data/lib/fhcap/tasks/repo/list.rb +22 -0
- data/lib/fhcap/tasks/repo/remove.rb +34 -0
- data/lib/fhcap/tasks/setup.rb +59 -0
- data/lib/fhcap/tasks/task_base.rb +89 -0
- data/lib/fhcap/thor_base.rb +121 -0
- data/lib/fhcap/version.rb +3 -0
- data/spec/fhcap/cli_spec.rb +6 -0
- data/spec/fhcap/tasks/cluster/create_spec.rb +46 -0
- data/spec/fhcap/tasks/knife/add_spec.rb +35 -0
- data/spec/fhcap/tasks/knife/remove_spec.rb +25 -0
- data/spec/fhcap/tasks/provider/add_spec.rb +61 -0
- data/spec/fhcap/tasks/provider/remove_spec.rb +25 -0
- data/spec/fhcap/tasks/repo/add_spec.rb +32 -0
- data/spec/fhcap/tasks/repo/remove_spec.rb +25 -0
- data/spec/fhcap/tasks/task_base_spec.rb +51 -0
- data/spec/fhcap/thor_base_spec.rb +9 -0
- data/spec/spec_helper.rb +23 -0
- data/spec/support/dummy_config.rb +7 -0
- data/spec/support/dummy_thor.rb +3 -0
- data/templates/chef/cookbook/changelog.md.erb +12 -0
- data/templates/chef/cookbook/metadata.erb +45 -0
- data/templates/chef/environment_core.json.erb +278 -0
- data/templates/chef/environment_empty.json.erb +10 -0
- data/templates/chef/environment_mbaas.json.erb +120 -0
- data/templates/chef/environment_single.json.erb +300 -0
- data/templates/cluster/aws/common.json.erb +43 -0
- data/templates/cluster/aws/core-3node.json.erb +106 -0
- data/templates/cluster/aws/core-small-9node.json.erb +333 -0
- data/templates/cluster/aws/mbaas-3node.json.erb +116 -0
- data/templates/cluster/aws/nginx-test.json.erb +93 -0
- data/templates/cluster/aws/single-blank.json.erb +41 -0
- data/templates/cluster/aws/single.json.erb +88 -0
- data/templates/cluster/core-3node.json.erb +8 -0
- data/templates/cluster/core-mbaas-6node.json.erb +13 -0
- data/templates/cluster/core-small-9node.json.erb +8 -0
- data/templates/cluster/mbaas-3node.json.erb +9 -0
- data/templates/cluster/nginx-test.json.erb +8 -0
- data/templates/cluster/openstack/common.json.erb +7 -0
- data/templates/cluster/openstack/core-3node.json.erb +14 -0
- data/templates/cluster/openstack/core-small-9node.json.erb +32 -0
- data/templates/cluster/openstack/mbaas-3node.json.erb +14 -0
- data/templates/cluster/openstack/nginx-test.json.erb +11 -0
- data/templates/cluster/openstack/single-blank.json.erb +10 -0
- data/templates/cluster/openstack/single.json.erb +10 -0
- data/templates/cluster/single-blank.json.erb +8 -0
- data/templates/cluster/single.json.erb +8 -0
- data/templates/init/knife.rb.erb +13 -0
- data/templates/kitchen/Cheffile.erb +11 -0
- data/templates/kitchen/kitchen.aws.yml.erb +35 -0
- data/templates/kitchen/kitchen.docker.yml.erb +24 -0
- data/templates/kitchen/kitchen.generate.yml.erb +2 -0
- data/templates/kitchen/kitchen.openstack.yml.erb +31 -0
- metadata +506 -0
@@ -0,0 +1,93 @@
|
|
1
|
+
{
|
2
|
+
"domain": "<%= config[:domain] %>",
|
3
|
+
"subnets": {
|
4
|
+
"1a": {
|
5
|
+
"cidr": "64/26",
|
6
|
+
"availability_zone": "1a"
|
7
|
+
},
|
8
|
+
"1b": {
|
9
|
+
"cidr": "128/26",
|
10
|
+
"availability_zone": "1b"
|
11
|
+
}
|
12
|
+
},
|
13
|
+
"security_groups": {
|
14
|
+
"<%= config[:environment_name] %>-studio-lb": {
|
15
|
+
"authorize_ingress": [
|
16
|
+
{
|
17
|
+
"protocols": ["tcp"],
|
18
|
+
"start": 80,
|
19
|
+
"end": 80,
|
20
|
+
"sources": ["0.0.0.0/0"]
|
21
|
+
},
|
22
|
+
{
|
23
|
+
"protocols": ["tcp"],
|
24
|
+
"start": 443,
|
25
|
+
"end": 443,
|
26
|
+
"sources": ["0.0.0.0/0"]
|
27
|
+
}
|
28
|
+
]
|
29
|
+
},
|
30
|
+
"<%= config[:environment_name] %>": {
|
31
|
+
"authorize_ingress": [
|
32
|
+
{
|
33
|
+
"protocols": ["all"],
|
34
|
+
"start": 0,
|
35
|
+
"end": 65535,
|
36
|
+
"groups": ["<%= config[:environment_name] %>", "<%= config[:environment_name] %>-studio-lb"]
|
37
|
+
}
|
38
|
+
]
|
39
|
+
},
|
40
|
+
"<%= config[:environment_name] %>-git": {
|
41
|
+
"authorize_ingress": [
|
42
|
+
{
|
43
|
+
"protocols": ["tcp"],
|
44
|
+
"start": 22,
|
45
|
+
"end": 22,
|
46
|
+
"sources": ["0.0.0.0/0"]
|
47
|
+
}
|
48
|
+
]
|
49
|
+
}
|
50
|
+
},
|
51
|
+
"load_balancers": {
|
52
|
+
"studio": {
|
53
|
+
"security_groups": ["<%= config[:environment_name] %>-studio-lb"],
|
54
|
+
"subnets": ["1a", "1b"],
|
55
|
+
"scheme": "internet-facing",
|
56
|
+
"listeners": [
|
57
|
+
{
|
58
|
+
"port": 80,
|
59
|
+
"protocol": "http",
|
60
|
+
"instance_port": 80,
|
61
|
+
"instance_protocol": "http"
|
62
|
+
},
|
63
|
+
{
|
64
|
+
"port": 443,
|
65
|
+
"protocol": "https",
|
66
|
+
"instance_port": 80,
|
67
|
+
"instance_protocol": "http",
|
68
|
+
"server_certificate": ""
|
69
|
+
}
|
70
|
+
]
|
71
|
+
}
|
72
|
+
},
|
73
|
+
"instances": {
|
74
|
+
"node1": {
|
75
|
+
"aws": {
|
76
|
+
"security_groups": ["ops-admin", "<%= config[:environment_name] %>", "<%= config[:environment_name] %>-git"],
|
77
|
+
"private_ip_address": "",
|
78
|
+
"subnet": "1a"
|
79
|
+
},
|
80
|
+
"load_balancers": ["studio"],
|
81
|
+
"run_list": ["recipe[nginx_feedhenry::default]"]
|
82
|
+
},
|
83
|
+
"node2": {
|
84
|
+
"aws": {
|
85
|
+
"security_groups": ["ops-admin", "<%= config[:environment_name] %>", "<%= config[:environment_name] %>-git"],
|
86
|
+
"private_ip_address": "",
|
87
|
+
"subnet": "1b"
|
88
|
+
},
|
89
|
+
"load_balancers": ["studio"],
|
90
|
+
"run_list": ["recipe[nginx_feedhenry::default]"]
|
91
|
+
}
|
92
|
+
}
|
93
|
+
}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
{
|
2
|
+
"domain": "<%= config[:domain] %>",
|
3
|
+
"subnets": {
|
4
|
+
"1a": {
|
5
|
+
"cidr": "0/26",
|
6
|
+
"availability_zone": "1a"
|
7
|
+
}
|
8
|
+
},
|
9
|
+
"security_groups": {
|
10
|
+
"<%= config[:environment_name] %>": {
|
11
|
+
"authorize_ingress": [
|
12
|
+
{
|
13
|
+
"protocols": ["all"],
|
14
|
+
"start": 0,
|
15
|
+
"end": 65535,
|
16
|
+
"groups": ["<%= config[:environment_name] %>"]
|
17
|
+
}
|
18
|
+
]
|
19
|
+
},
|
20
|
+
"<%= config[:environment_name] %>-ssh": {
|
21
|
+
"authorize_ingress": [
|
22
|
+
{
|
23
|
+
"protocols": ["tcp"],
|
24
|
+
"start": 22,
|
25
|
+
"end": 22,
|
26
|
+
"sources": ["0.0.0.0/0"]
|
27
|
+
}
|
28
|
+
]
|
29
|
+
}
|
30
|
+
},
|
31
|
+
"instances": {
|
32
|
+
"node1": {
|
33
|
+
"aws": {
|
34
|
+
"security_groups": ["ops-admin", "<%= config[:environment_name] %>", "<%= config[:environment_name] %>-ssh"],
|
35
|
+
"private_ip_address": "",
|
36
|
+
"subnet": "1a"
|
37
|
+
},
|
38
|
+
"run_list": ["recipe[apt::default]"]
|
39
|
+
}
|
40
|
+
}
|
41
|
+
}
|
@@ -0,0 +1,88 @@
|
|
1
|
+
{
|
2
|
+
"domain": "<%= config[:domain] %>",
|
3
|
+
"subnets": {
|
4
|
+
"1a": {
|
5
|
+
"cidr": "64/26",
|
6
|
+
"availability_zone": "1a"
|
7
|
+
},
|
8
|
+
"1b": {
|
9
|
+
"cidr": "128/26",
|
10
|
+
"availability_zone": "1b"
|
11
|
+
},
|
12
|
+
"1c": {
|
13
|
+
"cidr": "192/26",
|
14
|
+
"availability_zone": "1c"
|
15
|
+
}
|
16
|
+
},
|
17
|
+
"security_groups": {
|
18
|
+
"<%= config[:environment_name] %>-studio-lb": {
|
19
|
+
"authorize_ingress": [
|
20
|
+
{
|
21
|
+
"protocols": ["tcp"],
|
22
|
+
"start": 80,
|
23
|
+
"end": 80,
|
24
|
+
"sources": ["0.0.0.0/0"]
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"protocols": ["tcp"],
|
28
|
+
"start": 443,
|
29
|
+
"end": 443,
|
30
|
+
"sources": ["0.0.0.0/0"]
|
31
|
+
}
|
32
|
+
]
|
33
|
+
},
|
34
|
+
"<%= config[:environment_name] %>": {
|
35
|
+
"authorize_ingress": [
|
36
|
+
{
|
37
|
+
"protocols": ["all"],
|
38
|
+
"start": 0,
|
39
|
+
"end": 65535,
|
40
|
+
"groups": ["<%= config[:environment_name] %>", "<%= config[:environment_name] %>-studio-lb"]
|
41
|
+
}
|
42
|
+
]
|
43
|
+
},
|
44
|
+
"<%= config[:environment_name] %>-git": {
|
45
|
+
"authorize_ingress": [
|
46
|
+
{
|
47
|
+
"protocols": ["tcp"],
|
48
|
+
"start": 22,
|
49
|
+
"end": 22,
|
50
|
+
"sources": ["0.0.0.0/0"]
|
51
|
+
}
|
52
|
+
]
|
53
|
+
}
|
54
|
+
},
|
55
|
+
"load_balancers": {
|
56
|
+
"studio": {
|
57
|
+
"security_groups": ["<%= config[:environment_name] %>-studio-lb"],
|
58
|
+
"subnets": ["1a", "1b"],
|
59
|
+
"scheme": "internet-facing",
|
60
|
+
"listeners": [
|
61
|
+
{
|
62
|
+
"port": 80,
|
63
|
+
"protocol": "http",
|
64
|
+
"instance_port": 80,
|
65
|
+
"instance_protocol": "http"
|
66
|
+
},
|
67
|
+
{
|
68
|
+
"port": 443,
|
69
|
+
"protocol": "https",
|
70
|
+
"instance_port": 80,
|
71
|
+
"instance_protocol": "http",
|
72
|
+
"server_certificate": ""
|
73
|
+
}
|
74
|
+
]
|
75
|
+
}
|
76
|
+
},
|
77
|
+
"instances": {
|
78
|
+
"node1": {
|
79
|
+
"aws": {
|
80
|
+
"security_groups": ["ops-admin", "<%= config[:environment_name] %>", "<%= config[:environment_name] %>-git"],
|
81
|
+
"private_ip_address": "",
|
82
|
+
"subnet": "1a"
|
83
|
+
},
|
84
|
+
"load_balancers": ["studio"],
|
85
|
+
"run_list": ["role[fhcap]"]
|
86
|
+
}
|
87
|
+
}
|
88
|
+
}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{
|
2
|
+
"default_instance_options": {
|
3
|
+
"image_ref": "<%= config[:default_instance_options][:image_ref] %>",
|
4
|
+
"flavor_ref": "<%= config[:default_instance_options][:flavor_ref] %>",
|
5
|
+
"floating_ip_pool": "<%= config[:default_instance_options][:floating_ip_pool] %>"
|
6
|
+
}
|
7
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
{
|
2
|
+
"domain": "<%= config[:domain] %>",
|
3
|
+
"instances": {
|
4
|
+
"node1": {
|
5
|
+
"run_list": ["role[platform_mongo_server]", "role[rabbitmq_server]", "role[app_server]", "role[fh-scm]", "role[fh-messaging]", "role[fh-metrics]", "role[fh-stats]", "recipe[feedhenry_common::fhctl]"]
|
6
|
+
},
|
7
|
+
"node2": {
|
8
|
+
"run_list": ["role[platform_mongo_server]", "role[rabbitmq_server]", "role[app_server]", "role[fh-scm]", "role[fh-messaging]", "role[fh-metrics]", "recipe[feedhenry_common::fhctl]"]
|
9
|
+
},
|
10
|
+
"mgt1": {
|
11
|
+
"run_list": ["role[platform_mongo_server]", "role[mysql_server]", "role[gitlab-shell_server]", "role[management_server]", "recipe[feedhenry_common::fhctl]", "recipe[nginx_feedhenry::load_balancer]"]
|
12
|
+
}
|
13
|
+
}
|
14
|
+
}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
{
|
2
|
+
"domain": "<%= config[:domain] %>",
|
3
|
+
"instances": {
|
4
|
+
"app1": {
|
5
|
+
"run_list": ["role[app_server]"]
|
6
|
+
},
|
7
|
+
"app2": {
|
8
|
+
"run_list": ["role[app_server]"]
|
9
|
+
},
|
10
|
+
"mgt1": {
|
11
|
+
"run_list": ["role[platform_mongo_server]", "role[galera_backup_server]", "role[galera_arbiter_server]", "role[management_server]", "role[mount_data_volumes]", "role[mongo_backup_server]", "recipe[nginx_feedhenry::load_balancer]"]
|
12
|
+
},
|
13
|
+
"db1": {
|
14
|
+
"run_list": ["role[galera_server]", "role[platform_mongo_server]", "role[rabbitmq_server]"]
|
15
|
+
},
|
16
|
+
"db2": {
|
17
|
+
"run_list": ["role[galera_server]", "role[platform_mongo_server]", "role[rabbitmq_server]"]
|
18
|
+
},
|
19
|
+
"util1": {
|
20
|
+
"run_list": ["role[fh-scm]", "role[fh-messaging]", "role[fh-metrics]", "role[fh-docs]", "role[fh-stats]"]
|
21
|
+
},
|
22
|
+
"util2": {
|
23
|
+
"run_list": ["role[fh-scm]", "role[fh-messaging]", "role[fh-metrics]", "role[fh-stats]"]
|
24
|
+
},
|
25
|
+
"git1": {
|
26
|
+
"run_list": ["role[gitlab_shell_server"]
|
27
|
+
},
|
28
|
+
"git2": {
|
29
|
+
"run_list": ["role[gitlab_shell_server"]
|
30
|
+
}
|
31
|
+
}
|
32
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
{
|
2
|
+
"domain": "<%= config[:domain] %>",
|
3
|
+
"instances": {
|
4
|
+
"ship1": {
|
5
|
+
"run_list": ["role[mongo_server]", "role[dyno_server]", "role[fh-ditch]", "recipe[feedhenry_common::fhctl]"]
|
6
|
+
},
|
7
|
+
"ship2": {
|
8
|
+
"run_list": ["role[mongo_server]", "role[dyno_server]", "role[fh-ditch]", "recipe[feedhenry_common::fhctl]"]
|
9
|
+
},
|
10
|
+
"mgt1": {
|
11
|
+
"run_list": ["role[platform_mongo_server]", "role[mongo_server]", "role[fh-stats]", "role[management_server]"]
|
12
|
+
}
|
13
|
+
}
|
14
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
current_dir = File.dirname(__FILE__)
|
2
|
+
ssl_verify_mode :verify_none
|
3
|
+
log_level :error
|
4
|
+
log_location STDOUT
|
5
|
+
node_name "<%= config[:node_name] %>"
|
6
|
+
client_key "#{current_dir}/<%= config[:name] %>/<%= config[:node_name] %>.pem"
|
7
|
+
validation_client_name "<%= config[:validation_client_name] %>"
|
8
|
+
validation_key "#{current_dir}/<%= config[:name] %>/<%= config[:validation_client_name] %>.pem"
|
9
|
+
chef_server_url "<%= config[:chef_server_url] %>"
|
10
|
+
syntax_check_cache_path "#{current_dir}/syntax_check_cache"
|
11
|
+
cache_type 'BasicFile'
|
12
|
+
cache_options( :path => "#{ENV['HOME']}/.chef/checksums" )
|
13
|
+
cookbook_path <%= config[:cookbook_path] %>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#^syntax detection
|
3
|
+
|
4
|
+
#Managed by Chef, DO NOT EDIT MANUALLY.
|
5
|
+
# To update run: bundle exec thor cookbook generate_kitchen -c <%= config[:name] %>
|
6
|
+
|
7
|
+
site 'http://community.opscode.com/api/v1'
|
8
|
+
|
9
|
+
<%- config[:cookbooks].each do |name, path| -%>
|
10
|
+
cookbook '<%= name %>', path: '<%= path %>'
|
11
|
+
<%- end -%>
|
@@ -0,0 +1,35 @@
|
|
1
|
+
---
|
2
|
+
driver_config:
|
3
|
+
aws_access_key_id: <%= ENV['AWS_ACCESS_KEY_ID'] %>
|
4
|
+
aws_secret_access_key: <%= ENV['AWS_SECRET_ACCESS_KEY'] %>
|
5
|
+
aws_ssh_key_id: <%= ENV['AWS_KEYPAIR_NAME'] %>
|
6
|
+
ssh_key: <%= ENV['EC2_SSH_KEY_PATH'] %>
|
7
|
+
security_group_ids:
|
8
|
+
- fhcap-test
|
9
|
+
tags:
|
10
|
+
Name: test-kitchen <%= Socket.gethostname %> (<%= Etc.getlogin %>)
|
11
|
+
OriginHostname: <%= Socket.gethostname %>
|
12
|
+
OriginUsername: <%= Etc.getlogin %>
|
13
|
+
OriginGitBranch: <%= `git name-rev --name-only HEAD` %>
|
14
|
+
|
15
|
+
provisioner:
|
16
|
+
name: chef_solo
|
17
|
+
data_bags_path: '../../data_bags'
|
18
|
+
environments_path: '../../environments'
|
19
|
+
client_rb:
|
20
|
+
environment: 'test-kitchen'
|
21
|
+
solo_rb:
|
22
|
+
environment: 'test-kitchen'
|
23
|
+
file_cache_path: /var/chef/cache
|
24
|
+
roles_path: '../../roles'
|
25
|
+
require_chef_omnibus: '11.10.4'
|
26
|
+
|
27
|
+
platforms:
|
28
|
+
- name: ubuntu-12.04
|
29
|
+
driver_plugin: ec2
|
30
|
+
driver_config:
|
31
|
+
flavor_id: <%= ENV['EC2_FLAVOR_ID'] || 'm1.small' %>
|
32
|
+
image_id: <%= ENV['EC2_IMAGE_ID'] || 'ami-92cc89e5' %>
|
33
|
+
availability_zone: <%= ENV['EC2_AVAILABILITY_ZONE'] || 'eu-west-1a' %>
|
34
|
+
region: <%= ENV['EC2_REGION'] || 'eu-west-1' %>
|
35
|
+
username: ubuntu
|