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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 38a7e8adf9316dfd8228109df2fdf418988cb1cf
4
- data.tar.gz: d860112658d89746e951733c69edac617bf6d862
3
+ metadata.gz: 0defb4a5fbab3fde2d073057715dc654b1be2fec
4
+ data.tar.gz: 643d210bd66a82fd45dd6ccb2a92d2e712e5be2b
5
5
  SHA512:
6
- metadata.gz: ba9b43f391a6d3e9e9bb5dc469ff63fe368c592a77ffa986dd542a5707afb4843d54c82989dfaf2742b905710ff1fd4be9c022f27d59bafc6f93d9b1c7c21ed2
7
- data.tar.gz: e44cd56760233534a617db20435a84f13f57f9a3ba347cb35058255c722fdbb567b6759140bb9e8109e2eaf7c6b5f8b16287884fd59e143fec27ac671e656539
6
+ metadata.gz: a01c67184868af5f3a0d0c86afbee274158bbc718cebe9895ded0d503b8ac33df569a28a98bad983308a673f596bce4ce4388780b688c92c802540d838821587
7
+ data.tar.gz: 5ccd590f691f071cbf7b6b83c0a21c560341b639a65269fed98a2eafbf8a438b9932c4e98d615c2d089835ca50ec530009b5e7348519ae6bbe603078518bfdee
@@ -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?(@cache_dir)
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
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-01-23 00:00:00.000000000 Z
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.5.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.