Page MenuHomePhorge

D9875.1767280288.diff
No OneTemporary

Size
3 KB
Referenced Files
None
Subscribers
None

D9875.1767280288.diff

diff --git a/services/terraform/dev/main.tf b/services/terraform/dev/main.tf
--- a/services/terraform/dev/main.tf
+++ b/services/terraform/dev/main.tf
@@ -31,6 +31,7 @@
dynamic "endpoints" {
for_each = local.aws_settings.override_endpoint[*]
content {
+ opensearch = endpoints.value
dynamodb = endpoints.value
s3 = endpoints.value
secretsmanager = endpoints.value
@@ -44,4 +45,8 @@
module "shared" {
source = "../modules/shared"
is_dev = true
+
+ vpc_id = null
+ cidr_block = null
+ subnet_ids = []
}
diff --git a/services/terraform/modules/shared/opensearch.tf b/services/terraform/modules/shared/opensearch.tf
new file mode 100644
--- /dev/null
+++ b/services/terraform/modules/shared/opensearch.tf
@@ -0,0 +1,34 @@
+variable "domain" {
+ default = "identity-search-domain"
+}
+
+resource "aws_security_group" "identity-search" {
+ count = var.is_dev ? 0 : 1
+ name = "${var.vpc_id}-opensearch-${var.domain}"
+ description = "Managed by Terraform"
+ vpc_id = var.is_dev ? null : var.vpc_id
+}
+
+resource "aws_opensearch_domain" "identity-search" {
+ domain_name = var.domain
+ engine_version = "OpenSearch_1.0"
+
+ cluster_config {
+ instance_type = "t3.medium.search"
+ }
+
+ vpc_options {
+ subnet_ids = var.subnet_ids
+
+ security_group_ids = var.is_dev ? [] : [aws_security_group.identity-search[0].id]
+ }
+
+ advanced_options = {
+ "rest.action.multi.allow_explicit_index" = "true"
+ }
+
+ ebs_options {
+ ebs_enabled = true
+ volume_size = 10
+ }
+}
diff --git a/services/terraform/modules/shared/outputs.tf b/services/terraform/modules/shared/outputs.tf
--- a/services/terraform/modules/shared/outputs.tf
+++ b/services/terraform/modules/shared/outputs.tf
@@ -14,3 +14,7 @@
table.name => table
}
}
+
+output "opensearch_domain_identity" {
+ value = aws_opensearch_domain.identity-search
+}
diff --git a/services/terraform/modules/shared/variables.tf b/services/terraform/modules/shared/variables.tf
--- a/services/terraform/modules/shared/variables.tf
+++ b/services/terraform/modules/shared/variables.tf
@@ -8,3 +8,9 @@
default = ""
description = "Suffix added to all bucket names"
}
+
+variable "vpc_id" {}
+
+variable "cidr_block" {}
+
+variable "subnet_ids" {}
diff --git a/services/terraform/remote/aws_iam.tf b/services/terraform/remote/aws_iam.tf
--- a/services/terraform/remote/aws_iam.tf
+++ b/services/terraform/remote/aws_iam.tf
@@ -194,3 +194,8 @@
aws_iam_policy.manage_reports_ddb.arn
]
}
+
+resource "aws_opensearch_domain_policy" "identity-search" {
+ domain_name = module.shared.opensearch_domain_identity.domain_name
+ access_policies = data.aws_iam_policy_document.identity-search.json
+}
diff --git a/services/terraform/remote/main.tf b/services/terraform/remote/main.tf
--- a/services/terraform/remote/main.tf
+++ b/services/terraform/remote/main.tf
@@ -51,6 +51,12 @@
module "shared" {
source = "../modules/shared"
bucket_name_suffix = local.s3_bucket_name_suffix
+
+ vpc_id = aws_vpc.default.id
+ cidr_block = aws_vpc.default.cidr_block
+ subnet_ids = [
+ aws_subnet.public_a.id,
+ ]
}
check "workspace_check" {

File Metadata

Mime Type
text/plain
Expires
Thu, Jan 1, 3:11 PM (21 h, 4 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5876468
Default Alt Text
D9875.1767280288.diff (3 KB)

Event Timeline