Skip to content

Commit

Permalink
Add sentry dsn envvars for deployment
Browse files Browse the repository at this point in the history
  • Loading branch information
dakotabenjamin authored and willemarcel committed Sep 29, 2020
1 parent b76fa47 commit c4fe889
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 3 deletions.
15 changes: 14 additions & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,8 @@ jobs:
type: env_var_name
upload_api_key:
type: env_var_name
sentry_backend_dsn:
type: env_var_name
working_directory: /home/circleci/tasking-manager
docker:
- image: circleci/python:3.7-buster-node
Expand All @@ -171,7 +173,7 @@ jobs:
- run:
name: Set Environment Variables
command: |
echo "export JSON_CONFIG='{\"GitSha\":\"$CIRCLE_SHA1\", \"NetworkEnvironment\":\"<< parameters.environment_name >>\", \"AutoscalingPolicy\":\"<< parameters.autoscaling_policy >>\", \"DBSnapshot\":\"\", \"DatabaseDump\":\"\", \"NewRelicLicense\":\"${<< parameters.new_relic_license >>}\", \"PostgresDB\":\"${<< parameters.postgres_db >>}\", \"PostgresEndpoint\":\"\", \"PostgresPassword\":\"${<< parameters.postgres_password >>}\", \"PostgresUser\":\"${<< parameters.postgres_user >>}\", \"DatabaseSize\":\"${<< parameters.db_size >>}\",\"ELBSubnets\":\"${<< parameters.elb_subnets >>}\", \"SSLCertificateIdentifier\":\"${<< parameters.ssl_cert >>}\", \"TaskingManagerLogDirectory\":\"${<< parameters.log_dir >>}\", \"TaskingManagerConsumerKey\":\"${<< parameters.consumer_key >>}\",\"TaskingManagerConsumerSecret\":\"${<< parameters.consumer_secret >>}\",\"TaskingManagerSecret\":\"${<< parameters.tm_secret >>}\",\"TaskingManagerLogLevel\":\"<< parameters.log_level >>\",\"TaskingManagerImageUploadAPIURL\":\"${<< parameters.upload_api_url >>}\", \"TaskingManagerImageUploadAPIKey\":\"${<< parameters.upload_api_key >>}\",\"TaskingManagerURL\":\"${<< parameters.app_url >>}\", \"TaskingManagerOrgName\":\"${<< parameters.org_name >>}\", \"TaskingManagerOrgCode\":\"${<< parameters.org_code >>}\", \"TaskingManagerEmailContactAddress\":\"${<< parameters.email_contact_address >>}\"}'" >> $BASH_ENV
echo "export JSON_CONFIG='{\"GitSha\":\"$CIRCLE_SHA1\", \"NetworkEnvironment\":\"<< parameters.environment_name >>\", \"AutoscalingPolicy\":\"<< parameters.autoscaling_policy >>\", \"DBSnapshot\":\"\", \"DatabaseDump\":\"\", \"NewRelicLicense\":\"${<< parameters.new_relic_license >>}\", \"PostgresDB\":\"${<< parameters.postgres_db >>}\", \"PostgresEndpoint\":\"\", \"PostgresPassword\":\"${<< parameters.postgres_password >>}\", \"PostgresUser\":\"${<< parameters.postgres_user >>}\", \"DatabaseSize\":\"${<< parameters.db_size >>}\",\"ELBSubnets\":\"${<< parameters.elb_subnets >>}\", \"SSLCertificateIdentifier\":\"${<< parameters.ssl_cert >>}\", \"TaskingManagerLogDirectory\":\"${<< parameters.log_dir >>}\", \"TaskingManagerConsumerKey\":\"${<< parameters.consumer_key >>}\",\"TaskingManagerConsumerSecret\":\"${<< parameters.consumer_secret >>}\",\"TaskingManagerSecret\":\"${<< parameters.tm_secret >>}\",\"TaskingManagerLogLevel\":\"<< parameters.log_level >>\",\"TaskingManagerImageUploadAPIURL\":\"${<< parameters.upload_api_url >>}\", \"TaskingManagerImageUploadAPIKey\":\"${<< parameters.upload_api_key >>}\",\"TaskingManagerURL\":\"${<< parameters.app_url >>}\", \"TaskingManagerOrgName\":\"${<< parameters.org_name >>}\", \"TaskingManagerOrgCode\":\"${<< parameters.org_code >>}\", \"SentryBackendDSN\":\"${<< parameters.sentry_backend_dsn >>}\", \"TaskingManagerEmailContactAddress\":\"${<< parameters.email_contact_address >>}\"}'" >> $BASH_ENV
- run:
name: Install modules
command: |
Expand Down Expand Up @@ -354,6 +356,8 @@ jobs:
type: env_var_name
homepage_stats_api_url:
type: env_var_name
sentry_frontend_dsn:
type: env_var_name
working_directory: /home/circleci/tasking-manager
docker:
- image: circleci/python:3.7-buster-node
Expand Down Expand Up @@ -419,6 +423,7 @@ jobs:
export TM_IMAGE_UPLOAD_API_URL=${<< parameters.upload_api_url >>}
export TM_USER_STATS_API_URL=${<< parameters.user_stats_api_url >>}
export TM_HOMEPAGE_STATS_API_URL=${<< parameters.homepage_stats_api_url >>}
export TM_SENTRY_FRONTEND_DSN=${<< parameters.sentry_frontend_dsn >>}
cd ${CIRCLE_WORKING_DIRECTORY}/frontend/
yarn
CI=true GENERATE_SOURCEMAP=false yarn build
Expand Down Expand Up @@ -481,6 +486,7 @@ workflows:
org_homepage_video_url: TM_HOMEPAGE_VIDEO_URL #=https://cdn.hotosm.org/tasking-manager/mapping.mp4
upload_api_url: TM_IMAGE_UPLOAD_API_URL
upload_api_key: TM_IMAGE_UPLOAD_API_KEY
sentry_backend_dsn: TM_SENTRY_BACKEND_DSN
- frontend_deploy:
name: staging
filters:
Expand Down Expand Up @@ -530,6 +536,7 @@ workflows:
upload_api_key: TM_IMAGE_UPLOAD_API_KEY
user_stats_api_url: TM_USER_STATS_API_URL
homepage_stats_api_url: TM_HOMEPAGE_STATS_API_URL
sentry_frontend_dsn: TM_SENTRY_FRONTEND_DSN
- backend_deploy:
name: teachosm
filters:
Expand Down Expand Up @@ -577,6 +584,7 @@ workflows:
org_homepage_video_url: TM_HOMEPAGE_VIDEO_URL
upload_api_url: TM_IMAGE_UPLOAD_API_URL
upload_api_key: TM_IMAGE_UPLOAD_API_KEY
sentry_backend_dsn: TM_SENTRY_BACKEND_DSN
- frontend_deploy:
name: teachosm
filters:
Expand Down Expand Up @@ -626,6 +634,7 @@ workflows:
upload_api_key: TM_IMAGE_UPLOAD_API_KEY
user_stats_api_url: TM_USER_STATS_API_URL
homepage_stats_api_url: TM_HOMEPAGE_STATS_API_URL
sentry_frontend_dsn: TM_SENTRY_FRONTEND_DSN
- backend_deploy:
name: assisted
filters:
Expand Down Expand Up @@ -673,6 +682,7 @@ workflows:
org_homepage_video_url: TM_HOMEPAGE_VIDEO_URL
upload_api_url: TM_IMAGE_UPLOAD_API_URL
upload_api_key: TM_IMAGE_UPLOAD_API_KEY
sentry_backend_dsn: TM_SENTRY_BACKEND_DSN
- frontend_deploy:
name: assisted
filters:
Expand Down Expand Up @@ -722,6 +732,7 @@ workflows:
upload_api_key: TM_IMAGE_UPLOAD_API_KEY
user_stats_api_url: TM_USER_STATS_API_URL
homepage_stats_api_url: TM_HOMEPAGE_STATS_API_URL
sentry_frontend_dsn: TM_SENTRY_FRONTEND_DSN
backend-production:
jobs:
- backend_deploy:
Expand Down Expand Up @@ -769,6 +780,7 @@ workflows:
org_homepage_video_url: TM_HOMEPAGE_VIDEO_URL
upload_api_url: TM_IMAGE_UPLOAD_API_URL
upload_api_key: TM_IMAGE_UPLOAD_API_KEY
sentry_backend_dsn: TM_SENTRY_BACKEND_DSN
frontend-production:
jobs:
- frontend_deploy:
Expand Down Expand Up @@ -819,3 +831,4 @@ workflows:
upload_api_key: TM_IMAGE_UPLOAD_API_KEY
user_stats_api_url: TM_USER_STATS_API_URL
homepage_stats_api_url: TM_HOMEPAGE_STATS_API_URL
sentry_frontend_dsn: TM_SENTRY_FRONTEND_DSN
2 changes: 1 addition & 1 deletion backend/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ class EnvironmentConfig:
API_VERSION = os.getenv("TM_APP_API_VERSION", "v2")
ORG_CODE = os.getenv("TM_ORG_CODE", "")
ORG_NAME = os.getenv("TM_ORG_NAME", "")
ENVIRONMENT = os.getenv("TM_ENVIRONMENT", "")
ENVIRONMENT = os.getenv("TM_ENVIRONMENT", "")
# The default tag used in the OSM changeset comment
DEFAULT_CHANGESET_COMMENT = os.getenv("TM_DEFAULT_CHANGESET_COMMENT", None)

