Skip to content

About

Module for integrating SNS topics with Pagerduty Services • This repository is defined and managed in Terraform

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

115 watching

Forks

Repository files navigation

Modernisation Platform Pagerduty Integration Terraform Module

Standards Icon Scorecards Icon Code Quality Icon

Terraform module for associating SNS topics with PagerDuty services on the Modernisation Platform.

Usage

# Get the map of PagerDuty integration keys from the modernisation platform account
data "aws_secretsmanager_secret" "pagerduty_integration_keys" {
  provider = aws.modernisation-platform
  name     = "pagerduty_integration_keys"
}

data "aws_secretsmanager_secret_version" "pagerduty_integration_keys" {
  provider  = aws.modernisation-platform
  secret_id = data.aws_secretsmanager_secret.pagerduty_integration_keys.id
}

# Add a local to get the keys
locals {
  pagerduty_integration_keys = jsondecode(data.aws_secretsmanager_secret_version.pagerduty_integration_keys.secret_string)
}

module "pagerduty_core_alerts" {
  source                    = "github.com/ministryofjustice/modernisation-platform-terraform-pagerduty-integration?ref=d88bd90d490268896670a898edfaba24bba2f8ab" # v3.0.0
  sns_topics                = ["config", "securityhub-alarms", "cloudtrail"]
  pagerduty_integration_key = local.pagerduty_integration_keys["core_alerts_cloudwatch"]
}

Adding New PagerDuty Services

New Pagerduty services can be added here - https://github.com/ministryofjustice/modernisation-platform/blob/main/terraform/pagerduty/services.tf

Once added, the integration key should be added to the secret here - https://github.com/ministryofjustice/modernisation-platform/blob/main/terraform/pagerduty/aws.tf#L12

Requirements

Name Version
terraform >= 1.0.1
aws ~> 6.0

Providers

Name Version
aws ~> 6.0

Modules

No modules.

Resources

Name Type
aws_sns_topic_subscription.pagerduty_subscription resource
aws_sns_topic.alarm_topics data source

Inputs

Name Description Type Default Required
pagerduty_integration_key n/a string n/a yes
sns_topics n/a list(any) n/a yes

Outputs

No outputs.

Looking for issues?

If you're looking to raise an issue with this module, please create a new issue in the Modernisation Platform repository.

Requirements

Name Version
terraform ~> 1.0
aws ~> 6.0

Providers

Name Version
aws ~> 6.0

Modules

No modules.

Resources

Name Type
aws_sns_topic_subscription.pagerduty_subscription resource
aws_sns_topic.alarm_topics data source

Inputs

Name Description Type Default Required
pagerduty_integration_key n/a string n/a yes
sns_topics n/a list(any) n/a yes

Outputs

Name Description
sns_subscription_arn n/a
sns_topic_arn n/a

About

Module for integrating SNS topics with Pagerduty Services • This repository is defined and managed in Terraform

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

115 watching

Forks

Releases

Packages

Used by

Contributors

Languages