puppetfactory 0.6.4 → 0.6.5

Sign up to get free protection for your applications and to get access to all the features.
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.