]> git.r.bdr.sh - rbdr/dead-drop/blobdiff - config/config.js
Merge branch 'release/1.0.0'
[rbdr/dead-drop] / config / config.js
diff --git a/config/config.js b/config/config.js
new file mode 100644 (file)
index 0000000..b1a1fac
--- /dev/null
@@ -0,0 +1,35 @@
+'use strict';
+
+const Getenv = require('getenv');
+
+const internals = {};
+
+/**
+ * The main configuration object for Dead Drop. It will be used to
+ * initialize all of the sub-components. It can extend any property of
+ * the dead drop object.
+ *
+ * @memberof DeadDrop
+ * @typedef {object} tConfiguration
+ * @property {number} [port=1988] the port where the app will listen on
+ * @property {string} twilioAccountSid the twilio account sid used to authorize calls
+ * @property {DeadDrop.tRedisConfiguration} redis the configuration to
+ * connect to the redis server
+ */
+module.exports = internals.Config = {
+  port: Getenv.int('DEAD_DROP_PORT', 1988),
+  twilioAccountSid: Getenv('DEAD_DROP_TWILIO_ACCOUNT_SID'),
+
+  /**
+   * Information required to connect to the redis server
+   *
+   * @memberof DeadDrop
+   * @typedef {object} tRedisConfiguration
+   * @property {string} host the location of the redis host
+   * @property {string} [post=6379] port where redis server is listening
+   */
+  redis: {
+    host: Getenv('DEAD_DROP_REDIS_HOST'),
+    port: Getenv.int('DEAD_DROP_REDIS_PORT', 6379)
+  }
+};