fhcap-cli 0.4.9 → 0.4.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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