fhcap-cli 0.4.9 → 0.4.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/Dockerfile +37 -0
  4. data/entrypoint.sh +11 -0
  5. data/fhcap-cli.gemspec +9 -4
  6. data/lib/cookbooks/provision/libraries/provision.rb +16 -2
  7. data/lib/cookbooks/provision/recipes/ssh.rb +25 -0
  8. data/lib/cookbooks/provision/recipes/ssh_cluster_create.rb +4 -0
  9. data/lib/cookbooks/provision/recipes/ssh_cluster_destroy.rb +4 -0
  10. data/lib/extensions/thor/actions.rb +33 -0
  11. data/lib/fhcap.rb +2 -2
  12. data/lib/fhcap/dns.rb +3 -3
  13. data/lib/fhcap/kitchen.rb +65 -16
  14. data/lib/fhcap/knife_helper.rb +1 -2
  15. data/lib/fhcap/providers_helper.rb +1 -0
  16. data/lib/fhcap/repos_helper.rb +1 -1
  17. data/lib/fhcap/tasks/chef/cookbook/update_config.rb +0 -1
  18. data/lib/fhcap/tasks/dns/aws/create_record.rb +81 -0
  19. data/lib/fhcap/tasks/dns/aws/delete_record.rb +57 -0
  20. data/lib/fhcap/tasks/dns/aws/list_records.rb +34 -0
  21. data/lib/fhcap/tasks/dns/{route53_helper.rb → aws/route53_helper.rb} +1 -1
  22. data/lib/fhcap/tasks/dns/create_record.rb +5 -67
  23. data/lib/fhcap/tasks/dns/delete_record.rb +5 -43
  24. data/lib/fhcap/tasks/dns/list_records.rb +25 -0
  25. data/lib/fhcap/thor_base.rb +5 -0
  26. data/lib/fhcap/version.rb +1 -1
  27. data/spec/fhcap/tasks/dns/{create_record_spec.rb → aws/create_record_spec.rb} +4 -4
  28. data/spec/fhcap/tasks/dns/{delete_record_spec.rb → aws/delete_record_spec.rb} +4 -4
  29. data/templates/chef/environment_mbaas.json.erb +32 -2
  30. data/templates/chef/environment_single.json.erb +8 -0
  31. data/templates/cluster/aws/farm-5node.json.erb +245 -0
  32. data/templates/cluster/farm-5node.json.erb +8 -0
  33. data/templates/cluster/openstack/farm-5node.json.erb +20 -0
  34. data/templates/kitchen/Dockerfile-rhel +23 -0
  35. data/templates/kitchen/Vagrantfile-osx.rb +10 -0
  36. data/templates/kitchen/docker_id_rsa +27 -0
  37. data/templates/kitchen/docker_id_rsa.pub +1 -0
  38. data/templates/kitchen/kitchen.aws.yml.erb +37 -14
  39. data/templates/kitchen/kitchen.docker.yml.erb +34 -1
  40. data/templates/kitchen/kitchen.vagrant.yml.erb +39 -3
  41. metadata +86 -14
  42. data/lib/fhcap/tasks/dns/list.rb +0 -37
@@ -25,13 +25,49 @@ platforms:
25
25
  driver:
26
26
  box: opscode-ubuntu-12.04
27
27
  box_url: https://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_ubuntu-12.04_chef-provisionerless.box
28
- - name: rhel-7.2
29
28
  provisioner:
30
- require_chef_omnibus: 12.6.0
29
+ require_chef_omnibus: 11.10.4
30
+ - name: centos-6.5
31
+ driver:
32
+ box: opscode-centos-6.5
33
+ box_url: https://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_centos-6.5_chef-provisionerless.box
34
+ provisioner:
35
+ require_chef_omnibus: 11.10.4
36
+ busser:
37
+ sudo: true
38
+ - name: centos-7
39
+ driver:
40
+ box: opscode-centos-7.2
41
+ box_url: https://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_centos-7.2_chef-provisionerless.box
42
+ provisioner:
43
+ require_chef_omnibus: 12.15.19
44
+ busser:
45
+ sudo: true
46
+ - name: rhel-7.2
31
47
  driver:
32
48
  box: rhel72x64
33
49
  box_url: https://s3-eu-west-1.amazonaws.com/fhcap/rhel-7.2-2.2.20160118110004.git.ccbedc890e18519da4d3c68a265c5e9bc962ff2d_dirty.virtualbox.box
