Skip to content

Commit

Permalink
chore: DRY up pagerduty policy IDs
Browse files Browse the repository at this point in the history
- policy IDs recently added directly to codebase to move off terraform cloud
  • Loading branch information
jpetto committed Jan 8, 2025
1 parent 2de010f commit 959242c
Show file tree
Hide file tree
Showing 11 changed files with 83 additions and 69 deletions.
3 changes: 2 additions & 1 deletion infrastructure/collection-api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@
"@pocket-tools/terraform-modules": "5.14.2",
"cdktf-cli": "0.20.8",
"cdktf": "0.20.8",
"constructs": "10.3.0"
"constructs": "10.3.0",
"infrastructure-common": "workspace:*"
},
"devDependencies": {
"@types/node": "~20.12",
Expand Down
3 changes: 3 additions & 0 deletions infrastructure/collection-api/src/config/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import { infraConfig } from 'infrastructure-common';

const name = 'CollectionAPI';
const domainPrefix = 'collection-api';
const isDev = process.env.NODE_ENV === 'development';
Expand Down Expand Up @@ -26,6 +28,7 @@ export const config = {
domain,
graphqlVariant,
rds,
pagerduty: infraConfig.pagerduty,
tags: {
service: name,
environment,
Expand Down
14 changes: 5 additions & 9 deletions infrastructure/collection-api/src/main.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,5 @@
import { Construct } from 'constructs';
import {
App,
TerraformStack,
MigrateIds,
Aspects,
S3Backend,
} from 'cdktf';
import { App, TerraformStack, MigrateIds, Aspects, S3Backend } from 'cdktf';
import { config } from './config';
import {
ApplicationRDSCluster,
Expand Down Expand Up @@ -162,8 +156,10 @@ class CollectionAPI extends TerraformStack {
prefix: config.prefix,
service: {
// This is a Tier 2 service and as such only raises non-critical alarms.
criticalEscalationPolicyId: "PXOQVEP",
nonCriticalEscalationPolicyId: "PXOQVEP",
criticalEscalationPolicyId:
config.pagerduty.escalationPolicyIdNonCritical,
nonCriticalEscalationPolicyId:
config.pagerduty.escalationPolicyIdNonCritical,
},
});
}
Expand Down
3 changes: 2 additions & 1 deletion infrastructure/curated-corpus-api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@
"@cdktf/provider-archive": "10.2.0",
"cdktf": "0.20.8",
"cdktf-cli": "0.20.8",
"constructs": "10.3.0"
"constructs": "10.3.0",
"infrastructure-common": "workspace:*"
},
"devDependencies": {
"@types/node": "~20.12",
Expand Down
3 changes: 3 additions & 0 deletions infrastructure/curated-corpus-api/src/config/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import { infraConfig } from 'infrastructure-common';

const name = 'CuratedCorpusAPI';
const domainPrefix = 'curated-corpus-api';
const isDev = process.env.NODE_ENV === 'development';
Expand Down Expand Up @@ -53,6 +55,7 @@ export const config = {
timeout: 5,
startPeriod: 0,
},
pagerduty: infraConfig.pagerduty,
tracing: {
url: isDev
? 'https://otel-collector.getpocket.dev:443'
Expand Down
13 changes: 4 additions & 9 deletions infrastructure/curated-corpus-api/src/main.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,5 @@
import { Construct } from 'constructs';
import {
App,
TerraformStack,
MigrateIds,
Aspects,
S3Backend,
} from 'cdktf';
import { App, TerraformStack, MigrateIds, Aspects, S3Backend } from 'cdktf';
import { AwsProvider } from '@cdktf/provider-aws/lib/provider';
import { PagerdutyProvider } from '@cdktf/provider-pagerduty/lib/provider';
import { LocalProvider } from '@cdktf/provider-local/lib/provider';
Expand Down Expand Up @@ -186,8 +180,9 @@ class CuratedCorpusAPI extends TerraformStack {
return new PocketPagerDuty(this, 'pagerduty', {
prefix: config.prefix,
service: {
criticalEscalationPolicyId: "PQ2EUPZ",
nonCriticalEscalationPolicyId: "PXOQVEP",
criticalEscalationPolicyId: config.pagerduty.escalationPolicyIdCritical,
nonCriticalEscalationPolicyId:
config.pagerduty.escalationPolicyIdNonCritical,
},
});
}
Expand Down
3 changes: 3 additions & 0 deletions infrastructure/prospect-api/src/config/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import { infraConfig } from 'infrastructure-common';

const name = 'ProspectAPI';
const isDev = process.env.NODE_ENV === 'development';
const githubConnectionArn = isDev
Expand Down Expand Up @@ -47,6 +49,7 @@ export const config = {
eventBusName: `PocketEventBridge-${environment}-Shared-Event-Bus`,
snowplowEndpoint,
},
pagerduty: infraConfig.pagerduty,
tags: {
service: name,
environment,
Expand Down
14 changes: 5 additions & 9 deletions infrastructure/prospect-api/src/main.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,5 @@
import { Construct } from 'constructs';
import {
App,
TerraformStack,
MigrateIds,
Aspects,
S3Backend,
} from 'cdktf';
import { App, TerraformStack, MigrateIds, Aspects, S3Backend } from 'cdktf';

import {
PocketALBApplication,
Expand Down Expand Up @@ -119,8 +113,10 @@ class ProspectAPI extends TerraformStack {
prefix: config.prefix,
service: {
// This is a Tier 2 service and as such only raises non-critical alarms.
criticalEscalationPolicyId: "PXOQVEP",
nonCriticalEscalationPolicyId: "PXOQVEP",
criticalEscalationPolicyId:
config.pagerduty.escalationPolicyIdNonCritical,
nonCriticalEscalationPolicyId:
config.pagerduty.escalationPolicyIdNonCritical,
},
});
}
Expand Down
9 changes: 9 additions & 0 deletions packages/infrastructure-common/config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
export const infraConfig = {
pagerduty: {
// these policy id values come directly from pagerduty.
// these ids should not change unless new policies are created in pagerduty,
// at which point we would need to update these values.
escalationPolicyIdCritical: 'PQ2EUPZ',
escalationPolicyIdNonCritical: 'PXOQVEP',
},
};
1 change: 1 addition & 0 deletions packages/infrastructure-common/index.ts
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
export * from './dynamodb';
export * from './config';
Loading

0 comments on commit 959242c

Please sign in to comment.