summaryrefslogtreecommitdiff
path: root/manifests/init.pp
blob: c1a981be4dce065cff15b8eb8cc962ea17abf739 (plain)
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
class cgit (
	String $root = '/var/www/cgit',
	String $filterpath = '/usr/lib/cgit/extra-filters',
	String $root_title,
	String $root_desc,
	String $about_filter,
	String $auth_filter,
	String $source_filter,
	String $scan_path,
	Array[String] $clone_url,
) {

	# TODO figure out where CSS comes from

	ensure_packages([
		'cgit',
	], { ensure => installed })

	file { '/etc/cgitrc':
	  ensure => file,
	  content => epp('cgit/cgitrc.epp'),
	}

	file { "${root}/logo":
		ensure => directory,
	}

	file { "${root}/logo/logo.png":
		ensure => file,
		source => 'puppet:///modules/cgit/logo.png',
	}

	file { "${root}/logo/logo_large.png":
		ensure => file,
		source => 'puppet:///modules/cgit/logo_large.png',
	}

	file { "${root}/root_readme":
		ensure => file,
		source => 'puppet:///modules/cgit/root_readme',
	}

	file { dirname($filterpath):
		ensure => directory,
	}

	file { $filterpath:
		ensure => directory,
	}

	[$about_filter, $source_filter, $auth_filter].each |$f| {
		file { "${filterpath}/${f}":
			ensure => file,
		    source => "puppet:///modules/cgit/filters/${f}",
			mode   => stdlib::extname($f) ? {
				 '.lua'  => '0444',
				 default => '0555',
			},
		}
	}

}