stacco 0.1.52 → 0.1.53

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6f0f38cbca1860f224aef22f76bbb6391370f1a2
4
- data.tar.gz: 0ce77545016d04973c91625c550b46ee63e93d96
3
+ metadata.gz: 84d29676bd753c229d1b86801ad8e693a1fb94c3
4
+ data.tar.gz: ea7ba1cf7ae1746c6fdb8dbb068a5baebe974b3d
5
5
  SHA512:
6
- metadata.gz: 7669bbc0ff11455e2b9c598102bfe9fea10499392fbb2e423f44ce245b6a122f56d1044a7598e3897e519ae3a1304a1905eab8cc2a034fbc100a58430e5773c6
7
- data.tar.gz: 8ea1452f89d39d90995c0e4f492fb2167f0bc122dbb7371e2ba69d56f2648ca83749c1244be412a6dda02f8507e0582e91439fdd306312786b516fab20ee9432
6
+ metadata.gz: 0fc12d9e5b2773e628c6c3e59be96878e3f734878c35571636bc86211da7751fd17ec3116e4080028adc7434cbd18984a127866046024c159a5861d25d57a5b1
7
+ data.tar.gz: 8a9d34f1e8ebba534e654dffd78c78a18f0bf9f4d073278363d45049def80581c706e889c8ec3ac679f2d1b0622086c83b903340f7522c0605fa590892a7168c
data/.git/COMMIT_EDITMSG CHANGED
@@ -1 +1 @@
1
- m1.small does not support HVM instances
1
+ Treat non-running EC2 instances as non-existent
data/.git/index CHANGED
Binary file
data/.git/logs/HEAD CHANGED
@@ -139,3 +139,5 @@ b4062e836c984d50d9103833cfc8d81b0d17e8db 6876abb82bb3d673960adc2c6b70cfc30c4acd7
139
139
  9c2cd4e834886d166510ec0c7772a1022fb9891e da311a48e078c7be2d616068c2de14fda5c51f3f Levi Aul <levi@leviaul.com> 1406180172 -0700 commit: Remove preloaded logspout image
140
140
  da311a48e078c7be2d616068c2de14fda5c51f3f 4780773e4c8d3a6c1404d52bd847ea482eb35f1e Levi Aul <levi@leviaul.com> 1406180180 -0700 commit: Add preloaded armoryd image
141
141
  4780773e4c8d3a6c1404d52bd847ea482eb35f1e c28e926325426b29516d82749b12116fe1d1917e Levi Aul <levi@leviaul.com> 1406240266 -0700 commit: m1.small does not support HVM instances
142
+ c28e926325426b29516d82749b12116fe1d1917e 7dd98997a72d94138ffeae08a5835aba52ed1543 Levi Aul <levi@leviaul.com> 1406250804 -0700 commit: Connect to proxied hosts by ip address instead of private DNS name
143
+ 7dd98997a72d94138ffeae08a5835aba52ed1543 a35b7d6be7d227c6a15a009a2acf8bb6196fbc28 Levi Aul <levi@leviaul.com> 1406250836 -0700 commit: Treat non-running EC2 instances as non-existent
@@ -81,3 +81,5 @@ b4062e836c984d50d9103833cfc8d81b0d17e8db 6876abb82bb3d673960adc2c6b70cfc30c4acd7
81
81
  9c2cd4e834886d166510ec0c7772a1022fb9891e da311a48e078c7be2d616068c2de14fda5c51f3f Levi Aul <levi@leviaul.com> 1406180172 -0700 commit: Remove preloaded logspout image
82
82
  da311a48e078c7be2d616068c2de14fda5c51f3f 4780773e4c8d3a6c1404d52bd847ea482eb35f1e Levi Aul <levi@leviaul.com> 1406180180 -0700 commit: Add preloaded armoryd image
83
83
  4780773e4c8d3a6c1404d52bd847ea482eb35f1e c28e926325426b29516d82749b12116fe1d1917e Levi Aul <levi@leviaul.com> 1406240266 -0700 commit: m1.small does not support HVM instances
