diff --git a/docs/portal_config.md b/docs/portal_config.md
index e2e7155eb..7ab0d9028 100644
--- a/docs/portal_config.md
+++ b/docs/portal_config.md
@@ -16,7 +16,7 @@ Below is an example, with inline comments describing what each JSON block config
"ddSampleRate": 100, // optional; numeric; the Datadog RUM option specifying the percentage of sessions to track: 100 for all, 0 for none. Default to 100 if omitted
"grafanaFaroConfig": {
"grafanaFaroEnable": true, // optional; flag to turn on Grafana Faro RUM, default to false
- "grafanaFaroEnv": "DEV", // optional; the Grafana Faro RUM option specifying the application’s environment, for example: prod, pre-prod, staging, etc. Can be determined automatically if omitted. But it is highly recommended to customize it to include project information, such as 'healprod'
+ "grafanaFaroNamespace": "DEV", // optional; the Grafana Faro RUM option specifying the application’s namespace, for example: prod, pre-prod, staging, etc. Can be determined automatically if omitted. But it is highly recommended to customize it to include project information, such as 'healprod'
"grafanaFaroUrl": "", // optional: the Grafana Faro collector url. Defaults to https://faro.planx-pla.net/collect
"grafanaFaroSampleRate": 1, // optional; numeric; the Grafana Faro option specifying the percentage of sessions to track: 1 for all, 0 for none. Default to 1 if omitted
},
diff --git a/src/covid19Index.jsx b/src/covid19Index.jsx
index 69b4e7207..b7c0b1bab 100644
--- a/src/covid19Index.jsx
+++ b/src/covid19Index.jsx
@@ -55,7 +55,7 @@ import {
basename, gaTrackingId, workspaceUrl, workspaceErrorUrl,
indexPublic, explorerPublic, enableResourceBrowser, resourceBrowserPublic, enableDAPTracker,
discoveryConfig, ddApplicationId, ddClientToken, ddEnv, ddUrl, ddSampleRate, knownBotRegex,
- userAccessToSite, grafanaFaroConfig,
+ userAccessToSite, grafanaFaroConfig, hostnameWithSubdomain,
} from './localconf';
import { portalVersion } from './versions';
import { components } from './params';
@@ -115,7 +115,8 @@ async function init() {
app: {
name: 'portal',
version: portalVersion,
- environment: grafanaFaroConfig.grafanaFaroEnv,
+ namespace: grafanaFaroConfig.grafanaFaroNamespace,
+ environment: hostnameWithSubdomain,
},
instrumentations: [
...getWebInstrumentations(),
diff --git a/src/ecosystemIndex.jsx b/src/ecosystemIndex.jsx
index 8a2a96299..c55a175af 100644
--- a/src/ecosystemIndex.jsx
+++ b/src/ecosystemIndex.jsx
@@ -51,7 +51,7 @@ import {
basename, gaTrackingId, workspaceUrl, workspaceErrorUrl, Error403Url,
explorerPublic, enableResourceBrowser, resourceBrowserPublic, enableDAPTracker,
discoveryConfig, ddApplicationId, ddClientToken, ddEnv, ddUrl, ddSampleRate, knownBotRegex,
- userAccessToSite, grafanaFaroConfig,
+ userAccessToSite, grafanaFaroConfig, hostnameWithSubdomain,
} from './localconf';
import { portalVersion } from './versions';
import Analysis from './Analysis/Analysis';
@@ -118,7 +118,8 @@ async function init() {
app: {
name: 'portal',
version: portalVersion,
- environment: grafanaFaroConfig.grafanaFaroEnv,
+ namespace: grafanaFaroConfig.grafanaFaroNamespace,
+ environment: hostnameWithSubdomain,
},
instrumentations: [
...getWebInstrumentations(),
diff --git a/src/index.ejs b/src/index.ejs
index 66d8402d0..71c073c7b 100644
--- a/src/index.ejs
+++ b/src/index.ejs
@@ -12,7 +12,7 @@
- https://dap.digitalgov.gov will be inserted by htmlWebpackPlugin if env is configured with DAPTrackingURL. This hostname is needed for fetching and executing the DAP tracking script
- https://*.quicksight.aws.amazon.com for loading AWS Quicksight dashboards into COVID-19 Home page
-->
-
+
diff --git a/src/index.jsx b/src/index.jsx
index a692c5460..50ae6cfb0 100644
--- a/src/index.jsx
+++ b/src/index.jsx
@@ -53,7 +53,7 @@ import {
basename, gaTrackingId, workspaceUrl, workspaceErrorUrl, Error403Url,
indexPublic, explorerPublic, enableResourceBrowser, resourceBrowserPublic, enableDAPTracker,
discoveryConfig, commonsWideAltText, ddApplicationId, ddClientToken, ddEnv, ddUrl, ddSampleRate, knownBotRegex,
- userAccessToSite, grafanaFaroConfig,
+ userAccessToSite, grafanaFaroConfig, hostnameWithSubdomain,
} from './localconf';
import { portalVersion } from './versions';
import Analysis from './Analysis/Analysis';
@@ -118,7 +118,8 @@ async function init() {
app: {
name: 'portal',
version: portalVersion,
- environment: grafanaFaroConfig.grafanaFaroEnv,
+ namespace: grafanaFaroConfig.grafanaFaroNamespace,
+ environment: hostnameWithSubdomain,
},
instrumentations: [
...getWebInstrumentations(),
diff --git a/src/localconf.js b/src/localconf.js
index 2108127f9..65cdce9ab 100644
--- a/src/localconf.js
+++ b/src/localconf.js
@@ -169,12 +169,12 @@ function buildConfig(opts) {
if (!grafanaFaroConfig.grafanaFaroUrl) {
grafanaFaroConfig.grafanaFaroUrl = 'https://faro.planx-pla.net/collect';
}
- if (!grafanaFaroConfig.grafanaFaroEnv) {
- grafanaFaroConfig.grafanaFaroEnv = 'PROD';
+ if (!grafanaFaroConfig.grafanaFaroNamespace) {
+ grafanaFaroConfig.grafanaFaroNamespace = 'PROD';
if (hostnameOnly.includes('qa-')) {
- grafanaFaroConfig.grafanaFaroEnv = 'QA';
+ grafanaFaroConfig.grafanaFaroNamespace = 'QA';
} else if (hostnameOnly.endsWith('.planx-pla.net')) {
- grafanaFaroConfig.grafanaFaroEnv = 'DEV';
+ grafanaFaroConfig.grafanaFaroNamespace = 'DEV';
}
}
if (!grafanaFaroConfig.grafanaFaroSampleRate) {
diff --git a/src/nctIndex.jsx b/src/nctIndex.jsx
index f1bb2e07e..f151b6cc1 100644
--- a/src/nctIndex.jsx
+++ b/src/nctIndex.jsx
@@ -66,7 +66,7 @@ import {
basename, gaTrackingId, workspaceUrl, workspaceErrorUrl,
indexPublic, explorerPublic, enableResourceBrowser, resourceBrowserPublic, enableDAPTracker,
discoveryConfig, ddApplicationId, ddClientToken, ddEnv, ddUrl, ddSampleRate, knownBotRegex,
- userAccessToSite, grafanaFaroConfig,
+ userAccessToSite, grafanaFaroConfig, hostnameWithSubdomain,
} from './localconf';
import { portalVersion } from './versions';
import Analysis from './Analysis/Analysis';
@@ -131,7 +131,8 @@ async function init() {
app: {
name: 'portal',
version: portalVersion,
- environment: grafanaFaroConfig.grafanaFaroEnv,
+ namespace: grafanaFaroConfig.grafanaFaroNamespace,
+ environment: hostnameWithSubdomain,
},
instrumentations: [
...getWebInstrumentations(),
diff --git a/src/workspaceIndex.jsx b/src/workspaceIndex.jsx
index 6869e7da4..69a240e87 100644
--- a/src/workspaceIndex.jsx
+++ b/src/workspaceIndex.jsx
@@ -37,7 +37,7 @@ import { ReduxNavBar, ReduxTopBar, ReduxFooter } from './Layout/reduxer';
import {
basename, gaTrackingId, workspaceUrl, workspaceErrorUrl, enableDAPTracker,
ddApplicationId, ddClientToken, ddEnv, ddUrl, ddSampleRate, knownBotRegex,
- grafanaFaroConfig,
+ grafanaFaroConfig, hostnameWithSubdomain,
} from './localconf';
import { portalVersion } from './versions';
import { components } from './params';
@@ -92,7 +92,8 @@ async function init() {
app: {
name: 'portal',
version: portalVersion,
- environment: grafanaFaroConfig.grafanaFaroEnv,
+ namespace: grafanaFaroConfig.grafanaFaroNamespace,
+ environment: hostnameWithSubdomain,
},
instrumentations: [
...getWebInstrumentations(),
diff --git a/webpack.config.js b/webpack.config.js
index b51a03241..a0b6d1306 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -43,6 +43,13 @@ if (process.env.DATADOG_APPLICATION_ID && process.env.DATADOG_CLIENT_TOKEN) {
connectSrcURLs.push('https://*.logs.datadoghq.com');
connectSrcURLs.push('https://*.browser-intake-ddog-gov.com');
}
+if (configFile.grafanaFaroConfig?.grafanaFaroEnable) {
+ if (configFile.grafanaFaroConfig?.grafanaFaroUrl) {
+ connectSrcURLs.push(configFile.grafanaFaroConfig.grafanaFaroUrl);
+ } else {
+ connectSrcURLs.push('https://faro.planx-pla.net');
+ }
+}
if (process.env.MAPBOX_API_TOKEN) {
connectSrcURLs.push('https://*.tiles.mapbox.com');
connectSrcURLs.push('https://api.mapbox.com');