50
+ provisioner:
51
+ require_chef_omnibus: 12.15.19
52
+ busser:
53
+ sudo: true
34
54
  attributes:
35
55
  rhsm:
36
56
  username: <%= ENV['RHSM_USERNAME'] %>
37
- password: <%= ENV['RHSM_PASSWORD'] %>
57
+ password: <%= ENV['RHSM_PASSWORD'] %>
58
+ - name: macosx-10.10
59
+ driver:
60
+ box: macosx-10.10
61
+ box_url: https://fh-bento.s3-eu-west-1.amazonaws.com/macosx-10.10.virtualbox.box?AWSAccessKeyId=AKIAJF6RUJU3QEBF7HYA&Expires=1510850416&Signature=3sNahrw05PBgsIG%2F5P5BC4rt7VA%3D
62
+ vagrantfiles:
63
+ - Vagrantfile-osx.rb
64
+ provisioner:
65
+ require_chef_omnibus: 12.15.19
66
+ - name: macosx-10.12
67
+ driver:
68
+ box: macosx-10.12
69
+ box_url: https://fh-bento.s3-eu-west-1.amazonaws.com/fhcap-base-macosx-1012_build-essential.box?AWSAccessKeyId=AKIAJF6RUJU3QEBF7HYA&Expires=1510751892&Signature=tl73F9fQV8QgheIxVVBFgirWBLc%3D
70
+ vagrantfiles:
71
+ - Vagrantfile-osx.rb
72
+ provisioner:
73
+ require_chef_omnibus: 12.15.19
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fhcap-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.9
4
+ version: 0.4.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Nairn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-10-05 00:00:00.000000000 Z
11
+ date: 2017-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: nokogiri
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 1.6.8.1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 1.6.8.1
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: thor
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -192,6 +206,34 @@ dependencies:
192
206
  - - '='
193
207
  - !ruby/object:Gem::Version
194
208
  version: 2.1.35
209
+ - !ruby/object:Gem::Dependency
210
+ name: ffi-yajl
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - '='
214
+ - !ruby/object:Gem::Version
215
+ version: 2.2.3
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - '='
221
+ - !ruby/object:Gem::Version
222
+ version: 2.2.3
223
+ - !ruby/object:Gem::Dependency
224
+ name: rack
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - '='
228
+ - !ruby/object:Gem::Version
229
+ version: 1.6.4
230
+ type: :runtime
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - '='
235
+ - !ruby/object:Gem::Version
236
+ version: 1.6.4
195
237
  - !ruby/object:Gem::Dependency
196
238
  name: chef
197
239
  requirement: !ruby/object:Gem::Requirement
@@ -262,6 +304,20 @@ dependencies:
262
304
  - - '='
263
305
  - !ruby/object:Gem::Version
264
306
  version: 0.15.0
307
+ - !ruby/object:Gem::Dependency
308
+ name: chef-provisioning-ssh
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - '='
312
+ - !ruby/object:Gem::Version
313
+ version: 0.0.9
314
+ type: :runtime
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - '='
319
+ - !ruby/object:Gem::Version
320
+ version: 0.0.9
265
321
  - !ruby/object:Gem::Dependency
266
322
  name: test-kitchen
267
323
  requirement: !ruby/object:Gem::Requirement
@@ -296,42 +352,42 @@ dependencies:
296
352
  requirements:
297
353
  - - '='
298
354
  - !ruby/object:Gem::Version
299
- version: 0.14.0
355
+ version: 0.16.0
300
356
  type: :runtime
301
357
  prerelease: false
302
358
  version_requirements: !ruby/object:Gem::Requirement
303
359
  requirements:
304
360
  - - '='
305
361
  - !ruby/object:Gem::Version
306
- version: 0.14.0
362
+ version: 0.16.0
307
363
  - !ruby/object:Gem::Dependency
308
364
  name: kitchen-ec2
309
365
  requirement: !ruby/object:Gem::Requirement
310
366
  requirements:
311
367
  - - '='
312
368
  - !ruby/object:Gem::Version
313
- version: 0.8.0
369
+ version: 1.2.0
314
370
  type: :runtime
315
371
  prerelease: false
316
372
  version_requirements: !ruby/object:Gem::Requirement
317
373
  requirements:
318
374
  - - '='
319
375
  - !ruby/object:Gem::Version
320
- version: 0.8.0
376
+ version: 1.2.0
321
377
  - !ruby/object:Gem::Dependency
