import fs from 'fs' import path from 'path' const basePath = path.resolve('/run/secrets/') function getSecret (secret): string | undefined { const filePath = path.join(basePath, secret) if (fs.existsSync(filePath)) return fs.readFileSync(filePath, 'utf-8') return undefined } export let dockerSecret: { s3: { accessKeyId: string | undefined; secretAccessKey: string | undefined }; github: { clientID: string | undefined; clientSecret: string | undefined }; facebook: { clientID: string | undefined; clientSecret: string | undefined }; google: { clientID: string | undefined; hostedDomain: string | undefined; clientSecret: string | undefined }; sessionSecret: string | undefined; sslKeyPath: string | undefined; twitter: { consumerSecret: string | undefined; consumerKey: string | undefined }; dropbox: { clientID: string | undefined; clientSecret: string | undefined; appKey: string | undefined }; gitlab: { clientID: string | undefined; clientSecret: string | undefined }; imgur: string | undefined; sslCertPath: string | undefined; sslCAPath: (string | undefined)[]; dhParamPath: string | undefined; dbURL: string | undefined; azure: { connectionString: string | undefined } } if (fs.existsSync(basePath)) { dockerSecret = { dbURL: getSecret('dbURL'), sessionSecret: getSecret('sessionsecret'), sslKeyPath: getSecret('sslkeypath'), sslCertPath: getSecret('sslcertpath'), sslCAPath: [getSecret('sslcapath')], dhParamPath: getSecret('dhparampath'), s3: { accessKeyId: getSecret('s3_acccessKeyId'), secretAccessKey: getSecret('s3_secretAccessKey') }, azure: { connectionString: getSecret('azure_connectionString') }, facebook: { clientID: getSecret('facebook_clientID'), clientSecret: getSecret('facebook_clientSecret') }, twitter: { consumerKey: getSecret('twitter_consumerKey'), consumerSecret: getSecret('twitter_consumerSecret') }, github: { clientID: getSecret('github_clientID'), clientSecret: getSecret('github_clientSecret') }, gitlab: { clientID: getSecret('gitlab_clientID'), clientSecret: getSecret('gitlab_clientSecret') }, dropbox: { clientID: getSecret('dropbox_clientID'), clientSecret: getSecret('dropbox_clientSecret'), appKey: getSecret('dropbox_appKey') }, google: { clientID: getSecret('google_clientID'), clientSecret: getSecret('google_clientSecret'), hostedDomain: getSecret('google_hostedDomain') }, imgur: getSecret('imgur_clientid') } }