Page MenuHomePhorge

D7351.1768410682.diff
No OneTemporary

Size
6 KB
Referenced Files
None
Subscribers
None

D7351.1768410682.diff

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
@@ -10,7 +10,7 @@
import zlib from 'zlib';
import { getDBConfig, type DBConfig } from '../database/db-config.js';
-import { importJSON } from '../utils/import-json.js';
+import { getCommConfig } from '../utils/comm-config.js';
const readdir = promisify(fs.readdir);
const lstat = promisify(fs.lstat);
@@ -23,7 +23,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
@@ -5,10 +5,10 @@
import geoip from 'geoip-lite';
import { handleAsyncPromise } from '../responders/handlers.js';
-import { importJSON } from '../utils/import-json.js';
+import { getCommConfig } from '../utils/comm-config.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 '../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
@@ -5,7 +5,7 @@
import { isDev } from 'lib/utils/dev-utils.js';
-import { importJSON } from '../utils/import-json.js';
+import { getCommConfig } from '../utils/comm-config.js';
type MailInfo = {
+from: string,
@@ -28,7 +28,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
@@ -9,7 +9,7 @@
import type { PlatformDetails } from 'lib/types/device-types';
-import { importJSON } from '../utils/import-json.js';
+import { getCommConfig } from '../utils/comm-config.js';
type APNPushProfile = 'apn_config' | 'comm_apn_config';
function getAPNPushProfileForCodeVersion(
@@ -35,7 +35,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 +55,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 +101,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/import-json.js b/keyserver/src/utils/comm-config.js
rename from keyserver/src/utils/import-json.js
rename to keyserver/src/utils/comm-config.js
--- a/keyserver/src/utils/import-json.js
+++ b/keyserver/src/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 };
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 './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
@@ -4,7 +4,7 @@
import { values } from 'lib/utils/objects.js';
-import { importJSON } from './import-json.js';
+import { getCommConfig } from './comm-config.js';
export type AppURLFacts = {
+baseDomain: string,
@@ -28,7 +28,7 @@
if (existing !== undefined) {
return existing;
}
- let urlFacts: ?AppURLFacts = await importJSON({
+ let urlFacts: ?AppURLFacts = await getCommConfig({
folder: 'facts',
name: `${site}_url`,
});

File Metadata

Mime Type
text/plain
Expires
Wed, Jan 14, 5:11 PM (31 m, 58 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5933061
Default Alt Text
D7351.1768410682.diff (6 KB)

Event Timeline