Skip to content
This repository was archived by the owner on Mar 4, 2022. It is now read-only.
Open
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
10 changes: 10 additions & 0 deletions cppd_medical_report/app-service-docker.tf
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,15 @@ resource "azurerm_app_service" "app_service" {
identity {
type = "SystemAssigned"
}

logs {
http_logs {
file_system {
retention_in_days = 7
retention_in_mb = 100
}
}
}

app_settings = {
"DOCKER_ENABLE_CI" = "true"
Expand All @@ -39,6 +48,7 @@ resource "azurerm_app_service" "app_service" {
"DOCKER_REGISTRY_SERVER_PASSWORD" = "@Microsoft.KeyVault(SecretUri=${azurerm_key_vault.key_vault.vault_uri}secrets/${azurerm_key_vault_secret.docker_password.name}/${azurerm_key_vault_secret.docker_password.version})"
"SESSION_ADAPTER" = "@sailshq/connect-redis"
"AUTO_MIGRATE_MODE" = "alter"
"LOG_LEVEL" = "verbose"
## Look up from secret
"DATABASE_URL" = "@Microsoft.KeyVault(SecretUri=${azurerm_key_vault.key_vault.vault_uri}secrets/${azurerm_key_vault_secret.pg_connection_string.name}/${azurerm_key_vault_secret.pg_connection_string.version})"
"SESSION_ADAPTER_URL" = "@Microsoft.KeyVault(SecretUri=${azurerm_key_vault.key_vault.vault_uri}secrets/${azurerm_key_vault_secret.redis_connection_string.name}/${azurerm_key_vault_secret.redis_connection_string.version})"
Expand Down
15 changes: 15 additions & 0 deletions cppd_medical_report/azure_cache_for_redis.tf
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,19 @@ resource "azurerm_redis_cache" "session_store" {
redis_configuration {}

tags = merge(local.common_tags)
}

resource "azurerm_monitor_diagnostic_setting" "cache_diagnostic_settings" {
name = "${local.nameprefix}cachediagnostics"
target_resource_id = azurerm_redis_cache.session_store.id
log_analytics_workspace_id = azurerm_log_analytics_workspace.log_analytics.id
log_analytics_destination_type = "Dedicated"

metric {
category = "AllMetrics"
retention_policy {
enabled = true
days = 7
}
}
}
70 changes: 70 additions & 0 deletions cppd_medical_report/azure_database_for_postgresql.tf
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,73 @@ resource "azurerm_postgresql_database" "postgres" {
charset = "UTF8"
collation = "English_United States.1252"
}

resource "azurerm_monitor_diagnostic_setting" "database_diagnostic_settings" {
name = "${local.nameprefix}postgresdiagnostics"
target_resource_id = azurerm_postgresql_server.postgres.id
log_analytics_workspace_id = azurerm_log_analytics_workspace.log_analytics.id
log_analytics_destination_type = "Dedicated"

metric {
category = "AllMetrics"
retention_policy {
enabled = true
days = 7
}
}

log {
category = "PostgreSQLLogs"
enabled = true
retention_policy {
enabled = true
days = 7
}
}

log {
category = "QueryStoreRuntimeStatistics"
enabled = true
retention_policy {
enabled = true
days = 7
}
}

log {
category = "QueryStoreWaitStatistics"
enabled = true
retention_policy {
enabled = true
days = 7
}
}
}

resource "azurerm_postgresql_configuration" "db_congif_log_level" {
name = "client_min_messages"
resource_group_name = azurerm_resource_group.resource_group.name
server_name = azurerm_postgresql_server.postgres.name
value = "LOG"
}

resource "azurerm_postgresql_configuration" "db_congif_retention" {
name = "log_retention_days"
resource_group_name = azurerm_resource_group.resource_group.name
server_name = azurerm_postgresql_server.postgres.name
value = "7"
}

resource "azurerm_postgresql_configuration" "db_congif_log_statement" {
name = "log_statement"
resource_group_name = azurerm_resource_group.resource_group.name
server_name = azurerm_postgresql_server.postgres.name
value = "ALL"
}

resource "azurerm_postgresql_configuration" "db_congif_log_duration" {
name = "log_duration"
resource_group_name = azurerm_resource_group.resource_group.name
server_name = azurerm_postgresql_server.postgres.name
value = "ON"
}
3 changes: 1 addition & 2 deletions cppd_medical_report/azure_key_vault_secrets.tf
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ resource "azurerm_key_vault_access_policy" "ap_identity" {
resource "random_password" "postgres_admin" {
length = 16
special = true
override_special = "_%@"
}

resource "azurerm_key_vault_secret" "pg_admin_pass" {
Expand All @@ -53,7 +52,7 @@ resource "azurerm_key_vault_secret" "pg_admin_pass" {
}
resource "azurerm_key_vault_secret" "pg_connection_string" {
name = "postgresconnection"
value = "postgres://${local.pgadmin_account}@${azurerm_postgresql_database.postgres.name}:${random_password.postgres_admin.result}@${azurerm_postgresql_server.postgres.fqdn}:5432/${azurerm_postgresql_database.postgres.name}"
value = "postgres://${local.pgadmin_account}@${azurerm_postgresql_server.postgres.fqdn}:${urlencode(random_password.postgres_admin.result)}@${azurerm_postgresql_server.postgres.fqdn}:5432/${azurerm_postgresql_database.postgres.name}"
key_vault_id = azurerm_key_vault.key_vault.id
tags = merge(local.common_tags)
}
Expand Down
8 changes: 8 additions & 0 deletions cppd_medical_report/azure_log_analytics.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
resource "azurerm_log_analytics_workspace" "log_analytics" {
name = "${lower(local.nameprefix)}loganalytics"
location = azurerm_resource_group.resource_group.location
resource_group_name = azurerm_resource_group.resource_group.name
sku = "PerGB2018"

tags = merge(local.common_tags)
}
3 changes: 2 additions & 1 deletion policy/resource_types.rego
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ import data.terraform_helper as dth
name_policy_exempt_types = {
"azurerm_postgresql_database",
"azurerm_storage_container",
"azurerm_key_vault_secret"
"azurerm_key_vault_secret",
"azurerm_postgresql_configuration"
}


Expand Down