diff --git a/lib/constructs/backup-verification.ts b/lib/constructs/backup-verification.ts index 64106da..dc4a3de 100644 --- a/lib/constructs/backup-verification.ts +++ b/lib/constructs/backup-verification.ts @@ -1,4 +1,5 @@ import * as cdk from "aws-cdk-lib"; +import * as cloudwatch from "aws-cdk-lib/aws-cloudwatch"; import * as events from "aws-cdk-lib/aws-events"; import * as events_targets from "aws-cdk-lib/aws-events-targets"; import * as iam from "aws-cdk-lib/aws-iam"; @@ -95,5 +96,15 @@ export class BackupVerification extends Construct { }), ], }); + + new cloudwatch.Alarm(this, "ErrorAlarm", { + alarmName: "forgejo-backup-verification-errors", + alarmDescription: "Backup verification Lambda is failing — Slack notifications may not be firing", + metric: fn.metricErrors({ period: cdk.Duration.hours(1) }), + threshold: 1, + evaluationPeriods: 1, + treatMissingData: cloudwatch.TreatMissingData.BREACHING, + comparisonOperator: cloudwatch.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD, + }); } }