Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ data "aws_iam_policy_document" "sqs_management_policy_document" {
module.tier-to-delius-queue.sqs_arn,
module.unpaid-work-and-delius-queue.sqs_arn,
module.workforce-allocations-to-delius-queue.sqs_arn,
module.sentence-plan-and-delius-queue.sqs_arn,
]
dlq = [
module.warrant-risk-assessment-and-delius-dlq.sqs_arn,
Expand Down Expand Up @@ -167,6 +168,7 @@ data "aws_iam_policy_document" "sqs_management_policy_document" {
module.tier-to-delius-dlq.sqs_arn,
module.unpaid-work-and-delius-dlq.sqs_arn,
module.workforce-allocations-to-delius-dlq.sqs_arn,
module.sentence-plan-and-delius-dlq.sqs_arn,
],
external = [
data.aws_sqs_queue.hmpps-tier-events-queue.arn,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
resource "aws_sns_topic_subscription" "sentence-plan-and-delius-queue-subscription" {
topic_arn = data.aws_sns_topic.hmpps-domain-events.arn
protocol = "sqs"
endpoint = module.sentence-plan-and-delius-queue.sqs_arn
filter_policy = jsonencode({
eventType = [
"arns.sentence.plan.goals.added",
"arns.sentence.plan.goals.completed",
]
})
}

module "sentence-plan-and-delius-queue" {
source = "github.com/ministryofjustice/cloud-platform-terraform-sqs?ref=5.1.2"

# Queue configuration
sqs_name = "sentence-plan-and-delius-queue"
redrive_policy = jsonencode({
deadLetterTargetArn = module.sentence-plan-and-delius-dlq.sqs_arn
maxReceiveCount = 3
})

# Tags
application = "sentence-plan-and-delius"
business_unit = var.business_unit
environment_name = var.environment_name
infrastructure_support = var.infrastructure_support
is_production = var.is_production
namespace = var.namespace
team_name = var.team_name
}

resource "aws_sqs_queue_policy" "sentence-plan-and-delius-queue-policy" {
queue_url = module.sentence-plan-and-delius-queue.sqs_id
policy = data.aws_iam_policy_document.sqs_queue_policy_document.json
}

module "sentence-plan-and-delius-dlq" {
source = "github.com/ministryofjustice/cloud-platform-terraform-sqs?ref=5.1.2"

# Queue configuration
sqs_name = "sentence-plan-and-delius-dlq"
message_retention_seconds = 7 * 24 * 3600 # 1 week

# Tags
application = "sentence-plan-and-delius"
business_unit = var.business_unit
environment_name = var.environment_name
infrastructure_support = var.infrastructure_support
is_production = var.is_production
namespace = var.namespace
team_name = var.team_name
}

resource "aws_sqs_queue_policy" "sentence-plan-and-delius-dlq-policy" {
queue_url = module.sentence-plan-and-delius-dlq.sqs_id
policy = data.aws_iam_policy_document.sqs_queue_policy_document.json
}

resource "kubernetes_secret" "sentence-plan-and-delius-queue-secret" {
metadata {
name = "sentence-plan-and-delius-queue"
namespace = var.namespace
}
data = {
QUEUE_NAME = module.sentence-plan-and-delius-queue.sqs_name
}
}

module "sentence-plan-and-delius-service-account" {
source = "github.com/ministryofjustice/cloud-platform-terraform-irsa?ref=2.1.0"
application = var.application
business_unit = var.business_unit
eks_cluster_name = var.eks_cluster_name
environment_name = var.environment_name
infrastructure_support = var.infrastructure_support
is_production = var.is_production
namespace = var.namespace
team_name = var.team_name

service_account_name = "sentence-plan-and-delius"
role_policy_arns = { sqs = module.sentence-plan-and-delius-queue.irsa_policy_arn }
}
Loading