From 580bd7fc5d4b078f8dec2fd440e5989b5f963f61 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Isma=C3=ABl=20Bouya?= Date: Sat, 23 Jun 2018 14:02:48 +0200 Subject: [PATCH] Add json file --- modules/role/manifests/etherpad.pp | 26 +++++- .../role/templates/etherpad/settings.json.erb | 93 +++++++++++++++++++ 2 files changed, 114 insertions(+), 5 deletions(-) create mode 100644 modules/role/templates/etherpad/settings.json.erb diff --git a/modules/role/manifests/etherpad.pp b/modules/role/manifests/etherpad.pp index a43f146..109da96 100644 --- a/modules/role/manifests/etherpad.pp +++ b/modules/role/manifests/etherpad.pp @@ -1,6 +1,20 @@ 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" @@ -16,6 +30,13 @@ class role::etherpad ( -> 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", @@ -66,11 +87,6 @@ class role::etherpad ( 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"], diff --git a/modules/role/templates/etherpad/settings.json.erb b/modules/role/templates/etherpad/settings.json.erb new file mode 100644 index 0000000..dfd69c1 --- /dev/null +++ b/modules/role/templates/etherpad/settings.json.erb @@ -0,0 +1,93 @@ +{ + "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" } ] } +} -- 2.41.0