class role::etherpad (
) {
$password_seed = lookup("base_installation::puppet_pass_seed")
+ $web_host = lookup("base_installation::real_hostname")
+ $web_listen = "0.0.0.0"
+ $web_port = 18000
+ $pg_db = "etherpad-lite"
+ $pg_user = "etherpad-lite"
+ $pg_password = generate_password(24, $password_seed, "postgres_etherpad")
+
+ $ldap_server = lookup("base_installation::ldap_server")
+ $ldap_base = lookup("base_installation::ldap_base")
+ $ldap_dn = lookup("base_installation::ldap_dn")
+ $ldap_account_pattern = "(&(memberOf=cn=users,cn=etherpad,ou=services,dc=immae,dc=eu)(uid={{username}}))"
+ $ldap_group_pattern = "(memberOf=cn=groups,cn=etherpad,ou=services,dc=immae,dc=eu)"
+ $ldap_password = generate_password(24, $password_seed, "ldap")
+
include "base_installation"
-> patch::file { "/usr/share/etherpad-lite/src/node/utils/LibreOffice.js":
diff_source => "puppet:///modules/role/etherpad/libreoffice_patch.diff",
}
+ -> file { "/etc/etherpad-lite/settings.json":
+ ensure => present,
+ owner => "etherpad-lite",
+ group => "etherpad-lite",
+ notify => Service["etherpad-lite"],
+ content => template("role/etherpad/settings.json.erb"),
+ }
$modules = [
"ep_aa_file_menu_toolbar",
subscribe => Aur::Package["etherpad-lite"],
}
- $web_host = "outils-1.v.immae.eu"
- $pg_db = "etherpad-lite"
- $pg_user = "etherpad-lite"
- $pg_password = generate_password(24, $password_seed, "postgres_etherpad")
-
profile::postgresql_master { "postgresql master for etherpad":
letsencrypt_host => $web_host,
backup_hosts => ["backup-1"],
--- /dev/null
+{
+ "title": "Etherpad",
+ "favicon": "favicon.ico",
+
+ "ip": "<%= @web_listen %>",
+ "port" : <%= @web_port %>,
+ "showSettingsInAdminPage" : false,
+ "dbType" : "postgres",
+ "dbSettings" : {
+ "user" : "<%= @pg_user %>",
+ "host" : "/run/postgresql",
+ "password": "",
+ "database": "<%= @pg_db %>",
+ "charset" : "utf8mb4"
+ },
+
+ "defaultPadText" : "Welcome to Etherpad!\n\nThis pad text is synchronized as you type, so that everyone viewing this page sees the same text. This allows you to collaborate seamlessly on documents!\n\nGet involved with Etherpad at http:\/\/etherpad.org\n",
+ "padOptions": {
+ "noColors": false,
+ "showControls": true,
+ "showChat": true,
+ "showLineNumbers": true,
+ "useMonospaceFont": false,
+ "userName": false,
+ "userColor": false,
+ "rtl": false,
+ "alwaysShowChat": false,
+ "chatAndUsers": false,
+ "lang": "en-gb"
+ },
+
+ "suppressErrorsInPadText" : false,
+ "requireSession" : false,
+ "editOnly" : false,
+ "sessionNoPassword" : false,
+ "minify" : true,
+ "maxAge" : 21600,
+ "abiword" : "/usr/bin/abiword",
+ "soffice" : "/usr/bin/soffice",
+ "tidyHtml" : "/usr/bin/tidy",
+ "allowUnknownFileEnds" : true,
+ "requireAuthentication" : false,
+ "requireAuthorization" : false,
+ "trustProxy" : false,
+ "disableIPlogging" : false,
+ "automaticReconnectionTimeout" : 0,
+ "scrollWhenFocusLineIsOutOfViewport": {
+ "percentage": {
+ "editionAboveViewport": 0,
+ "editionBelowViewport": 0
+ },
+ "duration": 0,
+ "scrollWhenCaretIsInTheLastLineOfViewport": false,
+ "percentageToScrollWhenUserPressesArrowUp": 0
+ },
+ "users": {
+ "ldapauth": {
+ "url": "ldaps://<%= @ldap_server %>",
+ "accountBase": "<%= @ldap_base %>",
+ "accountPattern": "<%= @ldap_account_pattern %>",
+ "displayNameAttribute": "cn",
+ "searchDN": "<%= @ldap_dn %>",
+ "searchPWD": "<%= @ldap_password %>",
+ "groupSearchBase": "<%= @ldap_base %>",
+ "groupAttribute": "member",
+ "groupAttributeIsDN": true,
+ "searchScope": "sub",
+ "groupSearch": "<%= @ldap_group_pattern %>",
+ "anonymousReadonly": false
+ }
+ },
+ "socketTransportProtocols" : ["xhr-polling", "jsonp-polling", "htmlfile"],
+ "loadTest": false,
+ "indentationOnNewLine": false,
+ "toolbar": {
+ "left": [
+ ["bold", "italic", "underline", "strikethrough"],
+ ["orderedlist", "unorderedlist", "indent", "outdent"],
+ ["undo", "redo"],
+ ["clearauthorship"]
+ ],
+ "right": [
+ ["importexport", "timeslider", "savedrevision"],
+ ["settings", "embed"],
+ ["showusers"]
+ ],
+ "timeslider": [
+ ["timeslider_export", "timeslider_returnToPad"]
+ ]
+ },
+ "loglevel": "INFO",
+ "logconfig" : { "appenders": [ { "type": "console" } ] }
+}