puppetfactory 0.5.5 → 0.5.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/puppetfactory/plugins/gitea.rb +20 -14
- data/lib/puppetfactory/plugins/shell_user.rb +1 -1
- data/templates/init_scripts.erb +1 -0
- metadata +17 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ca16771b7e1b183af22c6d3b8b2b9d51a2163938
|
4
|
+
data.tar.gz: 24c67912766f3a87a9a1f84858290e048e476b33
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f99df65aaeff3f965cbf8725a70f8b1c0544913c3154e21af8880a3b7343a6a26adaaf0683085f248104f84cd88915cd421115868543321befd13348111982b4
|
7
|
+
data.tar.gz: 09f632dc3061b1b5fe46b826dc903150307f00622a742d4d36ffbf30db66d18db4b239cd3c70f2b01bdbb5e596b2d8092555e2bf024351e72327ec1ef4e66527
|
@@ -8,22 +8,28 @@ class Puppetfactory::Plugins::Gitea < Puppetfactory::Plugins
|
|
8
8
|
super(options)
|
9
9
|
|
10
10
|
@suffix = options[:usersuffix]
|
11
|
+
@controlrepo = options[:controlrepo]
|
12
|
+
@reponame = File.basename(@controlrepo, '.git')
|
11
13
|
@gitea_path = options[:gitea_path] || '/home/git/go/bin/gitea'
|
12
14
|
@admin_username = options[:gitea_admin_username] || 'root'
|
13
15
|
@admin_password = options[:gitea_admin_password] || 'puppetlabs'
|
14
16
|
@gitea_port = options[:gitea_port] || '3000'
|
15
17
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
18
|
+
@cache_dir = '/var/cache/puppetfactory/gitea'
|
19
|
+
|
20
|
+
if (!File.directory?("#{@cache_dir}/#{@reponame}"))
|
21
|
+
$logger.info "Migrating repository #{@reponame}"
|
22
|
+
begin
|
23
|
+
`curl -su "#{@admin_username}:#{@admin_password}" --data "clone_addr=https://github.com/puppetlabs-education/#{@controlrepo}&uid=1&repo_name=#{@reponame}" http://localhost:#{@gitea_port}/api/v1/repos/migrate`
|
24
|
+
FileUtils::mkdir_p @cache_dir
|
25
|
+
Dir.chdir(@cache_dir) do
|
26
|
+
`git clone --depth 1 http://#{@admin_username}:#{@admin_password}@localhost:#{@gitea_port}/#{@admin_username}/#{@controlrepo}`
|
27
|
+
end
|
28
|
+
rescue => e
|
29
|
+
$logger.error "Error migrating repository: #{e.message}"
|
30
|
+
return false
|
21
31
|
end
|
22
|
-
rescue => e
|
23
|
-
$logger.error "Error migrating repository: #{e.message}"
|
24
|
-
return false
|
25
32
|
end
|
26
|
-
|
27
33
|
end
|
28
34
|
|
29
35
|
def add_collaborator(owner, repo, username, permission)
|
@@ -31,7 +37,7 @@ class Puppetfactory::Plugins::Gitea < Puppetfactory::Plugins
|
|
31
37
|
end
|
32
38
|
|
33
39
|
def make_branch(username)
|
34
|
-
Dir.chdir(
|
40
|
+
Dir.chdir("#{@cache_dir}/#{@reponame}") do
|
35
41
|
`git checkout -b #{username} && git push origin #{username}`
|
36
42
|
end
|
37
43
|
end
|
@@ -41,8 +47,8 @@ class Puppetfactory::Plugins::Gitea < Puppetfactory::Plugins
|
|
41
47
|
if password.length < 8
|
42
48
|
raise "Password must be at least 8 characters"
|
43
49
|
end
|
44
|
-
`su git -c "cd && #{@gitea_path} admin create-user --name #{username} --password #{password} --email #{username}
|
45
|
-
add_collaborator(@admin_username,
|
50
|
+
`su git -c "cd && #{@gitea_path} admin create-user --name #{username} --password #{password} --email #{username}@#{@suffix}"`
|
51
|
+
add_collaborator(@admin_username, @reponame, username, 'write')
|
46
52
|
make_branch(username)
|
47
53
|
$logger.info "Created Gitea user #{username}."
|
48
54
|
rescue => e
|
@@ -56,9 +62,9 @@ class Puppetfactory::Plugins::Gitea < Puppetfactory::Plugins
|
|
56
62
|
def delete(username)
|
57
63
|
begin
|
58
64
|
`curl -su "#{@admin_username}:#{@admin_password}" -X "DELETE" http://localhost:#{@gitea_port}/api/v1/admin/users/#{username}`
|
59
|
-
$logger.info "Removed
|
65
|
+
$logger.info "Removed Gitea user #{username}."
|
60
66
|
rescue => e
|
61
|
-
$logger.error "Error removing
|
67
|
+
$logger.error "Error removing Gitea user #{username}: #{e.message}"
|
62
68
|
return false
|
63
69
|
end
|
64
70
|
|
@@ -54,7 +54,7 @@ class Puppetfactory::Plugins::ShellUser < Puppetfactory::Plugins
|
|
54
54
|
|
55
55
|
def users
|
56
56
|
usernames = Dir.glob('/home/*').map { |path| File.basename path }
|
57
|
-
usernames.reject { |username| ['centos', '
|
57
|
+
usernames.reject { |username| ['centos', 'git', 'showoff', 'training', 'vagrant'].include? username }
|
58
58
|
end
|
59
59
|
|
60
60
|
def userinfo(username, extended = false)
|
data/templates/init_scripts.erb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puppetfactory
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Ford
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-
|
12
|
+
date: 2017-04-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sinatra
|
@@ -136,18 +136,16 @@ executables:
|
|
136
136
|
extensions: []
|
137
137
|
extra_rdoc_files: []
|
138
138
|
files:
|
139
|
-
- LICENSE
|
140
139
|
- README.md
|
140
|
+
- LICENSE
|
141
141
|
- bin/pfsh
|
142
142
|
- bin/puppetfactory
|
143
|
-
- lib/puppetfactory.rb
|
144
143
|
- lib/puppetfactory/cli.rb
|
145
144
|
- lib/puppetfactory/dashboard/rake_tasks.rb
|
146
145
|
- lib/puppetfactory/dashboard/serverspec_helper.rb
|
147
146
|
- lib/puppetfactory/dashboard/spec_helper.rb
|
148
147
|
- lib/puppetfactory/helpers.rb
|
149
148
|
- lib/puppetfactory/monkeypatches.rb
|
150
|
-
- lib/puppetfactory/plugins.rb
|
151
149
|
- lib/puppetfactory/plugins/certificates.rb
|
152
150
|
- lib/puppetfactory/plugins/classification.rb
|
153
151
|
- lib/puppetfactory/plugins/code_manager.rb
|
@@ -166,6 +164,14 @@ files:
|
|
166
164
|
- lib/puppetfactory/plugins/shell_user.rb
|
167
165
|
- lib/puppetfactory/plugins/tree.rb
|
168
166
|
- lib/puppetfactory/plugins/user_environment.rb
|
167
|
+
- lib/puppetfactory/plugins.rb
|
168
|
+
- lib/puppetfactory.rb
|
169
|
+
- views/dashboard.erb
|
170
|
+
- views/home.erb
|
171
|
+
- views/index.erb
|
172
|
+
- views/logs.erb
|
173
|
+
- views/shell.erb
|
174
|
+
- views/users.erb
|
169
175
|
- public/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png
|
170
176
|
- public/css/images/ui-bg_diagonals-thick_20_666666_40x40.png
|
171
177
|
- public/css/images/ui-bg_flat_10_000000_40x100.png
|
@@ -234,25 +240,19 @@ files:
|
|
234
240
|
- public/js/usermanagement.js
|
235
241
|
- public/jstree-3.3.3/jstree.js
|
236
242
|
- public/jstree-3.3.3/jstree.min.js
|
237
|
-
- public/jstree-3.3.3/themes/default-dark/32px.png
|
238
|
-
- public/jstree-3.3.3/themes/default-dark/40px.png
|
239
|
-
- public/jstree-3.3.3/themes/default-dark/style.css
|
240
|
-
- public/jstree-3.3.3/themes/default-dark/style.min.css
|
241
|
-
- public/jstree-3.3.3/themes/default-dark/throbber.gif
|
242
243
|
- public/jstree-3.3.3/themes/default/32px.png
|
243
244
|
- public/jstree-3.3.3/themes/default/40px.png
|
244
245
|
- public/jstree-3.3.3/themes/default/style.css
|
245
246
|
- public/jstree-3.3.3/themes/default/style.min.css
|
246
247
|
- public/jstree-3.3.3/themes/default/throbber.gif
|
248
|
+
- public/jstree-3.3.3/themes/default-dark/32px.png
|
249
|
+
- public/jstree-3.3.3/themes/default-dark/40px.png
|
250
|
+
- public/jstree-3.3.3/themes/default-dark/style.css
|
251
|
+
- public/jstree-3.3.3/themes/default-dark/style.min.css
|
252
|
+
- public/jstree-3.3.3/themes/default-dark/throbber.gif
|
247
253
|
- templates/init_scripts.erb
|
248
254
|
- templates/puppet.conf.erb
|
249
255
|
- templates/site.pp.erb
|
250
|
-
- views/dashboard.erb
|
251
|
-
- views/home.erb
|
252
|
-
- views/index.erb
|
253
|
-
- views/logs.erb
|
254
|
-
- views/shell.erb
|
255
|
-
- views/users.erb
|
256
256
|
homepage: https://github.com/puppetlabs/puppetfactory
|
257
257
|
licenses:
|
258
258
|
- Apache-2.0
|
@@ -273,7 +273,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
273
273
|
version: '0'
|
274
274
|
requirements: []
|
275
275
|
rubyforge_project:
|
276
|
-
rubygems_version: 2.
|
276
|
+
rubygems_version: 2.0.14.1
|
277
277
|
signing_key:
|
278
278
|
specification_version: 4
|
279
279
|
summary: Stands up a graphical classroom manager with containerized puppet agents.
|