=== modified file 'config.yaml'
--- config.yaml	2015-03-31 09:37:21 +0000
+++ config.yaml	2015-08-13 19:47:36 +0000
@@ -19,3 +19,7 @@
     default: ""
     type: string
     description: "Base64-encoded SSL key"
+  extra-config:
+    type: string
+    default: ''
+    description: "Base64-encoded custom configuration content."

=== modified file 'hooks/config-changed'
--- hooks/config-changed	2015-08-04 14:10:31 +0000
+++ hooks/config-changed	2015-08-13 19:47:36 +0000
@@ -60,6 +60,12 @@
                 p.write(render(os.path.basename(f), opts))
 
     config_data = hookenv.config()
+
+    # Write custom configuration if set.
+    if config_data['extra_config']:
+        with open(os.path.join(BASEPATH, 'conf.d', 'extra.conf'), 'w') as f:
+            f.write(str(base64.b64decode(config_data['extra_config'])))
+
     # Only setup lumberjack protocol if ssl cert and key are configured
     if config_data['ssl_cert'] and config_data['ssl_key']:
         if not os.path.exists(cert_dir):

