From c453fd651993f06c24dcd87e773f669f37ebd05a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Tue, 4 Jan 2022 02:27:00 +0100 Subject: Remaining stuff on gandalf. --- modules/profiles/manifests/dns_zones.pp | 12 +++++ modules/profiles/manifests/webdav.pp | 8 ++++ modules/profiles/manifests/webdav_server.pp | 71 ----------------------------- modules/profiles/manifests/workstation.pp | 7 +++ 4 files changed, 27 insertions(+), 71 deletions(-) create mode 100644 modules/profiles/manifests/dns_zones.pp create mode 100644 modules/profiles/manifests/webdav.pp delete mode 100644 modules/profiles/manifests/webdav_server.pp (limited to 'modules/profiles/manifests') diff --git a/modules/profiles/manifests/dns_zones.pp b/modules/profiles/manifests/dns_zones.pp new file mode 100644 index 0000000..8e9edf8 --- /dev/null +++ b/modules/profiles/manifests/dns_zones.pp @@ -0,0 +1,12 @@ +class profiles::dns_zones ( + Hash $zones, + Hash $default = {}, +) { + create_resources(dns::zone, $zones, $default) + + $rev_zone = dns::reverse_dns($facts['networking']['network6'])[32,-1] + dns::zone { $rev_zone: + reverse => true, + } + +} diff --git a/modules/profiles/manifests/webdav.pp b/modules/profiles/manifests/webdav.pp new file mode 100644 index 0000000..88b2668 --- /dev/null +++ b/modules/profiles/manifests/webdav.pp @@ -0,0 +1,8 @@ +class profiles::webdav ( + Hash[String,Hash] $servers, + Array[Array[String,2,2]] $users, +) { + create_resources(webdav_server, $servers, { + users => $users + }) +} diff --git a/modules/profiles/manifests/webdav_server.pp b/modules/profiles/manifests/webdav_server.pp deleted file mode 100644 index 1471495..0000000 --- a/modules/profiles/manifests/webdav_server.pp +++ /dev/null @@ -1,71 +0,0 @@ -define profiles::webdav_server ( - String $nginx_server, - String $file_path, - String $location = $name, - String $passwd_file = "${file_path}/.htpasswd", - String $owner = 'http', - String $group = 'share', - Array[Array[String,2,2]] $users = [], - Array[String] $dav_methods = ['PUT', 'DELETE', 'MKCOL', 'COPY', 'MOVE'], - Array[String] $dav_ext_methods = ['PROPFIND', 'OPTIONS'], - Hash[String,String] $dav_access = { - 'user' => 'rw', - 'group' => 'rw', - } -) { - - # TODO install this module somehow - # AUR: nginx-mainline-mod-dav-ext - - require ::nginx - - $modname = 'ngx_http_dav_ext_module' - file { "/etc/nginx/modules-enabled/${modname}.conf": - ensure => file, - content => @("EOF") - load_module /usr/lib/nginx/modules/${modname}.so; - | EOF - } - - $lines = $users.map |$pair| { $pair.join(':') }.join("\n") - - file { - default: - owner => $owner, - group => $group, - ; - $file_path: - ensure => 'directory', - mode => '0770', - recurse => 'false', - ; - $passwd_file: - ensure => 'file', - mode => '0660', - content => @("EOF") - # File managed by puppet - ${lines} - | EOF - ; - } - - nginx::resource::location { $location: - server => $nginx_server, - location_alias => $file_path, - ssl => true, - ssl_only => true, - - auth_basic => 'Enter password for dav access', - auth_basic_user_file => $passwd_file, - - location_cfg_append => { - 'dav_methods' => $dav_methods.join(' '), - 'dav_ext_methods' => $dav_ext_methods.join(' '), - 'dav_access' => $dav_access.map |$k, $v| { "${k}:${v}" }.join(' '), - 'client_body_temp_path' => "${file_path}/tmp", - 'create_full_put_path' => 'on', - 'autoindex' => 'on', - 'allow' => 'all', - } - } -} diff --git a/modules/profiles/manifests/workstation.pp b/modules/profiles/manifests/workstation.pp index 1e9fd3e..2e44016 100644 --- a/modules/profiles/manifests/workstation.pp +++ b/modules/profiles/manifests/workstation.pp @@ -144,4 +144,11 @@ class profiles::workstation { ensure => link, target => "/usr/share/zoneinfo/${timezone}", } + + systemd_mount { '/usr/net': + what => 'elrond:/files', + where => '/usr/net', + wantedBy => 'remote-fs.target', + automount => true, + } } -- cgit v1.2.3