From e738981089accbfb39bad1cb313281d966c07ed7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Tue, 11 Oct 2022 01:20:53 +0200 Subject: Rewrote filter system. --- manifests/filter.pp | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 manifests/filter.pp (limited to 'manifests/filter.pp') diff --git a/manifests/filter.pp b/manifests/filter.pp new file mode 100644 index 0000000..2dda015 --- /dev/null +++ b/manifests/filter.pp @@ -0,0 +1,53 @@ +define cgit::filter ( + String $filtername = $name, + Optional[String] $source = undef, + Optional[String] $content = undef, + Hash $file_props = {}, + Enum['lua', 'exec'] $type = stdlib::extname($source) ? { + '.lua' => 'lua', + default => 'exec', + } +) { + + $valid_filters = [ + 'about', + 'auth', + 'commit', + 'email', + 'owner', + 'source', + ] + + if ! member($valid_filters, $filtername) { + crit("${filtername} not a valid cgit filter") + } + + $dest = "${cgit::filterpath}/${filtername}-filter" + + file { $dest: + ensure => file, + mode => type ? { + 'lua' => '0444', + 'exec' => '0555', + } + source => $source, + content => $content, + * => $file_props, + } + + concat::fragment { "cgit config ${}": + target => $::cgit::cgitrc, + content => "${filter_name}-filter=${type}:${dest}\n", + } + + [$about_filter, $source_filter].each |$f| { + file { "${filterpath}/${f}": + ensure => file, + source => "puppet:///modules/cgit/filters/${f}", + mode => stdlib::extname($f) ? { + '.lua' => '0444', + default => '0555', + }, + } + } +} -- cgit v1.2.3