Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F33032628
D7351.1768405569.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
6 KB
Referenced Files
None
Subscribers
None
D7351.1768405569.diff
View Options
diff --git a/keyserver/src/cron/backups.js b/keyserver/src/cron/backups.js
--- a/keyserver/src/cron/backups.js
+++ b/keyserver/src/cron/backups.js
@@ -9,8 +9,9 @@
import { promisify } from 'util';
import zlib from 'zlib';
+import { getCommConfig } from 'lib/utils/comm-config.js';
+
import { getDBConfig, type DBConfig } from '../database/db-config.js';
-import { importJSON } from '../utils/import-json.js';
const readdir = promisify(fs.readdir);
const lstat = promisify(fs.lstat);
@@ -23,7 +24,7 @@
};
function getBackupConfig(): Promise<?BackupConfig> {
- return importJSON({ folder: 'facts', name: 'backups' });
+ return getCommConfig({ folder: 'facts', name: 'backups' });
}
async function backupDB() {
diff --git a/keyserver/src/cron/update-geoip-db.js b/keyserver/src/cron/update-geoip-db.js
--- a/keyserver/src/cron/update-geoip-db.js
+++ b/keyserver/src/cron/update-geoip-db.js
@@ -4,11 +4,12 @@
import cluster from 'cluster';
import geoip from 'geoip-lite';
+import { getCommConfig } from 'lib/utils/comm-config.js';
+
import { handleAsyncPromise } from '../responders/handlers.js';
-import { importJSON } from '../utils/import-json.js';
async function updateGeoipDB(): Promise<void> {
- const geoipLicense = await importJSON({
+ const geoipLicense = await getCommConfig({
folder: 'secrets',
name: 'geoip_license',
});
diff --git a/keyserver/src/database/db-config.js b/keyserver/src/database/db-config.js
--- a/keyserver/src/database/db-config.js
+++ b/keyserver/src/database/db-config.js
@@ -2,7 +2,7 @@
import invariant from 'invariant';
-import { importJSON } from '../utils/import-json.js';
+import { getCommConfig } from 'lib/utils/comm-config.js';
type DBType = 'mariadb10.8';
export type DBConfig = {
@@ -49,7 +49,7 @@
dbType: assertValidDBType(process.env.COMM_DATABASE_TYPE),
};
} else {
- const importedDBConfig = await importJSON({
+ const importedDBConfig = await getCommConfig({
folder: 'secrets',
name: 'db_config',
});
diff --git a/keyserver/src/emails/sendmail.js b/keyserver/src/emails/sendmail.js
--- a/keyserver/src/emails/sendmail.js
+++ b/keyserver/src/emails/sendmail.js
@@ -3,10 +3,9 @@
import invariant from 'invariant';
import nodemailer from 'nodemailer';
+import { getCommConfig } from 'lib/utils/comm-config.js';
import { isDev } from 'lib/utils/dev-utils.js';
-import { importJSON } from '../utils/import-json.js';
-
type MailInfo = {
+from: string,
+to: string,
@@ -28,7 +27,7 @@
if (cachedTransport) {
return cachedTransport;
}
- const postmark: ?PostmarkConfig = await importJSON({
+ const postmark: ?PostmarkConfig = await getCommConfig({
folder: 'secrets',
name: 'postmark',
});
diff --git a/keyserver/src/push/providers.js b/keyserver/src/push/providers.js
--- a/keyserver/src/push/providers.js
+++ b/keyserver/src/push/providers.js
@@ -8,8 +8,7 @@
import webpush from 'web-push';
import type { PlatformDetails } from 'lib/types/device-types';
-
-import { importJSON } from '../utils/import-json.js';
+import { getCommConfig } from 'lib/utils/comm-config.js';
type APNPushProfile = 'apn_config' | 'comm_apn_config';
function getAPNPushProfileForCodeVersion(
@@ -35,7 +34,7 @@
return provider;
}
try {
- const apnConfig = await importJSON({ folder: 'secrets', name: profile });
+ const apnConfig = await getCommConfig({ folder: 'secrets', name: profile });
invariant(apnConfig, `APN config missing for ${profile}`);
if (!cachedAPNProviders.has(profile)) {
cachedAPNProviders.set(profile, new apn.Provider(apnConfig));
@@ -55,7 +54,7 @@
return provider;
}
try {
- const fcmConfig = await importJSON({ folder: 'secrets', name: profile });
+ const fcmConfig = await getCommConfig({ folder: 'secrets', name: profile });
invariant(fcmConfig, `FCM config missed for ${profile}`);
if (!cachedFCMProviders.has(profile)) {
cachedFCMProviders.set(
@@ -101,7 +100,7 @@
if (cachedWebPushConfig) {
return cachedWebPushConfig;
}
- cachedWebPushConfig = await importJSON<WebPushConfig>({
+ cachedWebPushConfig = await getCommConfig<WebPushConfig>({
folder: 'secrets',
name: 'web_push_config',
});
diff --git a/keyserver/src/utils/olm-utils.js b/keyserver/src/utils/olm-utils.js
--- a/keyserver/src/utils/olm-utils.js
+++ b/keyserver/src/utils/olm-utils.js
@@ -4,7 +4,7 @@
import type { Utility as OlmUtility } from '@matrix-org/olm';
import invariant from 'invariant';
-import { importJSON } from './import-json.js';
+import { getCommConfig } from 'lib/utils/comm-config.js';
type OlmConfig = {
+picklingKey: string,
@@ -12,7 +12,10 @@
};
async function getOlmConfig(): Promise<OlmConfig> {
- const olmConfig = await importJSON({ folder: 'secrets', name: 'olm_config' });
+ const olmConfig = await getCommConfig({
+ folder: 'secrets',
+ name: 'olm_config',
+ });
invariant(olmConfig, 'OLM config missing');
return olmConfig;
}
diff --git a/keyserver/src/utils/urls.js b/keyserver/src/utils/urls.js
--- a/keyserver/src/utils/urls.js
+++ b/keyserver/src/utils/urls.js
@@ -2,10 +2,9 @@
import invariant from 'invariant';
+import { getCommConfig } from 'lib/utils/comm-config.js';
import { values } from 'lib/utils/objects.js';
-import { importJSON } from './import-json.js';
-
export type AppURLFacts = {
+baseDomain: string,
+basePath: string,
@@ -28,7 +27,7 @@
if (existing !== undefined) {
return existing;
}
- let urlFacts: ?AppURLFacts = await importJSON({
+ let urlFacts: ?AppURLFacts = await getCommConfig({
folder: 'facts',
name: `${site}_url`,
});
diff --git a/keyserver/src/utils/import-json.js b/lib/utils/comm-config.js
rename from keyserver/src/utils/import-json.js
rename to lib/utils/comm-config.js
--- a/keyserver/src/utils/import-json.js
+++ b/lib/utils/comm-config.js
@@ -19,7 +19,11 @@
}
const cachedJSON = new Map();
-async function importJSON<T>(configName: ConfigName): Promise<?T> {
+
+// This function checks for an env var named COMM_JSONCONFIG_{folder}_{name}
+// If it doesn't find one, it then looks for keyserver/{folder}/{name}.json
+// In both cases, it expects to find a JSON blob
+async function getCommConfig<T>(configName: ConfigName): Promise<?T> {
const key = getKeyForConfigName(configName);
const cached = cachedJSON.get(key);
if (cached !== undefined) {
@@ -57,4 +61,4 @@
}
}
-export { importJSON };
+export { getCommConfig };
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Jan 14, 3:46 PM (15 h, 26 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5931587
Default Alt Text
D7351.1768405569.diff (6 KB)
Attached To
Mode
D7351: [keyserver] Rename importJSON to getCommConfig
Attached
Detach File
Event Timeline
Log In to Comment