puppetfactory 0.6.4 → 0.6.5
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/CHANGELOG.md +5 -0
- data/lib/puppetfactory/plugins/docker.rb +3 -2
- data/lib/puppetfactory/plugins/gitea.rb +8 -1
- data/templates/pre-receive.erb +19 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0defb4a5fbab3fde2d073057715dc654b1be2fec
|
4
|
+
data.tar.gz: 643d210bd66a82fd45dd6ccb2a92d2e712e5be2b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a01c67184868af5f3a0d0c86afbee274158bbc718cebe9895ded0d503b8ac33df569a28a98bad983308a673f596bce4ce4388780b688c92c802540d838821587
|
7
|
+
data.tar.gz: 5ccd590f691f071cbf7b6b83c0a21c560341b639a65269fed98a2eafbf8a438b9932c4e98d615c2d089835ca50ec530009b5e7348519ae6bbe603078518bfdee
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
# v0.6.5
|
2
|
+
* Support recloning the control repo if the master is misclassified
|
3
|
+
* Prevent users from committing to branches they don't own
|
4
|
+
* Update the Docker container mount points
|
5
|
+
|
1
6
|
# v0.6.4
|
2
7
|
* Corrected some UI artifacts.
|
3
8
|
* Display username in alternate login section.
|
@@ -31,10 +31,11 @@ class Puppetfactory::Plugins::Docker < Puppetfactory::Plugins
|
|
31
31
|
environment = "#{@environments}/#{Puppetfactory::Helpers.environment_name(username)}"
|
32
32
|
binds = [
|
33
33
|
"/var/yum:/var/yum",
|
34
|
-
"/var/cache:/var/cache",
|
34
|
+
"/var/cache/rubygems:/var/cache/rubygems",
|
35
|
+
"/var/cache/yum:/var/cache/yum",
|
35
36
|
"/etc/pki/rpm-gpg:/etc/pki/rpm-gpg",
|
36
37
|
# "/etc/yum.repos.d:/etc/yum.repos.d", # we can't share this because of pe_repo.repo
|
37
|
-
"/opt/puppetlabs/server:/opt/puppetlabs/server",
|
38
|
+
# "/opt/puppetlabs/server:/opt/puppetlabs/server",
|
38
39
|
"/home/#{username}/puppet:#{@confdir}",
|
39
40
|
"/sys/fs/cgroup:/sys/fs/cgroup:ro"
|
40
41
|
]
|
@@ -10,6 +10,7 @@ class Puppetfactory::Plugins::Gitea < Puppetfactory::Plugins
|
|
10
10
|
|
11
11
|
@cache_dir = '/var/cache/puppetfactory/gitea'
|
12
12
|
@lockfile = '/var/cache/puppetfactory/gitea.lock'
|
13
|
+
@templatedir = options[:templatedir]
|
13
14
|
@suffix = options[:usersuffix]
|
14
15
|
@controlrepo = options[:controlrepo]
|
15
16
|
@reponame = File.basename(@controlrepo, '.git')
|
@@ -28,7 +29,7 @@ class Puppetfactory::Plugins::Gitea < Puppetfactory::Plugins
|
|
28
29
|
# gitea will scream if the admin's .ssh directory doesn't exist
|
29
30
|
FileUtils.mkdir_p(File.expand_path("~#{@admin_username}/.ssh"))
|
30
31
|
|
31
|
-
migrate_repo! unless File.directory?(@
|
32
|
+
migrate_repo! unless File.directory?(@repopath)
|
32
33
|
end
|
33
34
|
|
34
35
|
def create(username, password)
|
@@ -87,6 +88,12 @@ class Puppetfactory::Plugins::Gitea < Puppetfactory::Plugins
|
|
87
88
|
raise output unless status.success?
|
88
89
|
end
|
89
90
|
|
91
|
+
hookfile = File.expand_path("~#{@gitea_user}/gitea-repositories/root/#{@controlrepo}/hooks/pre-receive.d/pre-receive")
|
92
|
+
File.open(hookfile, 'w') do |f|
|
93
|
+
f.write ERB.new(File.read("#{@templatedir}/pre-receive.erb")).result(binding)
|
94
|
+
end
|
95
|
+
FileUtils.chmod 0755, hookfile
|
96
|
+
|
90
97
|
rescue => e
|
91
98
|
$logger.error "Error migrating repository: #{e.message}"
|
92
99
|
$logger.error e.backtrace.join("\n")
|
@@ -0,0 +1,19 @@
|
|
1
|
+
#! /bin/sh
|
2
|
+
while read oldrev newrev refname; do
|
3
|
+
author=$(git log -1 --format='%an' $newrev)
|
4
|
+
|
5
|
+
# superuser always gets a pass
|
6
|
+
if [[ "${author}" == "<%= @admin_username %>" ]]; then
|
7
|
+
continue
|
8
|
+
|
9
|
+
# creating a new branch
|
10
|
+
elif [[ "${oldrev}" == "0000000000000000000000000000000000000000" ]]; then
|
11
|
+
continue
|
12
|
+
|
13
|
+
elif [[ ! $refname =~ ^refs/heads/${author}-? ]]; then
|
14
|
+
echo "<br><br><br>-- Hi there. You should be working on the '${author}' branch or a feature branch. --<br><br><br>"
|
15
|
+
exit 1
|
16
|
+
fi
|
17
|
+
done
|
18
|
+
|
19
|
+
exit 0
|
metadata
CHANGED
@@ -1,16 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puppetfactory
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Ford
|
8
|
-
- Josh Samuelson
|
9
8
|
- Michael Marrero
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date: 2018-
|
12
|
+
date: 2018-06-28 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: sinatra
|
@@ -246,6 +245,7 @@ files:
|
|
246
245
|
- public/jstree-3.3.3/themes/default/style.min.css
|
247
246
|
- public/jstree-3.3.3/themes/default/throbber.gif
|
248
247
|
- templates/init_scripts.erb
|
248
|
+
- templates/pre-receive.erb
|
249
249
|
- templates/puppet.conf.erb
|
250
250
|
- templates/site.pp.erb
|
251
251
|
- views/currentuser.erb
|
@@ -275,7 +275,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
275
275
|
version: '0'
|
276
276
|
requirements: []
|
277
277
|
rubyforge_project:
|
278
|
-
rubygems_version: 2.
|
278
|
+
rubygems_version: 2.2.2
|
279
279
|
signing_key:
|
280
280
|
specification_version: 4
|
281
281
|
summary: Stands up a graphical classroom manager with containerized puppet agents.
|