84
+ c28e926325426b29516d82749b12116fe1d1917e 7dd98997a72d94138ffeae08a5835aba52ed1543 Levi Aul <levi@leviaul.com> 1406250804 -0700 commit: Connect to proxied hosts by ip address instead of private DNS name
85
+ 7dd98997a72d94138ffeae08a5835aba52ed1543 a35b7d6be7d227c6a15a009a2acf8bb6196fbc28 Levi Aul <levi@leviaul.com> 1406250836 -0700 commit: Treat non-running EC2 instances as non-existent
@@ -57,3 +57,4 @@ b4062e836c984d50d9103833cfc8d81b0d17e8db 6876abb82bb3d673960adc2c6b70cfc30c4acd7
57
57
  6876abb82bb3d673960adc2c6b70cfc30c4acd76 9c2cd4e834886d166510ec0c7772a1022fb9891e Levi Aul <levi@leviaul.com> 1406179869 -0700 update by push
58
58
  9c2cd4e834886d166510ec0c7772a1022fb9891e 4780773e4c8d3a6c1404d52bd847ea482eb35f1e Levi Aul <levi@leviaul.com> 1406180185 -0700 update by push
59
59
  4780773e4c8d3a6c1404d52bd847ea482eb35f1e c28e926325426b29516d82749b12116fe1d1917e Levi Aul <levi@leviaul.com> 1406240270 -0700 update by push
60
+ c28e926325426b29516d82749b12116fe1d1917e a35b7d6be7d227c6a15a009a2acf8bb6196fbc28 Levi Aul <levi@leviaul.com> 1406250839 -0700 update by push
@@ -0,0 +1 @@
1
+ x��AJ1D]�}%ݓ�L�#�.ō'H&����dH2���n��^�Z�=u v���4�K����ZfAOZG�`��EG�W���;���#���@�r\h6. !�U0��Y�?��T��{��s��6�˟�s{Z�� h4�Ջ6�g��Hǹ.�������z����$n����>�*�Aʭ��P���� �~A���_��T3
@@ -0,0 +1,4 @@
1
+ x�OK
2
+ �0t�S� T�i�QĝK/�l^5Ц������Y � 3�<M���rS23(�B��Z$ό�u�9�����QJ<)s*�B��#��o��a`b�d�X����m���<� ~E8�#�ƪ_�u����ʮA�A#����u\�?k⚙
3
+ �95yM)�;�ObZ
4
+ �����;.���HO�
@@ -1 +1 @@
1
- c28e926325426b29516d82749b12116fe1d1917e
1
+ a35b7d6be7d227c6a15a009a2acf8bb6196fbc28
@@ -1 +1 @@
1
- c28e926325426b29516d82749b12116fe1d1917e
1
+ a35b7d6be7d227c6a15a009a2acf8bb6196fbc28
@@ -0,0 +1 @@
1
+ a35b7d6be7d227c6a15a009a2acf8bb6196fbc28
data/bin/stacco CHANGED
@@ -461,23 +461,35 @@ when :connect
461
461
  else
462
462
  connect_to_host = OpenStruct.new(
463
463
  dns_name: nil,
464
- private_dns_name: host_physical_name
464
+ private_dns_name: host_physical_name,
465
+ private_ip_address: host_physical_name
465
466
  )
466
467
  end
467
468
 
468
- Kernel.system 'ssh-add', stack.iam_private_key.local_path.to_s, out: '/dev/null', err: '/dev/null'
469
+ possible_paths = [
470
+ [connect_to_host],
471
+ [bastion_host, connect_to_host]
472
+ ]
473
+
474
+ extant_paths = possible_paths.find_all(&:all?)
475
+
476
+ extant_routes = extant_paths.map do |(first_host, *rest_of_hosts)|
477
+ [first_host.public_dns_name] + rest_of_hosts.map(&:private_ip_address)
478
+ end
479
+
480
+ routable_path = extant_routes.find{ |f| f.compact.length.nonzero? }
469
481
 
