]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - nixops/modules/websites/tools/mediagoblin/mediagoblin.nix
Move etherpad and mediagoblin keys to secure location
[perso/Immae/Config/Nix.git] / nixops / modules / websites / tools / mediagoblin / mediagoblin.nix
index e1876ae18400365e7cc249ecc73e2a93221c7582..23ee24d9657bf5b5722924b805ca3db0b206b45e 100644 (file)
@@ -190,61 +190,67 @@ in
       url_scheme = https
       '';
 
-    mediagoblin_local = writeText "mediagoblin_local.ini" ''
-      [DEFAULT]
-      data_basedir = "${varDir}"
+    keys.tools-mediagoblin = {
+      destDir = "/run/keys/webapps";
+      user = "mediagoblin";
+      group = "mediagoblin";
+      permissions = "0400";
+      text = ''
+        [DEFAULT]
+        data_basedir = "${varDir}"
 
-      [mediagoblin]
-      direct_remote_path = /mgoblin_static/
-      email_sender_address = "mediagoblin@tools.immae.eu"
+        [mediagoblin]
+        direct_remote_path = /mgoblin_static/
+        email_sender_address = "mediagoblin@tools.immae.eu"
 
-      #sql_engine = sqlite:///%(data_basedir)s/mediagoblin.db
-      sql_engine = ${env.psql_url}
+        #sql_engine = sqlite:///%(data_basedir)s/mediagoblin.db
+        sql_engine = ${env.psql_url}
 
-      email_debug_mode = false
-      allow_registration = false
-      allow_reporting = true
+        email_debug_mode = false
+        allow_registration = false
+        allow_reporting = true
 
-      theme = airymodified
+        theme = airymodified
 
-      user_privilege_scheme = "uploader,commenter,reporter"
+        user_privilege_scheme = "uploader,commenter,reporter"
 
-      # We need to redefine them here since we override data_basedir
-      # cf /usr/share/webapps/mediagoblin/mediagoblin/config_spec.ini
-      workbench_path = %(data_basedir)s/media/workbench
-      crypto_path = %(data_basedir)s/crypto
-      theme_install_dir = %(data_basedir)s/themes/
-      theme_linked_assets_dir = %(data_basedir)s/theme_static/
-      plugin_linked_assets_dir = %(data_basedir)s/plugin_static/
+        # We need to redefine them here since we override data_basedir
+        # cf /usr/share/webapps/mediagoblin/mediagoblin/config_spec.ini
+        workbench_path = %(data_basedir)s/media/workbench
+        crypto_path = %(data_basedir)s/crypto
+        theme_install_dir = %(data_basedir)s/themes/
+        theme_linked_assets_dir = %(data_basedir)s/theme_static/
+        plugin_linked_assets_dir = %(data_basedir)s/plugin_static/
 
-      [storage:queuestore]
-      base_dir = %(data_basedir)s/media/queue
+        [storage:queuestore]
+        base_dir = %(data_basedir)s/media/queue
 
-      [storage:publicstore]
-      base_dir = %(data_basedir)s/media/public
-      base_url = /mgoblin_media/
+        [storage:publicstore]
+        base_dir = %(data_basedir)s/media/public
+        base_url = /mgoblin_media/
 
-      [celery]
-      CELERY_RESULT_DBURI = ${env.redis_url}
-      BROKER_URL = ${env.redis_url}
-      CELERYD_CONCURRENCY = 1
+        [celery]
+        CELERY_RESULT_DBURI = ${env.redis_url}
+        BROKER_URL = ${env.redis_url}
+        CELERYD_CONCURRENCY = 1
 
-      [plugins]
-        [[mediagoblin.plugins.geolocation]]
-        [[mediagoblin.plugins.ldap]]
-          [[[immae.eu]]]
-            LDAP_SERVER_URI = 'ldaps://ldap.immae.eu:636'
-            LDAP_SEARCH_BASE = 'dc=immae,dc=eu'
-            LDAP_BIND_DN = 'cn=mediagoblin,ou=services,dc=immae,dc=eu'
-            LDAP_BIND_PW = '${env.ldap.password}'
-            LDAP_SEARCH_FILTER = '(&(memberOf=cn=users,cn=mediagoblin,ou=services,dc=immae,dc=eu)(uid={username}))'
-            EMAIL_SEARCH_FIELD = 'mail'
-        [[mediagoblin.plugins.basicsearch]]
-        [[mediagoblin.plugins.piwigo]]
-        [[mediagoblin.plugins.processing_info]]
-        [[mediagoblin.media_types.image]]
-        [[mediagoblin.media_types.video]]
-      '';
+        [plugins]
+          [[mediagoblin.plugins.geolocation]]
+          [[mediagoblin.plugins.ldap]]
+            [[[immae.eu]]]
+              LDAP_SERVER_URI = 'ldaps://ldap.immae.eu:636'
+              LDAP_SEARCH_BASE = 'dc=immae,dc=eu'
+              LDAP_BIND_DN = 'cn=mediagoblin,ou=services,dc=immae,dc=eu'
+              LDAP_BIND_PW = '${env.ldap.password}'
+              LDAP_SEARCH_FILTER = '(&(memberOf=cn=users,cn=mediagoblin,ou=services,dc=immae,dc=eu)(uid={username}))'
+              EMAIL_SEARCH_FIELD = 'mail'
+          [[mediagoblin.plugins.basicsearch]]
+          [[mediagoblin.plugins.piwigo]]
+          [[mediagoblin.plugins.processing_info]]
+          [[mediagoblin.media_types.image]]
+          [[mediagoblin.media_types.video]]
+        '';
+    };
     pythonRoot =
       with pkgs.gst_all_1;
       stdenv.mkDerivation {
@@ -281,7 +287,7 @@ in
             --prefix GI_TYPELIB_PATH : ${typelib_paths}
           find . -type f -exec sed -i "s|$mediagoblin|$out|g" {} \;
           ln -s ${paste_local} ./paste_local.ini
-          ln -s ${mediagoblin_local} ./mediagoblin_local.ini
+          ln -s /run/keys/webapps/tools-mediagoblin ./mediagoblin_local.ini
           ln -sf ${varDir} ./user_dev
           '';
       };