322
378
  name: kitchen-docker
323
379
  requirement: !ruby/object:Gem::Requirement
324
380
  requirements:
325
381
  - - '='
326
382
  - !ruby/object:Gem::Version
327
- version: 2.1.0
383
+ version: 2.6.0
328
384
  type: :runtime
329
385
  prerelease: false
330
386
  version_requirements: !ruby/object:Gem::Requirement
331
387
  requirements:
332
388
  - - '='
333
389
  - !ruby/object:Gem::Version
334
- version: 2.1.0
390
+ version: 2.6.0
335
391
  - !ruby/object:Gem::Dependency
336
392
  name: kitchen-openstack
337
393
  requirement: !ruby/object:Gem::Requirement
@@ -386,11 +442,13 @@ files:
386
442
  - .rakeTasks
387
443
  - .rspec
388
444
  - CHANGELOG.md
445
+ - Dockerfile
389
446
  - Gemfile
390
447
  - LICENSE.txt
391
448
  - README.md
392
449
  - Rakefile
393
450
  - bin/fhcap
451
+ - entrypoint.sh
394
452
  - fhcap-cli.gemspec
395
453
  - lib/cookbooks/provision/libraries/provision.rb
396
454
  - lib/cookbooks/provision/metadata.rb
@@ -422,6 +480,9 @@ files:
422
480
  - lib/cookbooks/provision/recipes/rabbitmq_reset_cluster.rb
423
481
  - lib/cookbooks/provision/recipes/restart_services.rb
424
482
  - lib/cookbooks/provision/recipes/seed_cookbooks.rb
483
+ - lib/cookbooks/provision/recipes/ssh.rb
484
+ - lib/cookbooks/provision/recipes/ssh_cluster_create.rb
485
+ - lib/cookbooks/provision/recipes/ssh_cluster_destroy.rb
425
486
  - lib/extensions/chef/provisioning.rb
426
487
  - lib/extensions/chef/provisioning/aws_driver/driver.rb
427
488
  - lib/extensions/chef/provisioning/chef_run_data.rb
@@ -429,6 +490,7 @@ files:
429
490
  - lib/extensions/chef/resource/aws_instance.rb
430
491
  - lib/extensions/chef/solr/query/regexpable_query.rb
431
492
  - lib/extensions/cheffish/merged_config.rb
493
+ - lib/extensions/thor/actions.rb
432
494
  - lib/fhcap.rb
433
495
  - lib/fhcap/chef-dk/chef_runner.rb
434
496
  - lib/fhcap/cli.rb
@@ -488,10 +550,13 @@ files:
488
550
  - lib/fhcap/tasks/cluster/provision.rb
489
551
  - lib/fhcap/tasks/cluster/status.rb
490
552
  - lib/fhcap/tasks/cluster/test.rb
553
+ - lib/fhcap/tasks/dns/aws/create_record.rb
554
+ - lib/fhcap/tasks/dns/aws/delete_record.rb
555
+ - lib/fhcap/tasks/dns/aws/list_records.rb
556
+ - lib/fhcap/tasks/dns/aws/route53_helper.rb
491
557
  - lib/fhcap/tasks/dns/create_record.rb
492
558
  - lib/fhcap/tasks/dns/delete_record.rb
493
- - lib/fhcap/tasks/dns/list.rb
494
- - lib/fhcap/tasks/dns/route53_helper.rb
559
+ - lib/fhcap/tasks/dns/list_records.rb
495
560
  - lib/fhcap/tasks/knife/add.rb
496
561
  - lib/fhcap/tasks/knife/list.rb
497
562
  - lib/fhcap/tasks/knife/remove.rb
@@ -516,8 +581,8 @@ files:
516
581
  - spec/fhcap/tasks/cluster/create_dns_records_spec.rb
517
582
  - spec/fhcap/tasks/cluster/create_spec.rb
518
583
  - spec/fhcap/tasks/cluster/generate_spec.rb
519
- - spec/fhcap/tasks/dns/create_record_spec.rb
520
- - spec/fhcap/tasks/dns/delete_record_spec.rb
584
+ - spec/fhcap/tasks/dns/aws/create_record_spec.rb
585
+ - spec/fhcap/tasks/dns/aws/delete_record_spec.rb
521
586
  - spec/fhcap/tasks/knife/add_spec.rb
522
587
  - spec/fhcap/tasks/knife/remove_spec.rb