470
- host_connect_stanza = lambda do |hostname|
471
- ['ssh', '-A', '-tt', '-v',
482
+ ssh_stanzas = routable_path.map do |hostname|
483
+ ['ssh', '-A', '-tt', '-q',
472
484
  '-o', 'StrictHostKeyChecking=no',
473
485
  '-o', 'UserKnownHostsFile=/dev/null',
474
486
  "ubuntu@#{hostname}"]
475
487
  end
476
488
 
477
- ssh_cmd = ([[connect_to_host], [bastion_host, connect_to_host]].find_all(&:all?).map{ |host_path| host_path.map{ |(first_host, *rest_of_hosts)| [first_host.dns_name] + rest_of_hosts.map(&:private_dns_name) } }.find{ |f| f.compact.length.nonzero? }.map{ |hops| hops.map{ |hop| host_connect_stanza.call(hop) } } + ARGV).flatten
478
- p ssh_cmd
489
+ ssh_cmd_parts = ssh_stanzas.flatten + ARGV
479
490
 
480
- Kernel.exec *ssh_cmd
491
+ Kernel.system 'ssh-add', stack.iam_private_key.local_path.to_s, out: '/dev/null', err: '/dev/null'
492
+ Kernel.exec *ssh_cmd_parts
481
493
 
482
494
  when :"status:wait"
483
495
  desired_status = ARGV.shift
data/lib/stacco/stack.rb CHANGED
@@ -34,7 +34,8 @@ class Stacco::Stack
34
34
 
35
35
  def connections
36
36
  connections = {}
37
- @aws_stack.instances.each{ |i| connections[i.tags["aws:cloudformation:logical-id"]] = i }
37
+ running_instances = @aws_stack.instances.find_all{ |i| i.status == :running }
38
+ running_instances.each{ |i| connections[i.tags["aws:cloudformation:logical-id"]] = i }
38
39
  connections
39
40
  end
40
41
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stacco
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.52
4
+ version: 0.1.53
5
5
  platform: ruby
6
6
  authors:
7
7
  - Levi Aul
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-24 00:00:00.000000000 Z
11
+ date: 2014-07-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk
@@ -139,6 +139,8 @@ files:
139
139
  - "./.git/objects/10/3dbbfc6a2e958ca90b8d8a4ac7b47b8823a1b9"
140
140
  - "./.git/objects/10/a8ba241a55add0ad0122ba391a7fbf760f44ff"
141
141
  - "./.git/objects/10/d58fa37cf619f8bd496f5a3b3782044307570e"
142
+ - "./.git/objects/11/1dc8888d558a9ee89e249e8edbf8287d59f311"
143
+ - "./.git/objects/11/2640ab745c074787461ca42ea08dd107588929"
142
144
  - "./.git/objects/12/2816e32e10d9a156a6db6a7a031c7599eb2f2d"
143
145
  - "./.git/objects/12/3f8240f031492c3d592ef7df560858ac44f927"
144
146
  - "./.git/objects/12/711e532bf771f9c38b2db3aa27eab03b36b0e8"
@@ -240,6 +242,7 @@ files:
240
242
  - "./.git/objects/36/ba5be11b41d1823658d7ce80027a97ebad5b49"
241
243
  - "./.git/objects/36/ee04efd43911e01f9aaf99748a16cd884d16b2"
242
244
  - "./.git/objects/36/fce3986c3b9edc2d23aa2c79b07caa538a1e2d"
245
+ - "./.git/objects/37/40826eb3b404556e66e1a200d11b566951928a"
243
246
  - "./.git/objects/37/5e25615f71378adf4dd73193cd81c3f7352369"
244
247
  - "./.git/objects/37/963467810545c413ee63c07b03ef5451cd21a4"
245
248
  - "./.git/objects/37/eceb106c54f19dc4f8acfa3b9f536a2299ce26"
@@ -309,6 +312,7 @@ files:
309
312
  - "./.git/objects/51/307ca8e26fbc0e4739fd92d601ee23e7bef1bc"
310
313
  - "./.git/objects/51/3245a8ed94a313de9c9be99d0436cafa5f4542"
311
314
  - "./.git/objects/51/db6ab779ca5bc4b13ba68ebdfaab521c010948"
315
+ - "./.git/objects/52/27b5f81855e270bd76763ea4c12efb00c20a14"
312
316
  - "./.git/objects/52/5148183a1cccd66f55a634ca7685d115ade75f"
313
317
  - "./.git/objects/52/8ec24f9b5e9de38c45e8b6c118b57fdbbfae35"
314
318
  - "./.git/objects/52/eb181ae3859a013ac4fcdf8878d05e81e6c094"
@@ -366,6 +370,7 @@ files:
366
370
  - "./.git/objects/68/1a83d3b934382fb096b93ecae899c1a1a5d5cc"
367
371
  - "./.git/objects/68/76abb82bb3d673960adc2c6b70cfc30c4acd76"
368
372
  - "./.git/objects/68/7dc39053fe33f329e8a7855398665f551527b8"
373
+ - "./.git/objects/68/822f94b9499ae79aa7e1a43af113b0590ffd54"
369
374
  - "./.git/objects/68/88e5762e008de5cfc3ec08aa6aac761e1c4bd7"
370
375
  - "./.git/objects/68/9f460cbfd4ee57747b7b48e49f86e43db02e29"
371
376
  - "./.git/objects/68/a97f3dc5cbd0a94395ff232783c7ea0e8ad420"
@@ -375,10 +380,12 @@ files:
375
380
  - "./.git/objects/6b/2ef57cc35288ebe544c2ae709322375c385bb1"
376
381
  - "./.git/objects/6b/ba4322828c09db5388e6981469abfaf07e948f"
377
382
  - "./.git/objects/6c/0c6c6cbc9665d97ce2491ba6ac7a29a1155e4b"
383
+ - "./.git/objects/6c/8dfe9541d3b36f0ea8c642a04c0640b2bbf72a"
378
384
  - "./.git/objects/6c/8ebb26cad5c801968191547c246fdbd3ac11bd"
379
385
  - "./.git/objects/6c/ceee83af3a58c578ab35c103547473b081fb30"
380
386
  - "./.git/objects/6c/fe9cbdf691b11c3272948bf704e6835b3637de"
381
387
  - "./.git/objects/6e/3aea779f1cc53db71c92522c6a051681323d11"
388
+ - "./.git/objects/6e/4fdaa7fe535f890b0911a9a7fb65c1bb86976b"
382
389
  - "./.git/objects/6e/62fde9cd4e40d459c6114c3205cb776cba6594"
383
390
  - "./.git/objects/6e/7226031cde35145ea66c752bad85e0a11ea2f8"
384
391
  - "./.git/objects/6e/955eab29caadddfad72648b4e1703236386afe"
@@ -414,6 +421,7 @@ files:
414
421
  - "./.git/objects/7c/9b63c5bf194af7e6807cca5683eff27fc3768c"
415
422
  - "./.git/objects/7c/c967d85d6215d98734062382fa17cca80fb538"
416
423
  - "./.git/objects/7d/c0c0e1a76a7f8ff84abe9daea9179ed34985c4"
424
+ - "./.git/objects/7d/d98997a72d94138ffeae08a5835aba52ed1543"
417
425
  - "./.git/objects/7e/1d11bd66ae5fad039c0ef9c0672cef3b28964d"
418
426
  - "./.git/objects/7e/440e15f76e27ce3ea2e94e819fc419bd5151ba"
419
427
  - "./.git/objects/7e/8d95c7990fe3a9f43efa5ffae592e0071ad3d2"
@@ -515,6 +523,7 @@ files:
515
523
  - "./.git/objects/a2/553e326f0140929c7d59a99391e28a70d53acc"
516
524
  - "./.git/objects/a2/96ae3203cfb9353fe0ba902e1733449d078ac7"
517
525
  - "./.git/objects/a2/c9e01ad5c1055cf9f802582eb9685d7d617d3f"
526
+ - "./.git/objects/a3/5b7d6be7d227c6a15a009a2acf8bb6196fbc28"
518
527
  - "./.git/objects/a4/5112ff9a4604e6b08a1c94bbcf43cc89053b3c"
519
528
  - "./.git/objects/a4/8e7327658eb733ad58e37b80bec3874ea3a661"
520
529
  - "./.git/objects/a4/a209c2bad0adbb5b24f70c72e390d720cf765f"
@@ -840,6 +849,7 @@ files:
840
849
  - "./.git/refs/tags/0.1.50"
841
850
  - "./.git/refs/tags/0.1.51"
842
851
  - "./.git/refs/tags/0.1.52"
852
+ - "./.git/refs/tags/0.1.53"
843
853
  - "./.gitignore"
844
854
  - "./Dockerfile"
845
855
  - "./README.md"