solokit 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README.markdown +29 -0
- data/chef/roles/base.json +13 -0
- data/chef/server.json +5 -0
- data/chef/solo.rb +6 -0
- data/cookbooks/site/users/definitions/add_keys.rb +45 -0
- data/cookbooks/site/users/recipes/default.rb +34 -0
- data/cookbooks/upstream/apt/files/default/apt-cacher +9 -0
- data/cookbooks/upstream/apt/files/default/apt-cacher.conf +144 -0
- data/cookbooks/upstream/apt/files/default/apt-proxy-v2.conf +50 -0
- data/cookbooks/upstream/apt/metadata.json +51 -0
- data/cookbooks/upstream/apt/metadata.rb +11 -0
- data/cookbooks/upstream/apt/recipes/cacher.rb +42 -0
- data/cookbooks/upstream/apt/recipes/default.rb +33 -0
- data/cookbooks/upstream/apt/recipes/proxy.rb +34 -0
- data/cookbooks/upstream/ruby-shadow/attributes/ruby-shadow.rb +1 -0
- data/cookbooks/upstream/ruby-shadow/files/default/shadow-1.4.1/HISTORY +34 -0
- data/cookbooks/upstream/ruby-shadow/files/default/shadow-1.4.1/MANIFEST +7 -0
- data/cookbooks/upstream/ruby-shadow/files/default/shadow-1.4.1/README +79 -0
- data/cookbooks/upstream/ruby-shadow/files/default/shadow-1.4.1/README.euc +80 -0
- data/cookbooks/upstream/ruby-shadow/files/default/shadow-1.4.1/depend +1 -0
- data/cookbooks/upstream/ruby-shadow/files/default/shadow-1.4.1/extconf.rb +26 -0
- data/cookbooks/upstream/ruby-shadow/files/default/shadow-1.4.1/shadow.c +281 -0
- data/cookbooks/upstream/ruby-shadow/recipes/default.rb +15 -0
- data/cookbooks/upstream/sudo/attributes/sudoers.rb +21 -0
- data/cookbooks/upstream/sudo/metadata.json +96 -0
- data/cookbooks/upstream/sudo/metadata.rb +31 -0
- data/cookbooks/upstream/sudo/recipes/default.rb +33 -0
- data/cookbooks/upstream/sudo/templates/default/sudoers.erb +22 -0
- data/cookbooks/upstream/users/attributes/default.rb +4 -0
- data/cookbooks/upstream/users/definitions/add_keys.rb +38 -0
- data/cookbooks/upstream/users/libraries/roles.rb +17 -0
- data/cookbooks/upstream/users/metadata.json +38 -0
- data/cookbooks/upstream/users/metadata.rb +4 -0
- data/cookbooks/upstream/users/recipes/default.rb +17 -0
- data/cookbooks/upstream/users/templates/default/authorized_keys.erb +5 -0
- data/lib/chef.rb +11 -10
- data/lib/solokit/version.rb +1 -1
- metadata +38 -4
- 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,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
|
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
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
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
|
-
|
52
|
-
|
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?
|
data/lib/solokit/version.rb
CHANGED
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:
|
4
|
+
hash: 25
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
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.
|