Expand Down
1 change: 1 addition & 0 deletions frontend/.env.expand
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,4 @@ REACT_APP_OSM_REGISTER_URL=$OSM_REGISTER_URL
REACT_APP_ID_EDITOR_URL=$ID_EDITOR_URL
REACT_APP_POTLATCH2_EDITOR_URL=$POTLATCH2_EDITOR_URL
REACT_APP_SENTRY_FRONTEND_DSN=$TM_SENTRY_FRONTEND_DSN
REACT_APP_ENVIRONMENT=$TM_ENVIRONMENT
1 change: 1 addition & 0 deletions frontend/src/config/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ export const USER_STATS_API_URL =

// APPLICATION SETTINGS
export const DEFAULT_LOCALE = process.env.REACT_APP_DEFAULT_LOCALE || 'en';
export const ENVIRONMENT= process.env.REACT_APP_ENVIRONMENT || '';
export const PROJECTCARD_CONTRIBUTION_SHOWN_THRESHOLD =
process.env.REACT_APP_PROJECTCARD_CONTRIBUTION_SHOWN_THRESHOLD || 5;
export const INTERMEDIATE_LEVEL_COUNT =
Expand Down
3 changes: 2 additions & 1 deletion frontend/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,12 @@ import { store } from './store';
import { getUserDetails } from './store/actions/auth';
import { ConnectedIntl } from './utils/internationalization';
import * as serviceWorker from './serviceWorker';
import { ENABLE_SERVICEWORKER, SENTRY_FRONTEND_DSN } from './config';
import { ENABLE_SERVICEWORKER, SENTRY_FRONTEND_DSN, ENVIRONMENT } from './config';