523
588
  - spec/fhcap/tasks/provider/add_spec.rb
@@ -542,6 +607,7 @@ files:
542
607
  - templates/cluster/aws/core-3node.json.erb
543
608
  - templates/cluster/aws/core-small-9node.json.erb
544
609
  - templates/cluster/aws/farm-3node.json.erb
610
+ - templates/cluster/aws/farm-5node.json.erb
545
611
  - templates/cluster/aws/farm-single.json.erb
546
612
  - templates/cluster/aws/mbaas-3node.json.erb
547
613
  - templates/cluster/aws/nginx-test.json.erb
@@ -552,6 +618,7 @@ files:
552
618
  - templates/cluster/core-mbaas-6node.json.erb
553
619
  - templates/cluster/core-small-9node.json.erb
554
620
  - templates/cluster/farm-3node.json.erb
621
+ - templates/cluster/farm-5node.json.erb
555
622
  - templates/cluster/farm-single.json.erb
556
623
  - templates/cluster/mbaas-3node.json.erb
557
624
  - templates/cluster/nginx-test.json.erb
@@ -559,6 +626,7 @@ files:
559
626
  - templates/cluster/openstack/core-3node.json.erb
560
627
  - templates/cluster/openstack/core-small-9node.json.erb
561
628
  - templates/cluster/openstack/farm-3node.json.erb
629
+ - templates/cluster/openstack/farm-5node.json.erb
562
630
  - templates/cluster/openstack/farm-single.json.erb
563
631
  - templates/cluster/openstack/mbaas-3node.json.erb
564
632
  - templates/cluster/openstack/nginx-test.json.erb
@@ -571,6 +639,10 @@ files:
571
639
  - templates/init/knife.rb.erb
572
640
  - templates/init/knife_local.rb.erb
573
641
  - templates/kitchen/Cheffile.erb
642
+ - templates/kitchen/Dockerfile-rhel
643
+ - templates/kitchen/Vagrantfile-osx.rb
644
+ - templates/kitchen/docker_id_rsa
645
+ - templates/kitchen/docker_id_rsa.pub
574
646
  - templates/kitchen/kitchen.aws.yml.erb
575
647
  - templates/kitchen/kitchen.docker.yml.erb
576
648
  - templates/kitchen/kitchen.generate.yml.erb
@@ -610,8 +682,8 @@ test_files:
610
682
  - spec/fhcap/tasks/cluster/create_dns_records_spec.rb
611
683
  - spec/fhcap/tasks/cluster/create_spec.rb
612
684
  - spec/fhcap/tasks/cluster/generate_spec.rb
613
- - spec/fhcap/tasks/dns/create_record_spec.rb
614
- - spec/fhcap/tasks/dns/delete_record_spec.rb
685
+ - spec/fhcap/tasks/dns/aws/create_record_spec.rb
686
+ - spec/fhcap/tasks/dns/aws/delete_record_spec.rb
615
687
  - spec/fhcap/tasks/knife/add_spec.rb
616
688
  - spec/fhcap/tasks/knife/remove_spec.rb
617
689
  - spec/fhcap/tasks/provider/add_spec.rb
@@ -1,37 +0,0 @@
1
- require 'fhcap/tasks/task_base'
2
- require 'fhcap/tasks/dns/route53_helper'
3
- require 'aws-sdk'
4
-
5
- module Fhcap
6
- module Tasks
7
- module Dns
8
- class List < TaskBase
9
-
10
- include Fhcap::Route53Helper
11
-
12
- def run
13
- thor.say "Dns::List", :yellow
14
-
15
- table_contents = [table_header('Domain', 'Type', 'TTL', 'Value')]
16
-
17
- provider_names_for('dns').each do |provider|
18
- with_provider_client(provider) do |client|
19
- resp = client.list_hosted_zones
20
- resp.hosted_zones.each do |zone|
21
- resp = client.list_resource_record_sets(hosted_zone_id: zone.id)
22
- resp.resource_record_sets.each do |record_set|
23
- value = record_set.resource_records.map(&:value).join(',')
24
- alias_target = record_set.alias_target.dns_name rescue nil
25
- table_contents << table_row(record_set.name.gsub('\052', '*'), record_set.type, record_set.ttl, alias_target || value)
26
- end
27
- end
28
- end
29
- end
30
-
31
- thor.print_table table_contents
32
- end
33
-
34
- end
35
- end
36
- end
37
- end