solokit 0.0.2 → 0.0.3

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 (39) hide show
  1. data/README.markdown +29 -0
  2. data/chef/roles/base.json +13 -0
  3. data/chef/server.json +5 -0
  4. data/chef/solo.rb +6 -0
  5. data/cookbooks/site/users/definitions/add_keys.rb +45 -0
  6. data/cookbooks/site/users/recipes/default.rb +34 -0
  7. data/cookbooks/upstream/apt/files/default/apt-cacher +9 -0
  8. data/cookbooks/upstream/apt/files/default/apt-cacher.conf +144 -0
  9. data/cookbooks/upstream/apt/files/default/apt-proxy-v2.conf +50 -0
  10. data/cookbooks/upstream/apt/metadata.json +51 -0
  11. data/cookbooks/upstream/apt/metadata.rb +11 -0
  12. data/cookbooks/upstream/apt/recipes/cacher.rb +42 -0
  13. data/cookbooks/upstream/apt/recipes/default.rb +33 -0
  14. data/cookbooks/upstream/apt/recipes/proxy.rb +34 -0
  15. data/cookbooks/upstream/ruby-shadow/attributes/ruby-shadow.rb +1 -0
  16. data/cookbooks/upstream/ruby-shadow/files/default/shadow-1.4.1/HISTORY +34 -0
  17. data/cookbooks/upstream/ruby-shadow/files/default/shadow-1.4.1/MANIFEST +7 -0
  18. data/cookbooks/upstream/ruby-shadow/files/default/shadow-1.4.1/README +79 -0
  19. data/cookbooks/upstream/ruby-shadow/files/default/shadow-1.4.1/README.euc +80 -0
  20. data/cookbooks/upstream/ruby-shadow/files/default/shadow-1.4.1/depend +1 -0
  21. data/cookbooks/upstream/ruby-shadow/files/default/shadow-1.4.1/extconf.rb +26 -0
  22. data/cookbooks/upstream/ruby-shadow/files/default/shadow-1.4.1/shadow.c +281 -0
  23. data/cookbooks/upstream/ruby-shadow/recipes/default.rb +15 -0
  24. data/cookbooks/upstream/sudo/attributes/sudoers.rb +21 -0
  25. data/cookbooks/upstream/sudo/metadata.json +96 -0
  26. data/cookbooks/upstream/sudo/metadata.rb +31 -0
  27. data/cookbooks/upstream/sudo/recipes/default.rb +33 -0
  28. data/cookbooks/upstream/sudo/templates/default/sudoers.erb +22 -0
  29. data/cookbooks/upstream/users/attributes/default.rb +4 -0
  30. data/cookbooks/upstream/users/definitions/add_keys.rb +38 -0
  31. data/cookbooks/upstream/users/libraries/roles.rb +17 -0
  32. data/cookbooks/upstream/users/metadata.json +38 -0
  33. data/cookbooks/upstream/users/metadata.rb +4 -0
  34. data/cookbooks/upstream/users/recipes/default.rb +17 -0
  35. data/cookbooks/upstream/users/templates/default/authorized_keys.erb +5 -0
  36. data/lib/chef.rb +11 -10
  37. data/lib/solokit/version.rb +1 -1
  38. metadata +38 -4
  39. data/README +0 -1
@@ -0,0 +1,38 @@
1
+ {
2
+ "replacing": {
3
+
4
+ },
5
+ "long_description": "",
6
+ "attributes": {
7
+
8
+ },
9
+ "maintainer": "37signals",
10
+ "recommendations": {
11
+
12
+ },
13
+ "license": "Apache v2.0",
14
+ "recipes": {
15
+ "users": ""
16
+ },
17
+ "maintainer_email": "sysadmins@37signals.com",
18
+ "suggestions": {
19
+
20
+ },
21
+ "dependencies": {
22
+
23
+ },
24
+ "conflicting": {
25
+
26
+ },
27
+ "platforms": {
28
+
29
+ },
30
+ "description": "Configures users and groups",
31
+ "version": "0.1.0",
32
+ "name": "users",
33
+ "providing": {
34
+ "users": [
35
+
36
+ ]
37
+ }
38
+ }
@@ -0,0 +1,4 @@
1
+ maintainer "37signals"
2
+ maintainer_email "sysadmins@37signals.com"
3
+ description "Configures users and groups"
4
+ version "0.1"
@@ -0,0 +1,17 @@
1
+ include_recipe "ruby-shadow"
2
+
3
+ if node[:users]
4
+ node[:users].keys.each do |username|
5
+ config = node[:users][username]
6
+ user username do
7
+ comment config[:comment]
8
+ home "/home/#{username}"
9
+ shell "/bin/bash"
10
+ password config[:password]
11
+ supports :manage_home => true
12
+ action [:create, :manage]
13
+ end
14
+
15
+ add_keys username
16
+ end
17
+ end
@@ -0,0 +1,5 @@
1
+ <% @keys.each do |name, key| %>
2
+ # <%= name %>
3
+ <%= key %>
4
+ <% end %>
5
+
data/lib/chef.rb CHANGED
@@ -14,15 +14,16 @@ module Solokit
14
14
  end
15
15
 
16
16
  def upload(root = "/")
17
+ solokit_path = File.expand_path(File.join(File.dirname(__FILE__), '..'))
17
18
  @ssh.run("rm -rf #{root}var/chef-solo", false) &&