if (SENTRY_FRONTEND_DSN) {
Sentry.init({
dsn: SENTRY_FRONTEND_DSN,
environment: ENVIRONMENT,
integrations: [new Integrations.BrowserTracing()],
tracesSampleRate: 0.1,
});
Expand Down
5 changes: 5 additions & 0 deletions scripts/aws/cloudformation/tasking-manager.template.js
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,10 @@ const Parameters = {
TaskingManagerOrgCode: {
Description: 'Org Code',
Type: 'String'
},
SentryBackendDSN: {
Description: "DSN for sentry",
Type: 'String'
}
};

Expand Down Expand Up @@ -392,6 +396,7 @@ const Resources = {
'./venv/bin/python3.6 manage.py db upgrade',
'echo "------------------------------------------------------------"',
cf.sub('export NEW_RELIC_LICENSE_KEY="${NewRelicLicense}"'),
cf.sub('export TM_SENTRY_BACKEND_DSN="${SentryBackendDSN}"'),
'export NEW_RELIC_ENVIRONMENT=$TM_ENVIRONMENT',
cf.sub('NEW_RELIC_CONFIG_FILE=./scripts/aws/cloudformation/newrelic.ini newrelic-admin run-program gunicorn -b 0.0.0.0:8000 --worker-class gevent --workers 5 --timeout 179 --access-logfile ${TaskingManagerLogDirectory}/gunicorn-access.log --access-logformat \'%(h)s %(l)s %(u)s %(t)s \"%(r)s\" %(s)s %(b)s %(T)s \"%(f)s\" \"%(a)s\"\' manage:application &'),
cf.sub('sudo cfn-init -v --stack ${AWS::StackName} --resource TaskingManagerLaunchConfiguration --region ${AWS::Region} --configsets default'),
Expand Down

0 comments on commit c4fe889

Please sign in to comment.