Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 17 additions & 12 deletions config/default.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
// live here.

const path = require('path');
const defer = require('config/defer').deferConfig;

const appName = process.env.NODE_APP_INSTANCE || null;
const validAppNames = [
Expand All @@ -16,6 +15,12 @@ if (appName && validAppNames.indexOf(appName) === -1) {
throw new Error(`App ${appName} is not enabled`);
}

const amoCDN = 'https://addons.cdn.mozilla.net';
const apiHost = 'https://addons.mozilla.org';
const apiBase = `${apiHost}/api/v3`;
const startLoginUrl = `${apiBase}/internal/accounts/login/start/`;


module.exports = {
appName,
basePath: path.resolve(__dirname, '../'),
Expand All @@ -35,12 +40,10 @@ module.exports = {
serverPort: 4000,

// The CDN host for AMO.
amoCDN: 'https://addons.cdn.mozilla.net',

apiHost: 'https://addons.mozilla.org',
apiPath: '/api/v3',
apiBase: defer((cfg) => cfg.apiHost + cfg.apiPath),
startLoginUrl: defer((cfg) => `${cfg.apiBase}/internal/accounts/login/start/`),
amoCDN,
apiHost,
apiBase,
startLoginUrl,

// The keys listed here will be exposed on the client.
// Since by definition client-side code is public these config keys
Expand All @@ -58,11 +61,14 @@ module.exports = {
CSP: {
directives: {
defaultSrc: ["'self'"],
connectSrc: defer((cfg) => ["'self'", cfg.apiHost]),
imgSrc: defer((cfg) => [
connectSrc: [
"'self'",
cfg.amoCDN,
]),
apiHost,
],
imgSrc: [
"'self'",
amoCDN,
],
scriptSrc: ["'self'"],
styleSrc: ["'self'"],
reportUri: '/__cspreport__',
Expand All @@ -78,5 +84,4 @@ module.exports = {
// Set to true if you want to disable CSP on Android where it can be buggy.
disableAndroid: false,
},

};
26 changes: 24 additions & 2 deletions config/dev.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,28 @@
// Config for the -dev server.

const amoCDN = 'https://addons-dev-cdn.allizom.org';
const apiHost = 'https://addons-dev.allizom.org';
const apiBase = `${apiHost}/api/v3`;
const startLoginUrl = `${apiBase}/internal/accounts/login/start/`;


module.exports = {
apiHost: 'https://addons-dev.allizom.org',
amoCDN: 'https://addons-dev-cdn.allizom.org',
apiHost,
apiBase,
amoCDN,
startLoginUrl,

// Content security policy.
CSP: {
directives: {
connectSrc: [
"'self'",
apiHost,
],
imgSrc: [
"'self'",
amoCDN,
],
},
},
};
34 changes: 25 additions & 9 deletions config/development.js
Original file line number Diff line number Diff line change
@@ -1,24 +1,40 @@
// Config specific to local development

const defer = require('config/defer').deferConfig;
const webpackServerHost = '127.0.0.1';
const webpackServerPort = 3001;
const webpackHost = `${webpackServerHost}:${webpackServerPort}`;
const apiHost = 'https://addons-dev.allizom.org';
const amoCDN = 'https://addons-dev-cdn.allizom.org';
const apiBase = `${apiHost}/api/v3`;
const startLoginUrl = `${apiBase}/internal/accounts/login/start/`;


module.exports = {
serverPort: 3000,

apiHost: 'https://addons-dev.allizom.org',
amoCDN: 'https://addons-dev-cdn.allizom.org',
apiHost,
amoCDN,

isDeployed: false,
isDevelopment: true,

webpackServerHost: '127.0.0.1',
webpackServerPort: 3001,
webpackHost: defer((cfg) => `http://${cfg.webpackServerHost}:${cfg.webpackServerPort}`),
serverPort: 3000,
startLoginUrl,
webpackServerHost,
webpackServerPort,
webpackHost,

CSP: {
directives: {
connectSrc: defer((cfg) => ["'self'", cfg.apiHost, cfg.webpackHost]),
scriptSrc: defer((cfg) => ["'self'", cfg.webpackHost]),
connectSrc: [
"'self'",
amoCDN,
webpackHost,
],
scriptSrc: [
"'self'",
amoCDN,
webpackHost,
],
styleSrc: ["'self'", 'blob:'],
},
reportOnly: true,
Expand Down
26 changes: 24 additions & 2 deletions config/stage.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,28 @@
// Config for the stage server.

const amoCDN = 'https://addons-stage-cdn.allizom.org';
const apiHost = 'https://addons.allizom.org';
const apiBase = `${apiHost}/api/v3`;
const startLoginUrl = `${apiBase}/internal/accounts/login/start/`;


module.exports = {
apiHost: 'https://addons.allizom.org',
amoCDN: 'https://addons-stage-cdn.allizom.org',
apiHost,
apiBase,
amoCDN,
startLoginUrl,

// Content security policy.
CSP: {
directives: {
connectSrc: [
"'self'",
apiHost,
],
imgSrc: [
"'self'",
amoCDN,
],
},
},
};