diff --git a/database-grants/terraform/dev/main.tf b/database-grants/terraform/dev/main.tf index 32b07e6..f2fef42 100644 --- a/database-grants/terraform/dev/main.tf +++ b/database-grants/terraform/dev/main.tf @@ -103,3 +103,10 @@ module "queue_schema" { postgresql = postgresql.treetracker } } + +module "like_schema" { + source = "./schemas/like" + providers = { + postgresql = postgresql.treetracker + } +} \ No newline at end of file diff --git a/database-grants/terraform/dev/schemas/like/main.tf b/database-grants/terraform/dev/schemas/like/main.tf new file mode 100644 index 0000000..eddf4fe --- /dev/null +++ b/database-grants/terraform/dev/schemas/like/main.tf @@ -0,0 +1,44 @@ +module "microservice_schema" { + source = "./../../modules/microservice_schema" + schema = "like" + service_user_table_grants = ["SELECT", "INSERT", "UPDATE", "DELETE"] +} + +resource "random_password" "s_password" { + length = 16 + special = true + override_special = "_%@" +} + +resource "postgresql_role" "service_user" { + name = "s_like" + login = true + password = random_password.s_password.result + search_path = ["like"] +} + + +resource "postgresql_grant" "service-user-usage" { + database = "treetracker" + role = "s_like" + schema = "like" + object_type = "schema" + privileges = ["USAGE", "CREATE"] +} + +resource "postgresql_grant" "table-service-user" { + database = "treetracker" + role = "s_like" + schema = "like" + object_type = "table" + privileges = ["SELECT", "INSERT", "UPDATE", "DELETE"] +} + +resource "postgresql_grant" "sequence-service-user" { + database = "treetracker" + role = "s_like" + schema = "like" + object_type = "sequence" + privileges = ["USAGE", "SELECT"] + +} \ No newline at end of file diff --git a/database-grants/terraform/dev/schemas/like/provider.tf b/database-grants/terraform/dev/schemas/like/provider.tf new file mode 100644 index 0000000..77f71fb --- /dev/null +++ b/database-grants/terraform/dev/schemas/like/provider.tf @@ -0,0 +1,8 @@ +terraform { + required_providers { + postgresql = { + source = "cyrilgdn/postgresql" + version = "1.22.0" + } + } +} \ No newline at end of file