1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
class ttrss {
include postgres;
package {
[
"tt-rss",
"php-pgsql",
"php-fpm",
]:
ensure => installed;
}
file {
"/etc/webapps/tt-rss/config.php":
source => "puppet:///modules/ttrss/config.php",
require => Package["tt-rss"];
"/etc/pacman.d/hooks":
ensure => directory;
"/etc/pacman.d/hooks/tt-rss.hook":
source => "puppet:///modules/ttrss/pacman-hook",
require => [
File["/etc/pacman.d/hooks"],
Package["tt-rss"],
];
}
exec { "create ttrss db user":
provider => shell,
command => "createuser -d ttrss",
user => 'postgres',
unless => "psql -Atc 'select usename from pg_catalog.pg_user' | grep -F ttrss",
require => [
Package["postgresql"],
Service["postgresql"],
];
}
exec { "create ttrss db":
provider => shell,
command => "createdb -U ttrss ttrss",
user => 'postgres',
unless => "psql -Atc 'select datname from pg_catalog.pg_database' | grep -F ttrss",
require => [
Exec["create ttrss db user"],
Package["postgresql"],
Service["postgresql"],
];
}
exec { "fixup php.ini":
provider => shell,
command => "sed -i 's/^;\\(extension=.*pgsql\\)$/\\1/' /etc/php/php.ini",
unless => "grep -q '^extension=pgsql$' /etc/php/php.ini && grep -q '^extension=pdo_pgsql$' /etc/php/php.ini",
require => Package["php-pgsql"];
}
exec { "initialize tt-rss db":
provider => shell,
command => "psql ttrss -U ttrss -f /usr/share/webapps/tt-rss/schema/ttrss_schema_pgsql.sql",
user => 'postgres',
unless => "psql -d ttrss -Atc 'select relname from pg_catalog.pg_class;' | grep -q '^ttrss'",
require => [
Package["postgresql"],
Service["postgresql"],
Exec["create ttrss db"],
Package["tt-rss"],
File["/etc/webapps/tt-rss/config.php"],
]
}
service { "tt-rss":
ensure => running,
enable => true,
require => [
Package["tt-rss"],
Exec["fixup php.ini"],
File["/etc/webapps/tt-rss/config.php"],
Exec["create ttrss db"],
]
}
service { "php-fpm":
ensure => running,
enable => true,
require => Package["php-fpm"];
}
}
|