From 38b43e0edc2a2549319b8395c00a76895ea0de44 Mon Sep 17 00:00:00 2001 From: Dan Burke Date: Fri, 3 May 2024 21:24:21 -0400 Subject: [PATCH] Node Env Logging for Sentry Testing (#790) Co-authored-by: Armando Belardo <11140328+armandobelardo@users.noreply.github.com> --- .github/workflows/deploy-fdr-dev.yml | 1 + .github/workflows/deploy-fdr-prod.yml | 1 + .github/workflows/diff-fdr-dev.yml | 1 + servers/fdr-deploy/scripts/fdr-deploy-stack.ts | 1 + servers/fdr/docker-compose.ete.yml | 1 + servers/fdr/src/__test__/mock.ts | 1 + servers/fdr/src/app/FdrConfig.ts | 3 +++ servers/fdr/src/server.ts | 4 ++-- 8 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-fdr-dev.yml b/.github/workflows/deploy-fdr-dev.yml index ee0f04540f..596c07f29e 100644 --- a/.github/workflows/deploy-fdr-dev.yml +++ b/.github/workflows/deploy-fdr-dev.yml @@ -40,6 +40,7 @@ jobs: ALGOLIA_ADMIN_API_KEY: ${{ secrets.ALGOLIA_ADMIN_API_KEY }} ALGOLIA_SEARCH_INDEX: ${{ secrets.ALGOLIA_SEARCH_INDEX }} ALGOLIA_SEARCH_API_KEY: ${{ secrets.ALGOLIA_SEARCH_API_KEY }} + APPLICATION_ENVIRONMENT: dev steps: - uses: actions/checkout@v4 - name: 📥 Install diff --git a/.github/workflows/deploy-fdr-prod.yml b/.github/workflows/deploy-fdr-prod.yml index 95408a191b..83dd4e7a53 100644 --- a/.github/workflows/deploy-fdr-prod.yml +++ b/.github/workflows/deploy-fdr-prod.yml @@ -34,6 +34,7 @@ jobs: ALGOLIA_ADMIN_API_KEY: ${{ secrets.ALGOLIA_ADMIN_API_KEY }} ALGOLIA_SEARCH_INDEX: ${{ secrets.ALGOLIA_SEARCH_INDEX }} ALGOLIA_SEARCH_API_KEY: ${{ secrets.ALGOLIA_SEARCH_API_KEY }} + APPLICATION_ENVIRONMENT: prod steps: - uses: actions/checkout@v4 - name: 📥 Install diff --git a/.github/workflows/diff-fdr-dev.yml b/.github/workflows/diff-fdr-dev.yml index b8b942c369..ccfcfe8618 100644 --- a/.github/workflows/diff-fdr-dev.yml +++ b/.github/workflows/diff-fdr-dev.yml @@ -40,6 +40,7 @@ jobs: ALGOLIA_ADMIN_API_KEY: ${{ secrets.ALGOLIA_ADMIN_API_KEY }} ALGOLIA_SEARCH_INDEX: ${{ secrets.ALGOLIA_SEARCH_INDEX }} ALGOLIA_SEARCH_API_KEY: ${{ secrets.ALGOLIA_SEARCH_API_KEY }} + APPLICATION_ENVIRONMENT: dev steps: - uses: actions/checkout@v4 - name: 📥 Install diff --git a/servers/fdr-deploy/scripts/fdr-deploy-stack.ts b/servers/fdr-deploy/scripts/fdr-deploy-stack.ts index 11a7d0fe48..2bc9528476 100644 --- a/servers/fdr-deploy/scripts/fdr-deploy-stack.ts +++ b/servers/fdr-deploy/scripts/fdr-deploy-stack.ts @@ -135,6 +135,7 @@ export class FdrDeployStack extends Stack { LOG_LEVEL: getLogLevel(environmentType), DOCS_CACHE_ENDPOINT: fernDocsCacheEndpoint, ENABLE_CUSTOMER_NOTIFICATIONS: (environmentType === "PROD").toString(), + APPLICATION_ENVIRONMENT: getEnvironmentVariableOrThrow("APPLICATION_ENVIRONMENT"), }, containerName: CONTAINER_NAME, containerPort: 8080, diff --git a/servers/fdr/docker-compose.ete.yml b/servers/fdr/docker-compose.ete.yml index 3b10edb3e7..dd827c1658 100644 --- a/servers/fdr/docker-compose.ete.yml +++ b/servers/fdr/docker-compose.ete.yml @@ -17,6 +17,7 @@ services: ALGOLIA_SEARCH_API_KEY: dummy SLACK_TOKEN: dummy ENABLE_CUSTOMER_NOTIFICATIONS: "false" + APPLICATION_ENVIRONMENT: ete postgres: image: postgres:10.3 restart: always diff --git a/servers/fdr/src/__test__/mock.ts b/servers/fdr/src/__test__/mock.ts index dd00197224..33bba7f170 100644 --- a/servers/fdr/src/__test__/mock.ts +++ b/servers/fdr/src/__test__/mock.ts @@ -121,6 +121,7 @@ export function createMockFdrConfig(): FdrConfig { slackToken: "", logLevel: "debug", enableCustomerNotifications: false, + applicationEnvironment: "mock", }; } diff --git a/servers/fdr/src/app/FdrConfig.ts b/servers/fdr/src/app/FdrConfig.ts index a9865adc42..8f4af71946 100644 --- a/servers/fdr/src/app/FdrConfig.ts +++ b/servers/fdr/src/app/FdrConfig.ts @@ -12,6 +12,7 @@ const ALGOLIA_SEARCH_API_KEY_ENV_VAR = "ALGOLIA_SEARCH_API_KEY"; const SLACK_TOKEN_ENV_VAR = "SLACK_TOKEN"; const LOG_LEVEL_ENV_VAR = "LOG_LEVEL"; const ENABLE_CUSTOMER_NOTIFICATIONS_ENV_VAR = "ENABLE_CUSTOMER_NOTIFICATIONS"; +const APPLICATION_ENVIRONMENT_ENV_VAR = "APPLICATION_ENVIRONMENT"; export interface FdrConfig { venusUrl: string; @@ -28,6 +29,7 @@ export interface FdrConfig { slackToken: string; logLevel: string; enableCustomerNotifications: boolean; + applicationEnvironment: string; } export function getConfig(): FdrConfig { @@ -46,6 +48,7 @@ export function getConfig(): FdrConfig { slackToken: getEnvironmentVariableOrThrow(SLACK_TOKEN_ENV_VAR), logLevel: process.env[LOG_LEVEL_ENV_VAR] ?? "info", enableCustomerNotifications: getEnvironmentVariableOrThrow(ENABLE_CUSTOMER_NOTIFICATIONS_ENV_VAR) === "true", + applicationEnvironment: getEnvironmentVariableOrThrow(APPLICATION_ENVIRONMENT_ENV_VAR), }; } diff --git a/servers/fdr/src/server.ts b/servers/fdr/src/server.ts index 70f11edb37..cdda5a5617 100644 --- a/servers/fdr/src/server.ts +++ b/servers/fdr/src/server.ts @@ -37,9 +37,9 @@ Sentry.init({ tracesSampleRate: 1.0, // Capture 100% of the transactions // Set sampling rate for profiling - this is relative to tracesSampleRate profilesSampleRate: 1.0, - environment: process?.env.NEXT_PUBLIC_APPLICATION_ENVIRONMENT ?? "dev", + environment: config.applicationEnvironment, maxValueLength: 1000, - // enabled: process.env.NODE_ENV === "production", // Do not enable sentry when running local + enabled: config.applicationEnvironment === "dev" || config.applicationEnvironment == "prod", }); // The request handler must be the first middleware on the app