18
- @ssh.run("rm -rf #{root}etc/chef", false) &&
19
- upload_files("cookbooks/upstream/", "#{root}var/chef-solo/upstream-cookbooks") &&
20
- upload_files("cookbooks/site/", "#{root}var/chef-solo/site-cookbooks") &&
21
- (File.exists?("envs/#{@env}/cookbooks") ?
22
- upload_files("envs/#{@env}/cookbooks/*", "#{root}var/chef-solo/site-cookbooks") :
23
- true) &&
24
- upload_files("chef/*", "#{root}etc/chef") &&
25
- upload_files("envs/#{@env}/chef/", "#{root}etc/chef")
19
+ @ssh.run("rm -rf #{root}etc/chef", false) &&
20
+ upload_files("#{solokit_path}/cookbooks/upstream/", "#{root}var/chef-solo/upstream-cookbooks") &&
21
+ upload_files("#{solokit_path}/cookbooks/site/", "#{root}var/chef-solo/site-cookbooks") &&
22
+ upload_files("cookbooks/upstream/", "#{root}var/chef-solo/upstream-cookbooks") &&
23
+ upload_files("cookbooks/site/", "#{root}var/chef-solo/site-cookbooks") &&
24
+ upload_files("envs/#{@env}/cookbooks/*", "#{root}var/chef-solo/site-cookbooks") &&
25
+ upload_files("chef/*", "#{root}etc/chef") &&
26
+ upload_files("envs/#{@env}/chef/", "#{root}etc/chef")
26
27
  end
27
28
 
28
29
  def run(debug = false, root = "/")
@@ -48,8 +49,8 @@ module Solokit
48
49
  end
49
50
 
50
51
  def upload_files(from, to)
51
- @ssh.run("mkdir -p #{to}") &&
52
- @ssh.rsync(from, to, true)
52
+ return true unless File.exists?(from)
53
+ @ssh.run("mkdir -p #{to}") && @ssh.rsync(from, to, true)
53
54
  end
54
55
 
55
56
  def installed?
@@ -1,3 +1,3 @@
1
1
  module Solokit
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solokit
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 2
10
- version: 0.0.2
9
+ - 3
10
+ version: 0.0.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - "Joakim Kolsj\xC3\xB6"
@@ -63,8 +63,42 @@ files:
63
63
  - Gemfile
64
64
  - Gemfile.lock
65
65
  - LICENCE
66
- - README
66
+ - README.markdown
67
67
  - Rakefile
68
+ - chef/roles/base.json
69
+ - chef/server.json
70
+ - chef/solo.rb
71
+ - cookbooks/site/users/definitions/add_keys.rb
72
+ - cookbooks/site/users/recipes/default.rb
73
+ - cookbooks/upstream/apt/files/default/apt-cacher
74
+ - cookbooks/upstream/apt/files/default/apt-cacher.conf
75
+ - cookbooks/upstream/apt/files/default/apt-proxy-v2.conf
76
+ - cookbooks/upstream/apt/metadata.json
77
+ - cookbooks/upstream/apt/metadata.rb
78
+ - cookbooks/upstream/apt/recipes/cacher.rb
79
+ - cookbooks/upstream/apt/recipes/default.rb
80
+ - cookbooks/upstream/apt/recipes/proxy.rb
81
+ - cookbooks/upstream/ruby-shadow/attributes/ruby-shadow.rb
82
+ - cookbooks/upstream/ruby-shadow/files/default/shadow-1.4.1/HISTORY
83
+ - cookbooks/upstream/ruby-shadow/files/default/shadow-1.4.1/MANIFEST
84
+ - cookbooks/upstream/ruby-shadow/files/default/shadow-1.4.1/README
85
+ - cookbooks/upstream/ruby-shadow/files/default/shadow-1.4.1/README.euc
86
+ - cookbooks/upstream/ruby-shadow/files/default/shadow-1.4.1/depend
87
+ - cookbooks/upstream/ruby-shadow/files/default/shadow-1.4.1/extconf.rb
88
+ - cookbooks/upstream/ruby-shadow/files/default/shadow-1.4.1/shadow.c
89
+ - cookbooks/upstream/ruby-shadow/recipes/default.rb
90
+ - cookbooks/upstream/sudo/attributes/sudoers.rb
91
+ - cookbooks/upstream/sudo/metadata.json
92
+ - cookbooks/upstream/sudo/metadata.rb
93
+ - cookbooks/upstream/sudo/recipes/default.rb
94
+ - cookbooks/upstream/sudo/templates/default/sudoers.erb
95
+ - cookbooks/upstream/users/attributes/default.rb
96
+ - cookbooks/upstream/users/definitions/add_keys.rb
97
+ - cookbooks/upstream/users/libraries/roles.rb
98
+ - cookbooks/upstream/users/metadata.json
99
+ - cookbooks/upstream/users/metadata.rb
100
+ - cookbooks/upstream/users/recipes/default.rb
101
+ - cookbooks/upstream/users/templates/default/authorized_keys.erb
68
102
  - lib/chef.rb
69
103
  - lib/configuration.rb
70
104
  - lib/solokit.rb
data/README DELETED
@@ -1 +0,0 @@
1
- Extracting out some code I use to provision servers with chef-solo. Only supports ubuntu.