Defined Type: gitssh::repo

Defined in:
manifests/repo.pp

Overview

Define: gitssh::repo

Parameters:

  • ensure (Any) (defaults to: present)


3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'manifests/repo.pp', line 3

define gitssh::repo(
  $ensure = present,
  ) {
  include '::gitssh'
  include '::gitssh::params'

  $basedir = $::gitssh::basedir
  $dirname = "${basedir}/${title}.git"

  if $ensure == present {
    exec { "${::gitssh::params::mkdir} ${dirname}":
      unless  => "/usr/bin/test -d ${dirname}",
      user    => 'git',
      require => Package[$::gitssh::package_name],
      notify  => Exec["create_repo ${title}"]
    }

    exec { "create_repo ${title}":
      command     => '/usr/bin/git --bare init',
      cwd         => $dirname,
      refreshonly => true,
      user        => 'git'
    }
  } elsif $ensure == absent {
    file { $dirname:
      ensure => absent,
    }
  } else {
    fail("Unknow value '${ensure}' passed to ensure!")
  }
}