From e9ba3cdf1a530c7fa16fe362c56474227fdf4c7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Sun, 7 Aug 2022 23:39:19 +0200 Subject: Shiori Start writing support for other databases. --- manifests/init.pp | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/manifests/init.pp b/manifests/init.pp index 69d5fde..dbadf59 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -1,9 +1,14 @@ class shiori ( $port = 8080, $dir = '/var/www/shiori', + Enum['sqlite', 'mysql', 'postgresql'] $database = 'sqlite', + Boolean $manage_db = true, + Optional[String] $db_pass = undef, + Optional[String] $db_addr = undef, + String $db_user = 'shiori', + String $db_name = 'shiori', ) { - # on arch this is available through the aur package { 'shiori-bin': ensure => installed, @@ -43,6 +48,34 @@ class shiori ( source => 'puppet:///modules/shiori/shiori.service', } + case $database { + 'sqlite': { + } + 'mysql': { + $extra_config = { + 'SHIORI_DBMS' => 'mysql', + 'SHIORI_MYSQL_USER' => '', + } + if ($manage_db) { + error("Can't managae MySQL") + } + } + 'postgresql': { + $extra_config = { + 'SHIORI_DBMS' => 'postgresql', + 'SHIORI_PG_USER' => '', + 'SHIORI_PG_PASS' => '', + 'SHIORI_PG_NAME' => '', + 'SHIORI_PG_HOST' => '', + 'SHIORI_PG_PORT' => '', + } + if ($manage_db) { + # create database + # create database user + } + } + } + file { '/etc/conf.d/shiori': ensure => 'file', content => @("EOF") -- cgit v1.2.3