summaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2018-10-18 18:56:28 -0400
committerJesse Luehrs <doy@tozt.net>2018-10-18 18:56:28 -0400
commitea4b286d1202ffcc81564cb843e21bf62dd2bd80 (patch)
tree513ce82a3bf148fc88d9a08b61ab510710f9f5aa /modules
parent1cdecce2a863cc95e7e977130209f0ee27c2ba2c (diff)
downloadpuppet-tozt-ea4b286d1202ffcc81564cb843e21bf62dd2bd80.tar.gz
puppet-tozt-ea4b286d1202ffcc81564cb843e21bf62dd2bd80.zip
run cgit on git.tozt.net
Diffstat (limited to 'modules')
-rw-r--r--modules/git/manifests/server.pp13
-rw-r--r--modules/tozt/files/cgitrc4
-rw-r--r--modules/tozt/files/nginx/git-tls.conf22
-rw-r--r--modules/tozt/files/nginx/git.conf10
-rw-r--r--modules/tozt/manifests/git.pp37
5 files changed, 86 insertions, 0 deletions
diff --git a/modules/git/manifests/server.pp b/modules/git/manifests/server.pp
new file mode 100644
index 0000000..7d40be9
--- /dev/null
+++ b/modules/git/manifests/server.pp
@@ -0,0 +1,13 @@
+class git::server {
+ package {
+ [
+ "cgit",
+ "fcgiwrap",
+ ]:
+ ensure => installed,
+ }
+
+ service { "fcgiwrap.socket":
+ ensure => running,
+ }
+}
diff --git a/modules/tozt/files/cgitrc b/modules/tozt/files/cgitrc
new file mode 100644
index 0000000..47fca1a
--- /dev/null
+++ b/modules/tozt/files/cgitrc
@@ -0,0 +1,4 @@
+css=/cgit.css
+logo=/cgit.png
+
+scan-path=/media/persistent/git/
diff --git a/modules/tozt/files/nginx/git-tls.conf b/modules/tozt/files/nginx/git-tls.conf
new file mode 100644
index 0000000..6e0dfbb
--- /dev/null
+++ b/modules/tozt/files/nginx/git-tls.conf
@@ -0,0 +1,22 @@
+server {
+ listen 443;
+ server_name git.tozt.net;
+
+ access_log /var/log/nginx/git.access.log;
+ error_log /var/log/nginx/git.error.log;
+
+ include ssl;
+
+ root /usr/share/webapps/cgit;
+ try_files $uri @cgit;
+
+ location @cgit {
+ include fastcgi_params;
+ fastcgi_param SCRIPT_FILENAME $document_root/cgit.cgi;
+ fastcgi_param PATH_INFO $uri;
+ fastcgi_param QUERY_STRING $args;
+ fastcgi_param HTTP_HOST $server_name;
+ fastcgi_pass unix:/run/fcgiwrap.sock;
+ }
+}
+# vim:ft=nginx
diff --git a/modules/tozt/files/nginx/git.conf b/modules/tozt/files/nginx/git.conf
new file mode 100644
index 0000000..cafdcc8
--- /dev/null
+++ b/modules/tozt/files/nginx/git.conf
@@ -0,0 +1,10 @@
+server {
+ listen 80;
+ server_name git.tozt.net;
+
+ access_log /var/log/nginx/git.access.log;
+ error_log /var/log/nginx/git.error.log;
+
+ rewrite ^(.*) https://$host$1 permanent;
+}
+# vim:ft=nginx
diff --git a/modules/tozt/manifests/git.pp b/modules/tozt/manifests/git.pp
new file mode 100644
index 0000000..5beee5b
--- /dev/null
+++ b/modules/tozt/manifests/git.pp
@@ -0,0 +1,37 @@
+class tozt::git {
+ include git::server
+ include tozt::certbot
+ include tozt::persistent
+
+ file {
+ "/media/persistent/git/doy":
+ ensure => directory,
+ owner => 'doy',
+ group => 'doy',
+ require => [
+ Class['tozt::persistent'],
+ User['doy'],
+ Group['doy'],
+ ];
+ "/home/doy/git":
+ ensure => link,
+ target => "/media/persistent/git/doy",
+ owner => 'doy',
+ group => 'doy',
+ require => [
+ User['doy'],
+ Group['doy'],
+ File["/home/doy"],
+ ];
+ "/etc/cgitrc":
+ source => "puppet:///modules/tozt/cgitrc";
+ }
+
+ nginx::site {
+ "git-tls":
+ source => 'puppet:///modules/tozt/nginx/git-tls.conf',
+ require => Class['certbot'];
+ "git":
+ source => 'puppet:///modules/tozt/nginx/git.conf';
+ }
+}