2017-04-12 17:57:55 +00:00
|
|
|
'use strict'
|
|
|
|
|
2019-04-12 09:58:24 +00:00
|
|
|
const { toBooleanConfig, toArrayConfig, toIntegerConfig } = require('./utils')
|
2017-05-08 12:41:38 +00:00
|
|
|
|
2017-04-12 17:57:55 +00:00
|
|
|
module.exports = {
|
2018-10-05 17:33:40 +00:00
|
|
|
sourceURL: process.env.CMD_SOURCE_URL,
|
2018-06-24 11:22:51 +00:00
|
|
|
domain: process.env.CMD_DOMAIN,
|
|
|
|
urlPath: process.env.CMD_URL_PATH,
|
2018-07-23 00:27:51 +00:00
|
|
|
host: process.env.CMD_HOST,
|
2018-06-24 11:22:51 +00:00
|
|
|
port: toIntegerConfig(process.env.CMD_PORT),
|
2018-07-23 00:27:51 +00:00
|
|
|
path: process.env.CMD_PATH,
|
2018-11-13 22:29:33 +00:00
|
|
|
loglevel: process.env.CMD_LOGLEVEL,
|
2018-06-24 11:22:51 +00:00
|
|
|
urlAddPort: toBooleanConfig(process.env.CMD_URL_ADDPORT),
|
|
|
|
useSSL: toBooleanConfig(process.env.CMD_USESSL),
|
2017-10-12 23:14:50 +00:00
|
|
|
hsts: {
|
2018-06-24 11:22:51 +00:00
|
|
|
enable: toBooleanConfig(process.env.CMD_HSTS_ENABLE),
|
2019-03-04 16:13:33 +00:00
|
|
|
maxAgeSeconds: toIntegerConfig(process.env.CMD_HSTS_MAX_AGE),
|
2018-06-24 11:22:51 +00:00
|
|
|
includeSubdomains: toBooleanConfig(process.env.CMD_HSTS_INCLUDE_SUBDOMAINS),
|
|
|
|
preload: toBooleanConfig(process.env.CMD_HSTS_PRELOAD)
|
2017-10-12 23:14:50 +00:00
|
|
|
},
|
2017-10-20 10:31:16 +00:00
|
|
|
csp: {
|
2018-06-24 11:22:51 +00:00
|
|
|
enable: toBooleanConfig(process.env.CMD_CSP_ENABLE),
|
|
|
|
reportURI: process.env.CMD_CSP_REPORTURI
|
|
|
|
},
|
|
|
|
protocolUseSSL: toBooleanConfig(process.env.CMD_PROTOCOL_USESSL),
|
|
|
|
allowOrigin: toArrayConfig(process.env.CMD_ALLOW_ORIGIN),
|
|
|
|
useCDN: toBooleanConfig(process.env.CMD_USECDN),
|
|
|
|
allowAnonymous: toBooleanConfig(process.env.CMD_ALLOW_ANONYMOUS),
|
|
|
|
allowAnonymousEdits: toBooleanConfig(process.env.CMD_ALLOW_ANONYMOUS_EDITS),
|
2019-02-23 04:33:37 +00:00
|
|
|
allowAnonymousViews: toBooleanConfig(process.env.CMD_ALLOW_ANONYMOUS_VIEWS),
|
2018-06-24 11:22:51 +00:00
|
|
|
allowFreeURL: toBooleanConfig(process.env.CMD_ALLOW_FREEURL),
|
2018-11-12 23:14:25 +00:00
|
|
|
forbiddenNoteIDs: toArrayConfig(process.env.CMD_FORBIDDEN_NOTE_IDS),
|
2018-06-24 11:22:51 +00:00
|
|
|
defaultPermission: process.env.CMD_DEFAULT_PERMISSION,
|
|
|
|
dbURL: process.env.CMD_DB_URL,
|
|
|
|
sessionSecret: process.env.CMD_SESSION_SECRET,
|
|
|
|
sessionLife: toIntegerConfig(process.env.CMD_SESSION_LIFE),
|
2019-07-18 04:48:40 +00:00
|
|
|
responseMaxLag: toIntegerConfig(process.env.CMD_RESPONSE_MAX_LAG),
|
2018-06-24 11:22:51 +00:00
|
|
|
imageUploadType: process.env.CMD_IMAGE_UPLOAD_TYPE,
|
2017-04-12 17:57:55 +00:00
|
|
|
imgur: {
|
2018-06-24 11:22:51 +00:00
|
|
|
clientID: process.env.CMD_IMGUR_CLIENTID
|
2017-04-12 17:57:55 +00:00
|
|
|
},
|
|
|
|
s3: {
|
2018-06-24 11:22:51 +00:00
|
|
|
accessKeyId: process.env.CMD_S3_ACCESS_KEY_ID,
|
|
|
|
secretAccessKey: process.env.CMD_S3_SECRET_ACCESS_KEY,
|
2019-02-11 16:31:45 +00:00
|
|
|
region: process.env.CMD_S3_REGION,
|
|
|
|
endpoint: process.env.CMD_S3_ENDPOINT
|
2017-04-12 17:57:55 +00:00
|
|
|
},
|
2017-08-30 16:58:34 +00:00
|
|
|
minio: {
|
2018-06-24 11:22:51 +00:00
|
|
|
accessKey: process.env.CMD_MINIO_ACCESS_KEY,
|
|
|
|
secretKey: process.env.CMD_MINIO_SECRET_KEY,
|
|
|
|
endPoint: process.env.CMD_MINIO_ENDPOINT,
|
|
|
|
secure: toBooleanConfig(process.env.CMD_MINIO_SECURE),
|
|
|
|
port: toIntegerConfig(process.env.CMD_MINIO_PORT)
|
2017-08-30 16:58:34 +00:00
|
|
|
},
|
2018-06-24 11:22:51 +00:00
|
|
|
s3bucket: process.env.CMD_S3_BUCKET,
|
2018-05-31 11:15:41 +00:00
|
|
|
azure: {
|
2018-06-24 11:22:51 +00:00
|
|
|
connectionString: process.env.CMD_AZURE_CONNECTION_STRING,
|
|
|
|
container: process.env.CMD_AZURE_CONTAINER
|
2018-05-31 11:15:41 +00:00
|
|
|
},
|
2017-04-12 17:57:55 +00:00
|
|
|
facebook: {
|
2018-06-24 11:22:51 +00:00
|
|
|
clientID: process.env.CMD_FACEBOOK_CLIENTID,
|
|
|
|
clientSecret: process.env.CMD_FACEBOOK_CLIENTSECRET
|
2017-04-12 17:57:55 +00:00
|
|
|
},
|
|
|
|
twitter: {
|
2018-06-24 11:22:51 +00:00
|
|
|
consumerKey: process.env.CMD_TWITTER_CONSUMERKEY,
|
|
|
|
consumerSecret: process.env.CMD_TWITTER_CONSUMERSECRET
|
2017-04-12 17:57:55 +00:00
|
|
|
},
|
|
|
|
github: {
|
2019-10-26 15:01:56 +00:00
|
|
|
enterpriseURL: process.env.CMD_GITHUB_ENTERPRISE_URL,
|
2018-06-24 11:22:51 +00:00
|
|
|
clientID: process.env.CMD_GITHUB_CLIENTID,
|
|
|
|
clientSecret: process.env.CMD_GITHUB_CLIENTSECRET
|
2017-04-12 17:57:55 +00:00
|
|
|
},
|
2019-12-28 13:20:18 +00:00
|
|
|
bitbucket: {
|
|
|
|
clientID: process.env.CMD_BITBUCKET_CLIENTID,
|
|
|
|
clientSecret: process.env.CMD_BITBUCKET_CLIENTSECRET
|
|
|
|
},
|
2017-04-12 17:57:55 +00:00
|
|
|
gitlab: {
|
2018-06-24 11:22:51 +00:00
|
|
|
baseURL: process.env.CMD_GITLAB_BASEURL,
|
|
|
|
clientID: process.env.CMD_GITLAB_CLIENTID,
|
|
|
|
clientSecret: process.env.CMD_GITLAB_CLIENTSECRET,
|
|
|
|
scope: process.env.CMD_GITLAB_SCOPE
|
2017-04-12 17:57:55 +00:00
|
|
|
},
|
2017-10-29 10:16:40 +00:00
|
|
|
mattermost: {
|
2018-06-24 11:22:51 +00:00
|
|
|
baseURL: process.env.CMD_MATTERMOST_BASEURL,
|
|
|
|
clientID: process.env.CMD_MATTERMOST_CLIENTID,
|
|
|
|
clientSecret: process.env.CMD_MATTERMOST_CLIENTSECRET
|
2017-10-29 10:16:40 +00:00
|
|
|
},
|
2017-06-27 17:08:05 +00:00
|
|
|
oauth2: {
|
2018-10-04 18:43:39 +00:00
|
|
|
providerName: process.env.CMD_OAUTH2_PROVIDERNAME,
|
2018-06-24 11:22:51 +00:00
|
|
|
baseURL: process.env.CMD_OAUTH2_BASEURL,
|
2020-02-27 18:13:58 +00:00
|
|
|
clientID: process.env.CMD_OAUTH2_CLIENT_ID,
|
|
|
|
clientSecret: process.env.CMD_OAUTH2_CLIENT_SECRET,
|
|
|
|
authorizationURL: process.env.CMD_OAUTH2_AUTHORIZATION_URL,
|
|
|
|
tokenURL: process.env.CMD_OAUTH2_TOKEN_URL,
|
2018-06-24 11:22:51 +00:00
|
|
|
userProfileURL: process.env.CMD_OAUTH2_USER_PROFILE_URL,
|
2020-02-27 18:13:58 +00:00
|
|
|
scope: process.env.CMD_OAUTH2_SCOPE,
|
2020-05-11 13:57:58 +00:00
|
|
|
state: process.env.CMD_OAUTH2_STATE,
|
2018-06-24 11:22:51 +00:00
|
|
|
userProfileUsernameAttr: process.env.CMD_OAUTH2_USER_PROFILE_USERNAME_ATTR,
|
|
|
|
userProfileDisplayNameAttr: process.env.CMD_OAUTH2_USER_PROFILE_DISPLAY_NAME_ATTR,
|
2020-03-12 05:39:27 +00:00
|
|
|
userProfileEmailAttr: process.env.CMD_OAUTH2_USER_PROFILE_EMAIL_ATTR,
|
|
|
|
userProfilePhotoAttr: process.env.CMD_OAUTH2_USER_PROFILE_PHOTO_ATTR
|
2017-06-27 17:08:05 +00:00
|
|
|
},
|
2017-04-12 17:57:55 +00:00
|
|
|
dropbox: {
|
2018-06-24 11:22:51 +00:00
|
|
|
clientID: process.env.CMD_DROPBOX_CLIENTID,
|
|
|
|
clientSecret: process.env.CMD_DROPBOX_CLIENTSECRET,
|
|
|
|
appKey: process.env.CMD_DROPBOX_APPKEY
|
2017-04-12 17:57:55 +00:00
|
|
|
},
|
|
|
|
google: {
|
2018-06-24 11:22:51 +00:00
|
|
|
clientID: process.env.CMD_GOOGLE_CLIENTID,
|
2020-02-28 09:17:10 +00:00
|
|
|
clientSecret: process.env.CMD_GOOGLE_CLIENTSECRET,
|
|
|
|
hostedDomain: process.env.CMD_GOOGLE_HOSTEDDOMAIN
|
2017-04-12 17:57:55 +00:00
|
|
|
},
|
|
|
|
ldap: {
|
2018-06-24 11:22:51 +00:00
|
|
|
providerName: process.env.CMD_LDAP_PROVIDERNAME,
|
|
|
|
url: process.env.CMD_LDAP_URL,
|
|
|
|
bindDn: process.env.CMD_LDAP_BINDDN,
|
|
|
|
bindCredentials: process.env.CMD_LDAP_BINDCREDENTIALS,
|
|
|
|
searchBase: process.env.CMD_LDAP_SEARCHBASE,
|
|
|
|
searchFilter: process.env.CMD_LDAP_SEARCHFILTER,
|
|
|
|
searchAttributes: toArrayConfig(process.env.CMD_LDAP_SEARCHATTRIBUTES),
|
|
|
|
usernameField: process.env.CMD_LDAP_USERNAMEFIELD,
|
|
|
|
useridField: process.env.CMD_LDAP_USERIDFIELD,
|
|
|
|
tlsca: process.env.CMD_LDAP_TLS_CA
|
2017-04-12 17:57:55 +00:00
|
|
|
},
|
2017-11-28 03:46:58 +00:00
|
|
|
saml: {
|
2018-06-24 11:22:51 +00:00
|
|
|
idpSsoUrl: process.env.CMD_SAML_IDPSSOURL,
|
|
|
|
idpCert: process.env.CMD_SAML_IDPCERT,
|
|
|
|
issuer: process.env.CMD_SAML_ISSUER,
|
|
|
|
identifierFormat: process.env.CMD_SAML_IDENTIFIERFORMAT,
|
2018-12-12 09:40:24 +00:00
|
|
|
disableRequestedAuthnContext: toBooleanConfig(process.env.CMD_SAML_DISABLEREQUESTEDAUTHNCONTEXT),
|
2018-06-24 11:22:51 +00:00
|
|
|
groupAttribute: process.env.CMD_SAML_GROUPATTRIBUTE,
|
|
|
|
externalGroups: toArrayConfig(process.env.CMD_SAML_EXTERNALGROUPS, '|', []),
|
|
|
|
requiredGroups: toArrayConfig(process.env.CMD_SAML_REQUIREDGROUPS, '|', []),
|
2017-11-29 11:26:28 +00:00
|
|
|
attribute: {
|
2018-06-24 11:22:51 +00:00
|
|
|
id: process.env.CMD_SAML_ATTRIBUTE_ID,
|
|
|
|
username: process.env.CMD_SAML_ATTRIBUTE_USERNAME,
|
|
|
|
email: process.env.CMD_SAML_ATTRIBUTE_EMAIL
|
2017-11-29 11:26:28 +00:00
|
|
|
}
|
2017-11-28 03:46:58 +00:00
|
|
|
},
|
2018-12-12 08:36:54 +00:00
|
|
|
plantuml: {
|
|
|
|
server: process.env.CMD_PLANTUML_SERVER
|
|
|
|
},
|
2018-06-24 11:22:51 +00:00
|
|
|
email: toBooleanConfig(process.env.CMD_EMAIL),
|
|
|
|
allowEmailRegister: toBooleanConfig(process.env.CMD_ALLOW_EMAIL_REGISTER),
|
|
|
|
allowGravatar: toBooleanConfig(process.env.CMD_ALLOW_GRAVATAR),
|
2017-08-31 21:33:55 +00:00
|
|
|
allowPDFExport: toBooleanConfig(process.env.CMD_ALLOW_PDF_EXPORT),
|
2019-10-20 06:32:06 +00:00
|
|
|
openID: toBooleanConfig(process.env.CMD_OPENID),
|
2019-11-01 02:27:47 +00:00
|
|
|
defaultUseHardbreak: toBooleanConfig(process.env.CMD_DEFAULT_USE_HARD_BREAK),
|
2020-02-07 02:55:16 +00:00
|
|
|
linkifyHeaderStyle: process.env.CMD_LINKIFY_HEADER_STYLE,
|
2020-06-03 15:38:28 +00:00
|
|
|
autoVersionCheck: toBooleanConfig(process.env.CMD_AUTO_VERSION_CHECK),
|
|
|
|
defaultTocDepth: toIntegerConfig(process.env.CMD_DEFAULT_TOC_DEPTH)
|
2017-04-12 17:57:55 +00:00
|
|
|
}
|