Skip to main content
Glama
aks.tf3.39 kB
resource "azurerm_user_assigned_identity" "aks_identity" { location = var.location name = "medplum-${var.environment}-${var.deployment_id}-identity" resource_group_name = var.resource_group_name } module "medplum_aks" { source = "Azure/aks/azurerm" version = "9.2.0" prefix = "medplum-${var.environment}-${var.deployment_id}-aks" resource_group_name = var.resource_group_name admin_username = null cluster_log_analytics_workspace_name = "medplum-${var.environment}-${var.deployment_id}-aks" cluster_name = "medplum-${var.environment}-${var.deployment_id}-aks" disk_encryption_set_id = azurerm_disk_encryption_set.des_disk_encryption_set.id identity_ids = [azurerm_user_assigned_identity.aks_identity.id] identity_type = "UserAssigned" log_analytics_solution = { id = azurerm_log_analytics_solution.main.id } log_analytics_workspace_enabled = true log_analytics_workspace = { id = azurerm_log_analytics_workspace.main.id name = azurerm_log_analytics_workspace.main.name } maintenance_window = { allowed = [ { day = "Sunday", hours = [22, 23] }, ] not_allowed = [] } private_cluster_enabled = false # set to true for fully private rbac_aad = true rbac_aad_managed = true role_based_access_control_enabled = true oidc_issuer_enabled = true workload_identity_enabled = true vnet_subnet_id = azurerm_subnet.medplum_aks_nodes_snet_01.id pod_subnet_id = azurerm_subnet.medplum_aks_pods_snet_01.id network_plugin = "azure" # KMS etcd encryption kms_enabled = true kms_key_vault_key_id = azurerm_key_vault_key.kms.id kms_key_vault_network_access = "Public" # Connect existing app gateway brown_field_application_gateway_for_ingress = { id = azurerm_application_gateway.medplum_appgw.id subnet_id = azurerm_subnet.medplum_appgw_subnet.id } depends_on = [ azurerm_resource_group.rg, azurerm_key_vault_access_policy.kms, azurerm_role_assignment.kms ] } resource "azurerm_log_analytics_workspace" "main" { name = "medplum-${var.environment}-${var.deployment_id}-log-analytics" location = var.location resource_group_name = var.resource_group_name sku = "PerGB2018" retention_in_days = 30 lifecycle { ignore_changes = [ tags ] } } resource "azurerm_log_analytics_solution" "main" { solution_name = "ContainerInsights" location = var.location resource_group_name = var.resource_group_name workspace_resource_id = azurerm_log_analytics_workspace.main.id workspace_name = azurerm_log_analytics_workspace.main.name plan { publisher = "Microsoft" product = "OMSGallery/ContainerInsights" } lifecycle { ignore_changes = [ tags ] } } output "managed_identity_id" { value = azurerm_user_assigned_identity.aks_identity.name } output "managed_identity_client_id" { value = azurerm_user_assigned_identity.aks_identity.client_id } output "oidc_issuer_url" { value = module.medplum_aks.oidc_issuer_url }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/medplum/medplum'

If you have feedback or need assistance with the MCP directory API, please join our Discord server