From 45805f31f6d2b6892322aa5bdb79ad0f582338ea Mon Sep 17 00:00:00 2001 From: Henry Heikkinen Date: Mon, 25 Nov 2024 16:57:10 +0200 Subject: [PATCH] Fix export failure alarm for other environments than hahtuva --- infra/src/cdk-app.ts | 15 ++++++++------- infra/src/config.ts | 5 +++++ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/infra/src/cdk-app.ts b/infra/src/cdk-app.ts index b8b85e9c0..d8e191fba 100644 --- a/infra/src/cdk-app.ts +++ b/infra/src/cdk-app.ts @@ -158,11 +158,17 @@ class ApplicationStack extends cdk.Stack { ec2.Port.tcp(database.clusterEndpoint.port) ); + const alarmTopic = sns.Topic.fromTopicArn( + this, + "AlarmTopic", + config.alarmTopicArn + ); + const logGroup = new logs.LogGroup(this, "AppLogGroup", { logGroupName: "kayttooikeus", retention: logs.RetentionDays.INFINITE, }); - this.exportFailureAlarm(logGroup); + this.exportFailureAlarm(logGroup, alarmTopic); new AuditLogExport(this, "AuditLogExport", { logGroup }); @@ -338,12 +344,7 @@ class ApplicationStack extends cdk.Stack { this.ipRestrictions(alb); } - exportFailureAlarm(logGroup: logs.LogGroup) { - const alarmTopic = sns.Topic.fromTopicArn( - this, - "AlarmTopic", - ALARM_TOPIC_ARN - ); + exportFailureAlarm(logGroup: logs.LogGroup, alarmTopic: sns.ITopic) { const metricFilter = logGroup.addMetricFilter( "ExportTaskSuccessMetricFilter", { diff --git a/infra/src/config.ts b/infra/src/config.ts index fe9cc390b..108d1c315 100644 --- a/infra/src/config.ts +++ b/infra/src/config.ts @@ -2,6 +2,7 @@ const environments = ["hahtuva", "dev", "qa", "prod"] as const; type EnvironmentName = (typeof environments)[number]; const defaultConfig = { + alarmTopicArn: "", minCapacity: 0, maxCapacity: 0, // service-provider should run only single instance because it contains in-memory state for SAML message identifiers @@ -32,24 +33,28 @@ export function getConfig(): Config { export const hahtuva: Config = { ...defaultConfig, + alarmTopicArn: "arn:aws:sns:eu-west-1:471112979851:alarm", minCapacity: 1, maxCapacity: 2, }; export const dev: Config = { ...defaultConfig, + alarmTopicArn: "arn:aws:sns:eu-west-1:058264235340:alarm", minCapacity: 1, maxCapacity: 2, }; export const qa: Config = { ...defaultConfig, + alarmTopicArn: "arn:aws:sns:eu-west-1:730335317715:alarm", minCapacity: 1, maxCapacity: 2, }; export const prod: Config = { ...defaultConfig, + alarmTopicArn: "arn:aws:sns:eu-west-1:767397734142:alarm", minCapacity: 2, maxCapacity: 8, };