summaryrefslogtreecommitdiff
path: root/manifests
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2021-12-30 00:20:37 +0100
committerHugo Hörnquist <hugo@lysator.liu.se>2021-12-30 00:29:55 +0100
commite2efe48b245cf89e0a1f101233b5b05fa975c93b (patch)
treeb6971e406980b08324c2ecfe27c9ef6ffbd1d6d6 /manifests
parentPublic repos.? (diff)
downloadwebdav_server-e2efe48b245cf89e0a1f101233b5b05fa975c93b.tar.gz
webdav_server-e2efe48b245cf89e0a1f101233b5b05fa975c93b.tar.xz
Move cgit setup to module.
Diffstat (limited to 'manifests')
-rw-r--r--manifests/site.pp89
1 files changed, 9 insertions, 80 deletions
diff --git a/manifests/site.pp b/manifests/site.pp
index 1fca9eb..34ed9a7 100644
--- a/manifests/site.pp
+++ b/manifests/site.pp
@@ -154,24 +154,27 @@ node 'hornquist.se' {
],
}
- $cgit_root = '/var/www/cgit'
$blog_root = '/var/www/blog'
+ $certname = 'hornquist'
class { '::cgit':
- root => $cgit_root,
+ root => '/var/www/cgit',
root_title => 'Hornquist Git Repositiories',
root_desc => 'ᛏᚨᚾᛞᛖᛋ᛫ᛖᚾᛞᚨᛋᛏ᛫ᛗᛟᛏ᛫ᛚᚨᛞᚨᚾᛋ᛫ᛈᛚᚨᚾ',
+
about_filter => 'hugo-pre.sh',
auth_filter => 'hugo-authentication.lua',
source_filter => 'hugo-highlighting.sh',
+
scan_path => '/home/git/git',
- enable_http_clone => false,
+ enable_http_clone => false,
clone_url => [
- 'https://git.hornquist.se/$CGIT_REPO_URL',
- 'https://$HTTP_HOST$SCRIPT_NAME/$CGIT_REPO_URL',
+ 'https://git.hornquist.se/$CGIT_REPO_URL.git',
'git@hornquist.se:git/$CGIT_REPO_URL.git',
- '(HTTP_only_for_public_repos)',
],
+ manage_server => 'nginx',
+ server_name => 'git.hornquist.se',
+ certname => $certname,
}
# https://buddy.works/blog/how-deploy-projects-with-git
@@ -219,7 +222,6 @@ node 'hornquist.se' {
},
}
- $certname = 'hornquist'
class { '::letsencrypt':
config => {
@@ -325,79 +327,6 @@ node 'hornquist.se' {
www_root => '/var/www/wiki/public/html',
}
- nginx::resource::server { 'cgit':
- server_name => [
- 'git.hornquist.se',
- ],
- access_log => 'absent',
- error_log => 'absent',
- index_files => [],
- try_files => [ '$uri', '@cgit' ],
- ssl => true,
- ssl_cert => "/etc/letsencrypt/live/${certname}/fullchain.pem",
- ssl_key => "/etc/letsencrypt/live/${certname}/privkey.pem",
- use_default_location => true,
- www_root => $cgit_root,
- ssl_redirect => true,
- # /usr/lib/cgit/cgit.cgi
- # /usr/share/cgit/cgit.css
- }
-
- nginx::resource::location { '@cgit':
- fastcgi_params => 'fastcgi_params',
- fastcgi_param => {
- 'SCRIPT_FILENAME' => '/usr/lib/cgit/cgit.cgi',
- 'PATH_INFO' => '$fastcgi_script_name',
- 'QUERY_STRING' => '$args',
- },
- ssl_only => true,
- fastcgi => 'unix:/run/fcgiwrap.socket',
- server => [
- 'cgit',
- ],
- }
-
- $cgit_htpasswd = '/var/lib/nginx/cgit-htpasswd'
- file { $cgit_htpasswd:
- ensure => file,
- content => $cgit::users.map |$user| {
- [$user['name'], $user['pass']].join(':')
- }.join("\n")
- }
-
- nginx::resource::location {
- $cgit::public_repos.map |$repo| { "~ ^(/${repo}\\.git/.*)" }:
- server => 'cgit',
- ssl_only => true,
- priority => 450,
- fastcgi => 'unix:/run/fcgiwrap.socket',
- fastcgi_params => 'fastcgi_params',
- fastcgi_param => {
- 'SCRIPT_FILENAME' => '/usr/lib/git-core/git-http-backend',
- 'GIT_PROJECT_ROOT' => '/home/git/git',
- 'GIT_HTTP_EXPORT_ALL' => '""',
- 'PATH_INFO' => '$1',
- }
- }
-
-
- nginx::resource::location { '~ (.*\.git/.*)':
- server => 'cgit',
- ssl_only => true,
- location_cfg_append => {
- auth_basic => '"CGit login"',
- auth_basic_user_file => $cgit_htpasswd,
- },
- fastcgi => 'unix:/run/fcgiwrap.socket',
- fastcgi_params => 'fastcgi_params',
- fastcgi_param => {
- 'SCRIPT_FILENAME' => '/usr/lib/git-core/git-http-backend',
- 'GIT_PROJECT_ROOT' => '/home/git/git',
- 'GIT_HTTP_EXPORT_ALL' => '""',
- 'PATH_INFO' => '$1',
- }
- }
-
nginx::resource::location { '/':
try_files => ['$uri', '$uri/', '=404'],
index_files => [],