3 $password_seed = lookup("base_installation::puppet_pass_seed")
5 include "base_installation"
7 include "profile::tools"
8 include "profile::postgresql"
9 include "profile::apache"
11 ensure_packages(["npm"])
12 ensure_packages(["abiword"])
13 ensure_packages(["libreoffice-fresh", "libreoffice-fresh-fr", "java-runtime-common", "jre8-openjdk"])
14 ensure_packages(["tidy"])
15 aur::package { "etherpad-lite": }
18 "ep_aa_file_menu_toolbar",
22 "ep_clear_formatting",
24 "ep_copy_paste_select_all",
36 "ep_set_title_on_pad",
37 "ep_subscript_and_superscript",
41 $modules.each |$module| {
42 exec { "npm_install_$module":
43 command => "/usr/bin/npm install $module",
44 unless => "/usr/bin/test -d /usr/share/etherpad-lite/node_modules/$module",
45 cwd => "/usr/share/etherpad-lite/",
46 environment => "HOME=/root",
47 require => Aur::Package["etherpad-lite"],
48 before => Service["etherpad-lite"],
49 notify => Service["etherpad-lite"],
52 file { "/usr/share/etherpad-lite/node_modules/$module/.ep_initialized":
55 before => Service["etherpad-lite"],
59 service { "etherpad-lite":
62 require => Aur::Package["etherpad-lite"],
63 subscribe => Aur::Package["etherpad-lite"],
66 $web_host = "outils-1.v.immae.eu"
67 $pg_db = "etherpad-lite"
68 $pg_user = "etherpad-lite"
69 $pg_password = generate_password(24, $password_seed, "postgres_etherpad")
71 file { "/var/lib/postgres/data/certs":
74 owner => $::profile::postgresql::pg_user,
75 group => $::profile::postgresql::pg_user,
76 require => File["/var/lib/postgres"],
79 file { "/var/lib/postgres/data/certs/cert.pem":
80 source => "file:///etc/letsencrypt/live/$web_host/cert.pem",
83 owner => $::profile::postgresql::pg_user,
84 group => $::profile::postgresql::pg_user,
85 require => [Letsencrypt::Certonly[$web_host], File["/var/lib/postgres/data/certs"]]
88 file { "/var/lib/postgres/data/certs/privkey.pem":
89 source => "file:///etc/letsencrypt/live/$web_host/privkey.pem",
92 owner => $::profile::postgresql::pg_user,
93 group => $::profile::postgresql::pg_user,
94 require => [Letsencrypt::Certonly[$web_host], File["/var/lib/postgres/data/certs"]]
97 postgresql::server::config_entry { "wal_level":
101 postgresql::server::config_entry { "ssl":
103 require => Letsencrypt::Certonly[$web_host],
106 postgresql::server::config_entry { "ssl_cert_file":
107 value => "/var/lib/postgres/data/certs/cert.pem",
108 require => Letsencrypt::Certonly[$web_host],
111 postgresql::server::config_entry { "ssl_key_file":
112 value => "/var/lib/postgres/data/certs/privkey.pem",
113 require => Letsencrypt::Certonly[$web_host],
116 postgresql::server::db { $pg_db:
118 password => postgresql_password($pg_user, $pg_password),
121 postgresql::server::pg_hba_rule { "allow local access to $pg_user user":
125 auth_method => 'ident',