nephele 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -25,7 +25,7 @@ Here's an example of someone inspecting available images and flavors on a Racksp
25
25
 
26
26
  neph create foo 'Ubuntu 10.04 LTS (lucid)' '512 server'
27
27
 
28
- neph create foo 'Ubuntu 10.04 LTS (lucid)' '512 server'
28
+ neph destroy foo
29
29
 
30
30
  neph bootstrap foo 'Ubuntu 10.04 LTS (lucid)' '512 server' -r webserver -c git@github.com:joeuser/cookbooks.git
31
31
 
@@ -70,6 +70,13 @@ Global options
70
70
  -?/--help # Print help message
71
71
  </pre>
72
72
 
73
+ Extra Hooks
74
+ -----------
75
+ * personality: Uses the rackspace API hook of dropping custom files onto the new VM at creation time. By default, your DSA or RSA public key from your home is added to the root user's authorized_key file.
76
+ * vpn credentials: If you expose a ~/.vpnpass file on the machine where nephele is invoked, this will get added as a part of the personality of a new VM, ideally used by an openvpn setup on the target.
77
+ * prestrap: Specific to my bootstrapper at the moment, this allows for twiddling chef-solo log settings at the time of nephele creation. This will change over time.
78
+
79
+
73
80
  LICENSE
74
81
  -------
75
82
  SEE LICENSE
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.7
1
+ 0.1.8
@@ -1,3 +1,5 @@
1
+ require 'tempfile'
2
+
1
3
  class Nephele::Rackspace < Nephele::Base
2
4
  attr_reader :nodes
3
5
 
@@ -97,7 +99,8 @@ module Nephele::Rackspace::Util
97
99
  if personality == :default
98
100
  base = { my_default_key => '/root/.ssh/authorized_keys',
99
101
  known_hosts_file => '/root/.ssh/known_hosts' }
100
- vpn_pass_file ? base.merge({ vpn_pass_file => '/root/.vpnpass' }) : base
102
+ base.merge!({ vpn_pass_file => '/root/.vpnpass' }) if vpn_pass_file
103
+ base.merge!({ nephele_info_file => '/etc/nephele/info' })
101
104
  else
102
105
  acc = {}
103
106
  personality.split(',').each_slice(2) { |(k, v)| acc[k] = v }
@@ -112,13 +115,24 @@ module Nephele::Rackspace::Util
112
115
  end
113
116
 
114
117
  def known_hosts_file
115
- '/tmp/known_hosts.nephele'.tap do |file| File.open(file, 'w') { |f| f << known_hosts }; end
118
+ Tempfile.new('known_hosts.nephele').tap do |f|
119
+ f << known_hosts; f.close
120
+ end.path
116
121
  end
117
122
 
118
123
  def vpn_pass_file(passfile = File.expand_path('~/.vpnpass'))
119
124
  File.exists?(passfile) && passfile
120
125
  end
121
126
 
127
+ def nephele_info_file
128
+ Tempfile.new('nephele-meta').tap do |f|
129
+ f << [
130
+ "# Nephele Creation: #{Time.now}",
131
+ "# Creator: #{ENV['USER']}"
132
+ ] * "\n"; f.close
133
+ end.path
134
+ end
135
+
122
136
  # Github
123
137
  def known_hosts
124
138
  <<-EoS
data/nephele.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{nephele}
8
- s.version = "0.1.7"
8
+ s.version = "0.1.8"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Jeffrey O'Dell"]
12
- s.date = %q{2011-04-28}
12
+ s.date = %q{2011-05-03}
13
13
  s.description = %q{Light administration utility for popular cloud services}
14
14
  s.email = %q{jeffrey.odell@gmail.com}
15
15
  s.executables = ["neph", "nephele"]
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nephele
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 11
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 7
10
- version: 0.1.7
9
+ - 8
10
+ version: 0.1.8
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jeffrey O'Dell
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-04-28 00:00:00 -05:00
18
+ date: 2011-05-03 00:00:00 -05:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency