1
1
import { Construct } from 'constructs' ;
2
- import {
3
- App ,
4
- DataTerraformRemoteState ,
5
- RemoteBackend ,
6
- TerraformStack ,
7
- } from 'cdktf' ;
2
+ import { App , S3Backend , TerraformStack } from 'cdktf' ;
8
3
import { AwsProvider } from '@cdktf/provider-aws/lib/provider' ;
9
4
import { S3Bucket } from '@cdktf/provider-aws/lib/s3-bucket' ;
10
5
import { config } from './config' ;
11
- import { PocketPagerDuty , PocketVPC } from '@pocket-tools/terraform-modules' ;
12
- import { PagerdutyProvider } from '@cdktf/provider-pagerduty/lib/provider' ;
6
+ import { PocketVPC } from '@pocket-tools/terraform-modules' ;
13
7
import { LocalProvider } from '@cdktf/provider-local/lib/provider' ;
14
8
import { NullProvider } from '@cdktf/provider-null/lib/provider' ;
15
9
import { ArchiveProvider } from '@cdktf/provider-archive/lib/provider' ;
@@ -23,35 +17,33 @@ class CurationToolsDataSync extends TerraformStack {
23
17
super ( scope , name ) ;
24
18
25
19
new AwsProvider ( this , 'aws' , { region : 'us-east-1' } ) ;
26
- new PagerdutyProvider ( this , 'pagerduty_provider' , { token : undefined } ) ;
27
20
new LocalProvider ( this , 'local_provider' ) ;
28
21
new NullProvider ( this , 'null_provider' ) ;
29
22
new ArchiveProvider ( this , 'archive_provider' ) ;
30
23
31
- new RemoteBackend ( this , {
32
- hostname : 'app.terraform.io' ,
33
- organization : 'Pocket' ,
34
- workspaces : [ { prefix : `${ config . name } -` } ] ,
24
+ new S3Backend ( this , {
25
+ bucket : `mozilla-content-team-${ config . environment . toLowerCase ( ) } -terraform-state` ,
26
+ dynamodbTable : `mozilla-content-team-${ config . environment . toLowerCase ( ) } -terraform-state` ,
27
+ key : config . name ,
28
+ region : 'us-east-1' ,
35
29
} ) ;
36
30
37
31
// ** shared infrastructure between backfill and datasync
38
32
const vpc = new PocketVPC ( this , 'pocket-shared-vpc' ) ;
39
- const pagerDuty = this . createPagerDuty ( ) ;
40
33
//dynamo db to map curatedRecId - scheduledItem's externalId and store approvedItem's externalId
41
34
const idMapperDynamoDb = new DynamoDB ( this , 'curation-migration-id-mapper' ) ;
42
35
43
36
// ** infrastructure for backfill process **
44
37
//bucket for storing all the required csv files
45
38
this . createMigrationBucket ( ) ;
46
39
47
- new BackfillAuthorsLambda ( this , 'backfill-author-lambda' , vpc , pagerDuty ) ;
40
+ new BackfillAuthorsLambda ( this , 'backfill-author-lambda' , vpc ) ;
48
41
49
42
new BackfillLambda (
50
43
this ,
51
44
'backfill-lambda' ,
52
45
vpc ,
53
46
idMapperDynamoDb . curationMigrationTable ,
54
- pagerDuty ,
55
47
) ;
56
48
57
49
// ** infrastructure for datasync process **
@@ -60,44 +52,9 @@ class CurationToolsDataSync extends TerraformStack {
60
52
'datasync-lambda' ,
61
53
vpc ,
62
54
idMapperDynamoDb . curationMigrationTable ,
63
- pagerDuty ,
64
55
) ;
65
56
}
66
57
67
- /**
68
- * Create PagerDuty service for alerts
69
- * @private
70
- */
71
- private createPagerDuty ( ) {
72
- // don't create any pagerduty resources if in dev
73
- if ( config . isDev ) {
74
- return undefined ;
75
- }
76
-
77
- const incidentManagement = new DataTerraformRemoteState (
78
- this ,
79
- 'incident_management' ,
80
- {
81
- organization : 'Pocket' ,
82
- workspaces : {
83
- name : 'incident-management' ,
84
- } ,
85
- } ,
86
- ) ;
87
-
88
- return new PocketPagerDuty ( this , 'pagerduty' , {
89
- prefix : config . prefix ,
90
- service : {
91
- criticalEscalationPolicyId : incidentManagement
92
- . get ( 'policy_default_critical_id' )
93
- . toString ( ) ,
94
- nonCriticalEscalationPolicyId : incidentManagement
95
- . get ( 'policy_default_non_critical_id' )
96
- . toString ( ) ,
97
- } ,
98
- } ) ;
99
- }
100
-
101
58
/**
102
59
* Create the migration S3 bucket
103
60
* This bucket is used to store all the required csv files
0 commit comments