Skip to content

ministryofjustice/modernisation-platform-terraform-pagerduty-integration

Modernisation Platform Pagerduty Integration Terraform Module

Standards Icon Format Code Icon Scorecards Icon

SCA Icon Terraform SCA 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

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 15