diff --git a/libs/vre/shared/app-analytics/src/lib/grafana-faro.service.ts b/libs/vre/shared/app-analytics/src/lib/grafana-faro.service.ts index 727abd79fd..a12f6afc2f 100644 --- a/libs/vre/shared/app-analytics/src/lib/grafana-faro.service.ts +++ b/libs/vre/shared/app-analytics/src/lib/grafana-faro.service.ts @@ -9,6 +9,10 @@ export class GrafanaFaroService { constructor(private readonly _appConfig: AppConfigService) {} setup() { + if (this._appConfig.dspInstrumentationConfig.environment === 'local-dev') { + return; + } + this.faro = initializeFaro({ url: 'https://faro-collector-prod-eu-west-2.grafana.net/collect/66166d1b81448a1cca47cde470d9ec98', app: { diff --git a/libs/vre/shared/app-config/src/lib/app-config/app-config.ts b/libs/vre/shared/app-config/src/lib/app-config/app-config.ts index 4dd056b5cc..39d77e973c 100644 --- a/libs/vre/shared/app-config/src/lib/app-config/app-config.ts +++ b/libs/vre/shared/app-config/src/lib/app-config/app-config.ts @@ -14,10 +14,12 @@ export const Rollbar = z.discriminatedUnion('enabled', [ export type Rollbar = z.infer; export const Instrumentation = z.object({ - environment: z.string().nonempty("required 'environment' value missing in config"), + environment: z.enum(['local-dev', 'dev-server', 'test-server', 'ls-test-server', 'staging-server', 'prod']), rollbar: Rollbar, }); +export type InstrumentationType = z.infer; + /** * Our codebase requires number | null. The config will contain either a number * or an empty string. We need to transform the empty string case into a null. diff --git a/libs/vre/shared/app-config/src/lib/app-config/dsp-instrumentation-config.ts b/libs/vre/shared/app-config/src/lib/app-config/dsp-instrumentation-config.ts index 2a85d748a0..ab7c82826d 100644 --- a/libs/vre/shared/app-config/src/lib/app-config/dsp-instrumentation-config.ts +++ b/libs/vre/shared/app-config/src/lib/app-config/dsp-instrumentation-config.ts @@ -3,6 +3,8 @@ * SPDX-License-Identifier: Apache-2.0 */ +import { InstrumentationType } from './app-config'; + export class DspRollbarConfig { constructor( public enabled: boolean, @@ -12,7 +14,7 @@ export class DspRollbarConfig { export class DspInstrumentationConfig { constructor( - public environment: string, + public environment: InstrumentationType['environment'], public rollbar: DspRollbarConfig ) {} }