cluster 0.5.33 → 0.5.34

Sign up to get free protection for your applications and to get access to all the features.
@@ -12,7 +12,7 @@ class Cluster
12
12
  class Version < Net::SSH::Version
13
13
  MAJOR = 0
14
14
  MINOR = 5
15
- TINY = 33
15
+ TINY = 34
16
16
 
17
17
  # The current version, as a Version instance
18
18
  CURRENT = new(MAJOR, MINOR, TINY)
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 5
8
- - 33
9
- version: 0.5.33
8
+ - 34
9
+ version: 0.5.34
10
10
  platform: ruby
11
11
  authors:
12
12
  - Simon de Boer
@@ -58,8 +58,8 @@ dependencies:
58
58
  segments:
59
59
  - 1
60
60
  - 2
61
- - 5
62
- version: 1.2.5
61
+ - 6
62
+ version: 1.2.6
63
63
  type: :runtime
64
64
  version_requirements: *id003
65
65
  - !ruby/object:Gem::Dependency
@@ -73,8 +73,8 @@ dependencies:
73
73
  segments:
74
74
  - 2
75
75
  - 0
76
- - 0
77
- version: 2.0.0
76
+ - 2
77
+ version: 2.0.2
78
78
  type: :runtime
79
79
  version_requirements: *id004
80
80
  - !ruby/object:Gem::Dependency
@@ -161,10 +161,6 @@ files:
161
161
  - lib/cluster.rb
162
162
  - lib/ext/array.rb
163
163
  - lib/ext/cluster_extensions.rb
164
- - examples/cacerts.pem
165
- - examples/credentials.yml
166
- - examples/monitor.god
167
- - examples/users.sh
168
164
  - bin/cluster
169
165
  - bin/ec2-consistent-snapshot
170
166
  - bin/periodic.sh
