Report abuse

1
2
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
34
35
36
37
# manifests/nodes.pp
none 'svn.acuminous.meh' {
  import "subversion"
  svn_repo { acuminous:
    base => "/var/svn"
  }
}

# modules/subversion/manifests/init.pp

class subversion {
  package { subversion:
    name => "subversion",
    ensure => installed,
    require => File["package.use"]
  }
  file { "package.use":
    etc...
  }
}

define svn_repo($base) {
  $path = "$base/$name"
  file { "$base":
    ensure => directory,
    mode => 0644,
    owner => "root",
    path => "$base",
    recurse => true
  }
  exec { "create repo ${path}": 
    command => "/usr/bin/svnadmin create $path",
    creates => "$path",
    require => File["$base"],
    require => Class["subversion"]
  }
}