Skip to content

Commit 53574df

Browse files
fix(routing-key): enable routing key generation in a deterministic way (#44)
* fix(routing-key): enable routing key generation in a deterministic way * fix(routing-key): enable routing key generation in a deterministic way * fix(routing-key): enable routing key generation in a deterministic way * fix(routing-key): enable routing key generation in a deterministic way * fix(routing-key): enable routing key generation in a deterministic way
1 parent 50bd7eb commit 53574df

File tree

1 file changed

+12
-5
lines changed
  • modules/integrations/pub-sub

1 file changed

+12
-5
lines changed

modules/integrations/pub-sub/main.tf

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,12 @@ data "sysdig_secure_cloud_ingestion_assets" "assets" {}
2828
# These locals indicate the suffix to create unique name for resources
2929
#-----------------------------------------------------------------------------------------
3030
locals {
31-
suffix = var.suffix == null ? random_id.suffix[0].hex : var.suffix
32-
role_name = "SysdigIngestionAuthRole"
31+
suffix = var.suffix == null ? random_id.suffix[0].hex : var.suffix
32+
role_name = "SysdigIngestionAuthRole"
33+
routing_key = random_uuid.routing_key.result
34+
ingestion_url = "${regex("^(.*)/[^/]+$", data.sysdig_secure_cloud_ingestion_assets.assets.gcp_metadata.ingestionURL)[0]}/${local.routing_key}"
3335
}
3436

35-
3637
#-----------------------------------------------------------------------------------------------------------------------
3738
# A random resource is used to generate unique Pub Sub name suffix for resources.
3839
# This prevents conflicts when recreating a Pub Sub resources with the same name.
@@ -42,6 +43,12 @@ resource "random_id" "suffix" {
4243
byte_length = 3
4344
}
4445

46+
47+
#-----------------------------------------------------------------------------------------------------------------------
48+
# A random UUID is used to generate a unique identifier for the routing key per onboarded entity.
49+
#-----------------------------------------------------------------------------------------------------------------------
50+
resource "random_uuid" "routing_key" {}
51+
4552
#-----------------------------------------------------------------------------------------
4653
# Audit Logs
4754
#-----------------------------------------------------------------------------------------
@@ -143,7 +150,7 @@ resource "google_pubsub_subscription" "ingestion_topic_push_subscription" {
143150
project = var.project_id
144151

145152
push_config {
146-
push_endpoint = data.sysdig_secure_cloud_ingestion_assets.assets.gcp_metadata.ingestionURL
153+
push_endpoint = local.ingestion_url
147154
attributes = {
148155
x-goog-version = "v1"
149156
}
@@ -256,7 +263,7 @@ resource "sysdig_secure_cloud_auth_account_component" "gcp_pubsub_datasource" {
256263
sink_name = var.is_organizational ? google_logging_organization_sink.ingestion_sink[0].name : google_logging_project_sink.ingestion_sink[0].name
257264
push_subscription_name = google_pubsub_subscription.ingestion_topic_push_subscription.name
258265
push_endpoint = google_pubsub_subscription.ingestion_topic_push_subscription.push_config[0].push_endpoint
259-
routing_key = data.sysdig_secure_cloud_ingestion_assets.assets.gcp_routing_key
266+
routing_key = local.routing_key
260267
}
261268
service_principal = {
262269
workload_identity_federation = {

0 commit comments

Comments
 (0)