puppetfactory 0.5.5 → 0.5.6
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.
- 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.
|