Add sentry release and environment configurations (#277)

* Add sentry release and environment configurations

* Fixing nginx config issue

Co-authored-by: Satbir Singh <satbir121@gmail.com>
This commit is contained in:
Abhinav Jha 2020-08-13 10:16:06 +05:30 committed by Arpit Mohan
parent a13f2d5bfe
commit a4e8b0d5db
6 changed files with 52 additions and 7 deletions

View File

@ -31,6 +31,8 @@ server {
sub_filter __APPSMITH_CLIENT_LOG_LEVEL__ '${APPSMITH_CLIENT_LOG_LEVEL}';
sub_filter __APPSMITH_GOOGLE_MAPS_API_KEY__ '${APPSMITH_GOOGLE_MAPS_API_KEY}';
sub_filter __APPSMITH_TNC_PP__ '${APPSMITH_TNC_PP}';
sub_filter __APPSMITH_SENTRY_RELEASE__ '${APPSMITH_SENTRY_RELEASE}';
sub_filter __APPSMITH_SENTRY_ENVIRONMENT__ '${APPSMITH_SENTRY_ENVIRONMENT}';
}
location /f {
@ -93,6 +95,8 @@ server {
sub_filter __APPSMITH_CLIENT_LOG_LEVEL__ '${APPSMITH_CLIENT_LOG_LEVEL}';
sub_filter __APPSMITH_GOOGLE_MAPS_API_KEY__ '${APPSMITH_GOOGLE_MAPS_API_KEY}';
sub_filter __APPSMITH_TNC_PP__ '${APPSMITH_TNC_PP}';
sub_filter __APPSMITH_SENTRY_RELEASE__ '${APPSMITH_SENTRY_RELEASE}';
sub_filter __APPSMITH_SENTRY_ENVIRONMENT__ '${APPSMITH_SENTRY_ENVIRONMENT}';
}
location /f {

View File

@ -31,6 +31,8 @@ server {
sub_filter __APPSMITH_CLIENT_LOG_LEVEL__ '${APPSMITH_CLIENT_LOG_LEVEL}';
sub_filter __APPSMITH_GOOGLE_MAPS_API_KEY__ '${APPSMITH_GOOGLE_MAPS_API_KEY}';
sub_filter __APPSMITH_TNC_PP__ '${APPSMITH_TNC_PP}';
sub_filter __APPSMITH_SENTRY_RELEASE__ '${APPSMITH_SENTRY_RELEASE}';
sub_filter __APPSMITH_SENTRY_ENVIRONMENT__ '${APPSMITH_SENTRY_ENVIRONMENT}';
}
location /f {
@ -94,6 +96,8 @@ server {
sub_filter __APPSMITH_CLIENT_LOG_LEVEL__ '${APPSMITH_CLIENT_LOG_LEVEL}';
sub_filter __APPSMITH_GOOGLE_MAPS_API_KEY__ '${APPSMITH_GOOGLE_MAPS_API_KEY}';
sub_filter __APPSMITH_TNC_PP__ '${APPSMITH_TNC_PP}';
sub_filter __APPSMITH_SENTRY_RELEASE__ '${APPSMITH_SENTRY_RELEASE}';
sub_filter __APPSMITH_SENTRY_ENVIRONMENT__ '${APPSMITH_SENTRY_ENVIRONMENT}';
}

View File

@ -53,7 +53,11 @@
const CONFIG_LOG_LEVEL_INDEX = LOG_LEVELS.indexOf(parseConfig("__APPSMITH_CLIENT_LOG_LEVEL__"));
window.SENTRY_CONFIG = parseConfig("__APPSMITH_SENTRY_DSN__");
window.APPSMITH_FEATURE_CONFIGS = {
sentry: parseConfig("__APPSMITH_SENTRY_DSN__"),
sentry: {
dsn: parseConfig("__APPSMITH_SENTRY_DSN__"),
release: parseConfig("__APPSMITH_SENTRY_RELEASE__"),
environment: parseConfig("__APPSMITH_SENTRY_ENVIRONMENT__"),
},
hotjar: {
id: parseConfig("__APPSMITH_HOTJAR_HJID__"),
sv: parseConfig("__APPSMITH_HOTJAR_HJSV__"),

View File

@ -1,6 +1,10 @@
import { AppsmithUIConfigs, FeatureFlagConfig } from "./types";
type INJECTED_CONFIGS = {
sentry: string;
sentry: {
dsn: string;
release: string;
environment: string;
};
hotjar: {
id: string;
sv: string;
@ -27,9 +31,19 @@ declare global {
}
}
const capitalizeText = (text: string) => {
const rest = text.slice(1);
const first = text[0].toUpperCase();
return `${first}${rest}`;
};
const getConfigsFromEnvVars = (): INJECTED_CONFIGS => {
return {
sentry: process.env.REACT_APP_SENTRY_DSN || "",
sentry: {
dsn: process.env.REACT_APP_SENTRY_DSN || "",
release: process.env.REACT_APP_SENTRY_RELEASE || "",
environment: capitalizeText(process.env.NODE_ENV),
},
hotjar: {
id: process.env.REACT_APP_HOTJAR_HJID || "",
sv: process.env.REACT_APP_HOTJAR_HJSV || "",
@ -92,7 +106,19 @@ export const getAppsmithConfigs = (): AppsmithUIConfigs => {
return;
};
const sentry = getConfig(ENV_CONFIG.sentry, APPSMITH_FEATURE_CONFIGS.sentry);
// const sentry = getConfig(ENV_CONFIG.sentry, APPSMITH_FEATURE_CONFIGS.sentry);
const sentryDSN = getConfig(
ENV_CONFIG.sentry.dsn,
APPSMITH_FEATURE_CONFIGS.sentry.dsn,
);
const sentryRelease = getConfig(
ENV_CONFIG.sentry.release,
APPSMITH_FEATURE_CONFIGS.sentry.release,
);
const sentryENV = getConfig(
APPSMITH_FEATURE_CONFIGS.sentry.environment,
ENV_CONFIG.sentry.environment,
);
const segment = getConfig(
ENV_CONFIG.segment,
APPSMITH_FEATURE_CONFIGS.segment,
@ -124,7 +150,12 @@ export const getAppsmithConfigs = (): AppsmithUIConfigs => {
);
return {
sentry: { enabled: sentry.enabled, apiKey: sentry.value },
sentry: {
enabled: sentryDSN.enabled && sentryRelease.enabled && sentryENV.enabled,
dsn: sentryDSN.value,
release: sentryRelease.value,
environment: sentryENV.value,
},
hotjar: {
enabled: hotjarId.enabled && hotjarSV.enabled,
id: hotjarId.value,

View File

@ -26,7 +26,9 @@ export type FeatureFlagConfig = {
export type AppsmithUIConfigs = {
sentry: {
enabled: boolean;
apiKey: string;
dsn: string;
release: string;
environment: string;
};
hotjar: {
enabled: boolean;

View File

@ -31,7 +31,7 @@ export const appInitializer = () => {
FeatureFlag.initialize(appsmithConfigs.featureFlag);
if (appsmithConfigs.sentry.enabled) {
Sentry.init({ dsn: appsmithConfigs.sentry.apiKey });
Sentry.init(appsmithConfigs.sentry);
}
if (appsmithConfigs.hotjar.enabled) {
const { id, sv } = appsmithConfigs.hotjar;