data/examples/cacerts.pem DELETED
@@ -1,19 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkEx
3
- FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYD
4
- VQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlv
5
- biBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhhd3RlIFByZW1pdW0gU2Vy
6
- dmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZlckB0aGF3dGUuY29t
7
- MB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYTAlpB
8
- MRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsG
9
- A1UEChMUVGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRp
10
- b24gU2VydmljZXMgRGl2aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNl
11
- cnZlciBDQTEoMCYGCSqGSIb3DQEJARYZcHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNv
12
- bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2aovXwlue2oFBYo847kkE
13
- VdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIhUdib0GfQ
14
- ug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMR
15
- uHM/qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG
16
- 9w0BAQQFAAOBgQAmSCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUI
17
- hfzJATj/Tb7yFkJD57taRvvBxhEf8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JM
18
- pAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7tUCemDaYj+bvLpgcUQg==
19
- -----END CERTIFICATE-----
@@ -1,24 +0,0 @@
1
- amazon:
2
- user: 91*********
3
- key: AKI**********
4
- secret: U***************************
5
-
6
- monitor:
7
- email:
8
- address: smtp.gmail.com
9
- port: 587
10
- domain: ingamersports.com
11
- authentication: plain
12
- user_name: dog@score345.com
13
- password: *******
14
- messages:
15
- from: dog@ingamersports.com
16
- contacts:
17
- - name: alerts
18
- email: alert@ingamersports.com
19
- - name: panic
20
- email: panic@ingamersports.com
21
- group: emergency
22
- - name: simon
23
- email: sdeboer@ingamersports.com
24
- group: person
data/examples/monitor.god DELETED
@@ -1,88 +0,0 @@
1
- #!/bin/env god -c
2
- require 'rubygems'
3
- require 'tlsmail'
4
- require 'fileutils'
5
- require 'cluster'
6
- require 'cluster/infrastructures/amazon'
7
-
8
- Net::SMTP.enable_tls(OpenSSL::SSL::VERIFY_NONE)
9
-
10
- CREDENTIALS = ENV['CREDENTIALS'] || File.join(ENV['HOME'], '.cluster', 'credentials.yml')
11
-
12
- credentials_file = File.expand_path(CREDENTIALS)
13
-
14
- unless File.exists?(credentials_file)
15
- $stderr.puts "Cannot find credentials for cluster : #{credentials_file} !"
16
- exit 2
17
- end
18
- MONITOR_PATH = File.join File.dirname(credentials_file), 'services.d'
19
-
20
- Cluster::Configuration[:credentials_file] = credentials_file
21
- CLUSTER = Cluster.new(Amazon.new)
22
-
23
- class UserService < God::Behavior
24
- def before_start
25
- service = self.watch.name[/^(\w+)-/, 1]
26
- users_file = File.join(MONITOR_PATH, service, 'users.sh')
27
- unless File.exists? users_file
28
- FileUtils.mkdir_p File.dirname users_file
29
- CLUSTER.retrieve service, 'users.sh', users_file
30
- end
31
-
32
- system(users_file) if File.exists? users_file
33
- end
34
- end
35
-
36
- class ProjectService < God::Behavior
37
- def before_start
38
- service = self.watch.name[/^(\w+)-/, 1]
39
- end
40
- end
41
-
42
- creds = YAML::load_file credentials_file
43
-
44
- if creds.include? 'monitor'
45
- moni = creds['monitor']
46
- email = moni['email'].keys.inject({}) {|m, k|
47
- m.merge k.to_sym => moni['email'][k]
48
- }
49
- God::Contacts::Email.server_settings = email
50
- God::Contacts::Email.message_settings = {
51
- :from => moni['messages']['from']
52
- }
53
-
54
- if moni.include? 'contacts'
55
- for contact in moni['contacts']
56
- God.contact(:email) {|c|
57
- c.name = contact['name']
58
- c.email = contact['email']
59
- contact['group'] and (c.group = contact['group'])
60
- }
61
- end
62
- else
63
- God.contact(:email) {|c|
64
- c.name = 'system notification'
65
- c.email = moni['messages']['from']
66
- }
67
- end
68
- end
69
-
70
- CLUSTER.instance_state('configuring')
71
-
72
- for service in CLUSTER.current('services')
73
- monitor_file = File.join MONITOR_PATH, service, "config.god"
74
- FileUtils.mkdir_p File.dirname(monitor_file)
75
- begin
76
- CLUSTER.retrieve service, 'config.god', monitor_file
77
- rescue => err
78
- applog(nil, :warn, "Service of #{service} does not appear to have a monitor configuration. Skipping!")
79
- next
80
- end
81
-
82
- if File.readable? monitor_file
83
- applog(nil, :info, "Loading monitor file #{monitor_file}")
84
- load monitor_file
85
- else
86
- applog(nil, :warn, "Cannot find a monitor file for #{monitor_file}")
87
- end
88
- end
data/examples/users.sh DELETED
@@ -1,42 +0,0 @@
1
- #!/bin/bash
2
-
3
- if ! id staging 2>/dev/null 1>&2; then
4
- adduser --disabled-password --gecos 'staging' staging
5
- mkdir -m 700 ~staging/.ssh
6
- touch ~staging/.ssh/authorized_keys
7
- chmod 600 ~staging/.ssh/authorized_keys
8
- touch ~staging/.ssh/config
9
- chmod 600 ~staging/.ssh/config
10
-
11
- cat >>~staging/.ssh/authorized_keys <<END_OF_KEYS
12
- ssh-dss AAAAB3NzaC1kc3MAAACBANcFLeySRpmVji+g9KcHBaedFE5SOLgkSQIKbeVjOwzGC75AIM5gY6gjOu0Kj4BYhlxUwOWkOEYgZwqu15qxtKPCnYQST3jqQnbfwN8UOC4y7XH/4G0gdOD9taFx4PpW0H+zvYs7smBb1qG8NnlUH1tyCGdNNmZLxn2b84R5pDcVAAAAFQDqV2zGPugaRR7gslhxyxrZnIpE9QAAAIAtEViFMBq8h4TXXbdeYR3EhR+zcUHzRz/yB3N7mdo8C1a5apHAnzwX7RPzvkskThU2Idj3ZxUyrTbd5WpBfk/OIwF+hvM3/Uw6XJLNaDSTd0t0HOJxE+SJuHwfOwNtI+J2IXwckUJ2laOTwjOc0YzIR1Gnf50gcz67R07H4qidtQAAAIANQsT7jT68TemlxBjjK22YDRxdRC5M2VuTAT6dDp9JL7KB6B1b3kU7EjiG9gk9oDUGWQiE5sEtHaFjgeViSwQhtaQ/Rqx8EmNG5W9lNgVcWtPmxqMJtOaaNggE+znE1xanY+fDtLqbAkbExZ8vypyUuMXvsgl7AiSSEMnpmX1Itw== simon@s345
13
- ssh-dss AAAAB3NzaC1kc3MAAACBAIxHXUznZLryPsnK0YCa7W4HM3wSqpCV8MwIBYd4kl/qQzC2VlyX0mFhVFC3esLWyyWEAFcKyI3FlzI70Z4ppnukyL/2MonVTqto3RPoTQs8Ty3y10MYo+9UE65U6Rv2yHfx551vobJgHgVS7tmupCcemZYscgFCeUMgLOz+5tylAAAAFQC9NTxN10PfjndbLDaPYrpC3h8g9wAAAIBnq0vCE9FqjukltP85M5qiawS5sEXArB0HRP4MDpwk4xDdrpiEwa2qYSOiwN1brsxMGrVHe3HetPeApmZZV5vysV1sLp3CQAlGHoWJ3GjOR3lDYpTymlbZOzd62mKp7FxPVtNszbDiABJckTLUV95TM2OB2hn/mWqpzwJBh9GBrAAAAIAmFDbo3aCg3WcDFnBzI72aHBQ4532xEMrlASABJ9FwkNPCtr2VZRLR4vxo9Oyn21+z4SmFocJN0DcKgj1APeS8en/frAFG/UJr/4KdV/LAnTBz8qd6QnbxdUYxizVoYKI1Pl76axbPQCVe+dthfn0x19quOMc/ofHA7I0GGIojJw== nick@Sparta-MB.local
14
- ssh-dss AAAAB3NzaC1kc3MAAACBAO/mj7W3wUuDAhvicx+C2MkAFJGFZvaPrBA+nbFbK240HDZcmS8sA9Ww3VwivKzQ4CwrpdMY3dPg0TM9H2USQvfMsis4bStDwLy4CFIvBEGoviVVdu8gBzVN+YGajhv7yZqJ9cpOSnUXUzCBh4ddhLtni4IQ2lEZyKdlUzmA77pZAAAAFQDSdiFXpCu3CrAm0zivwA68DcDj5wAAAIEA557V4w7vNgmZvkb3hnQui5IkVTpN+b2PKCzvA9clbJQvKBpivS7k5jpx+GeoAYA+pYNLppMf9zpyPLrJjJhJ3Y3qS3p5iFCed2aJRwxhd5lYIyEedZ2uW6tchVRPoXkT1/tmXBKUNnue8YHslhqXOy8nHyHd7dH7BXLblnQknRcAAACBANzpDp5oXEG7w40tCYd7dtJfDLT8cIXyA75yX2MtkHjpBylT+lP/c1P9pmPytEtBfoQCvwFKjVA7fVGTkF1QfMVzcJsB1wh6jUyS287JtbS4D2O/yEP6FioG5Qva8GdJ29Oy49+LIHgamc93ZaJPub+wvFYivNzQsomjdXtiNRNA olpc@xo-10-F8-44.localdomain
15
- ssh-dss AAAAB3NzaC1kc3MAAACBAOC9i08N/CoZO9I4kXv8LFSkReglZw9gmOqK72E/IpijLZkd2oh0wyV98S+8lYZR0OPmK6B4vbPIarBsZiPfOe2EMGxsuYjwD3X3S2hIM/1zrvk+WMzf6UADxmCwWzC6bYa1aBH59ba9ojolsBuou6yOxm3boYmZYbnMCLUzm/eLAAAAFQCHNIOpZTKG0chczg+5T3WJ4Q5JAwAAAIA2/VIk8pST/ynuXuu82Z9ZsR9ZJHICYfYi2EqLA6qJUxSB8MjvF9BQGYgX+UCs96uFme8wPJMBU74c7mZlcHvtlgc+1rMQUTZhJ820b/eg2gcPKGYikWj8y3wT0TDoWemMWAaFprvgrPLhHYuVMUKKzI9VNTeKDD7NC1xMsd9pOgAAAIBT14VMwBZjaq0oJSDxzy7bgf5Tragy9yhs7ZgQ0QTpMTFrkO/YvbsCLeXbsRcq904EMcB5glOHXONppn5skwWwBCFtjpjL9WLaeCnhpCxFC+D89GyR7T3Jlvj/Wa2tkuCSFJLBc64kK+pTmDseRLBbhazJazn3oUrNuEFtazzZCw== simon@secondary
16
- ssh-dss AAAAB3NzaC1kc3MAAACBALlZtmMckFufyVq+It10p4pC65NJCRdDpRrf1uIoVXvz1ZSlsm/f0jhatuNPpwnSQoRpvlWetiS5mzGJ3ze8aReqHHe9CZvDCpVy33cwyRhCZf7ndyGh1qa9ZA0YMHNVdVs03SpNr7Fzc3muGcKX3BiiOZz+6mtbaQW0X1p/VHpLAAAAFQC8AuBVqCRJKgBMHDHb0nxQAyHbRQAAAIEAgQJvHZ3Db3yVy99goeIJw/3lysVemaddIdPuJj/AdxRwkDeuZIxxtOUne/qjXr7hmu48EyXLVg/jsNivKarLI6CXZAk5JbxkgLN+8y0Ckzcd48KhSGpZsbTBtjV29UFH9aiMVOUTbL59603HNa3ucH2lCLhllBf+ameZZp+EFYMAAACARZwlCuPobEAk7wOxWzGQcaRvmSDSbIKexMeUBgZBZeYjp5Bxld6e7x/j3GBQEkzmxqf08zP6LpglDoNR3KuY2TEWhAS3H1KdT4GibNSNpY4y2Pl2K/GjUWC6wMmVcFFBCz/jJorttMSI1G+OVcy+Vdw42HyQ5Z2QtuoVA2MQ5IQ= staging@domU-12-31-39-0E-C8-82
17
- END_OF_KEYS
18
- cat >>~staging/.ssh/config <<END_OF_CONFIG
19
- Host web
20
- HostName domU-12-31-39-00-64-E4.compute-1.internal
21
- User app
22
- Host webu
23
- HostName domU-12-31-39-00-64-E4.compute-1.internal
24
- User ubuntu
25
- Host *.compute-1.internal
26
- ForwardAgent yes
27
- END_OF_CONFIG
28
-
29
- chown -R staging:staging ~staging/.ssh
30
- fi
31
-
32
- if ! id app 2>/dev/null 1>&2; then
33
- adduser --disabled-password --gecos 'app' app
34
- mkdir -m 700 ~app/.ssh
35
- touch ~app/.ssh/authorized_keys
36
- chmod 600 ~app/.ssh/authorized_keys
37
-
38
- cat >>~app/.ssh/authorized_keys <<END_OF_KEYS
39
- ssh-dss AAAAB3NzaC1kc3MAAACBALlZtmMckFufyVq+It10p4pC65NJCRdDpRrf1uIoVXvz1ZSlsm/f0jhatuNPpwnSQoRpvlWetiS5mzGJ3ze8aReqHHe9CZvDCpVy33cwyRhCZf7ndyGh1qa9ZA0YMHNVdVs03SpNr7Fzc3muGcKX3BiiOZz+6mtbaQW0X1p/VHpLAAAAFQC8AuBVqCRJKgBMHDHb0nxQAyHbRQAAAIEAgQJvHZ3Db3yVy99goeIJw/3lysVemaddIdPuJj/AdxRwkDeuZIxxtOUne/qjXr7hmu48EyXLVg/jsNivKarLI6CXZAk5JbxkgLN+8y0Ckzcd48KhSGpZsbTBtjV29UFH9aiMVOUTbL59603HNa3ucH2lCLhllBf+ameZZp+EFYMAAACARZwlCuPobEAk7wOxWzGQcaRvmSDSbIKexMeUBgZBZeYjp5Bxld6e7x/j3GBQEkzmxqf08zP6LpglDoNR3KuY2TEWhAS3H1KdT4GibNSNpY4y2Pl2K/GjUWC6wMmVcFFBCz/jJorttMSI1G+OVcy+Vdw42HyQ5Z2QtuoVA2MQ5IQ= staging@domU-12-31-39-0E-C8-82
40
- END_OF_KEYS
41
- chown -R app:app ~app/.ssh
42
- fi