cluster 0.5.33 → 0.5.34

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.
@@ -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