MATIH Platform is in active MVP development. Documentation reflects current implementation status.
18. CI/CD & Build System
Azure Modules

Azure Modules

The Azure Terraform modules provision Azure-specific infrastructure for the MATIH platform: AKS clusters, PostgreSQL databases, Key Vault, networking, storage, monitoring, and governance resources.

Source: infrastructure/terraform/modules/azure/


Module Inventory

ModulePathDescription
Kubernetes Control Planeazure/kubernetes/control-plane/AKS cluster with system and user nodepools
Kubernetes Data Planeazure/kubernetes/data-plane/AKS nodepools for data plane workloads
PostgreSQLazure/postgres/Azure Database for PostgreSQL Flexible Server
Key Vaultazure/keyvault/Azure Key Vault for secret management
Networkingazure/networking/VNet, subnets, NSGs, DNS zones
Storageazure/storage/Azure Blob Storage accounts
Cognitive Servicesazure/cognitive-services/Azure OpenAI and Cognitive Services
Monitoringazure/monitoring/Azure Monitor, Log Analytics workspace
Monitoring Nodepoolazure/monitoring-nodepool/Dedicated nodepool for monitoring workloads
Governanceazure/governance/Azure Policy assignments and compliance
Taggingazure/tagging/Consistent resource tagging

AKS Cluster Module

Key Resources

ResourcePurpose
azurerm_kubernetes_clusterAKS cluster with RBAC and workload identity
azurerm_kubernetes_cluster_node_poolSystem, user, GPU, and build nodepools
azurerm_container_registryAzure Container Registry for images

Nodepool Configuration

NodepoolVM SizePurpose
systemStandard_D4s_v5System components (kube-system)
userStandard_D8s_v5Application workloads
gpuStandard_NC6s_v3ML/AI GPU workloads
buildStandard_D4s_v5Multi-arch image builds (scales to 0)

PostgreSQL Module

ResourcePurpose
azurerm_postgresql_flexible_serverManaged PostgreSQL instance
azurerm_postgresql_flexible_server_databaseDatabase per service
random_passwordGenerated passwords stored in Key Vault

Networking Module

ResourcePurpose
azurerm_virtual_networkPlatform VNet
azurerm_subnetAKS, PostgreSQL, and service subnets
azurerm_dns_zonePlatform DNS zone (e.g., matih.ai)
azurerm_network_security_groupNetwork security rules

Key Vault Module

All secrets are stored in Azure Key Vault and synced to Kubernetes via External Secrets Operator (ESO):

Secret CategoryExamples
Database passwordsPostgreSQL admin and app passwords
API keysAzure OpenAI keys, external API credentials
TLS certificatescert-manager integration

Related Pages