|
| 1 | +<!-- BEGIN_AUTOMATED_TF_DOCS_BLOCK --> |
| 2 | +## Requirements |
| 3 | + |
| 4 | +| Name | Version | |
| 5 | +|------|---------| |
| 6 | +| <a name="requirement_terraform"></a> [terraform](#requirement_terraform) | ~> 1.3 | |
| 7 | +| <a name="requirement_azurerm"></a> [azurerm](#requirement_azurerm) | <= 4.14.0 | |
| 8 | +## Usage |
| 9 | +Basic usage of this module is as follows: |
| 10 | + ```hcl |
| 11 | + module "example" { |
| 12 | + source = "<module-path>" |
| 13 | + |
| 14 | + # Optional variables |
| 15 | + aks_cluster_name = "" |
| 16 | + aks_node_resource_group_name = "" |
| 17 | + application_name = "" |
| 18 | + automatic_upgrade_channel = "" |
| 19 | + cluster_admin_group_names = [ |
| 20 | + "" |
| 21 | +] |
| 22 | + default_nodepool_autoscaling = true |
| 23 | + default_nodepool_max_count = 1 |
| 24 | + default_nodepool_min_count = 1 |
| 25 | + default_nodepool_name = "agentpool" |
| 26 | + default_nodepool_sku = "Standard_D2ps_v5" |
| 27 | + enable_blob_driver = true |
| 28 | + enable_disk_driver = true |
| 29 | + enable_fileshare_driver = true |
| 30 | + environment = "" |
| 31 | + key_vault_secrets_provider = true |
| 32 | + keyvault_name = "" |
| 33 | + keyvault_rg_name = "" |
| 34 | + kubernetes_sku_tier = "" |
| 35 | + kubernetes_version = "1.30.4" |
| 36 | + load_balancer_sku = "" |
| 37 | + location = "" |
| 38 | + max_pods_per_node = 100 |
| 39 | + network_plugin = "azure" |
| 40 | + network_plugin_mode = "overlay" |
| 41 | + network_policy = "azure" |
| 42 | + node_public_ip_enabled = false |
| 43 | + os_disk_size_in_gb = 32 |
| 44 | + os_sku = "Ubuntu" |
| 45 | + pod_cidr_range = "172.0.0.0/16" |
| 46 | + private_cluster = false |
| 47 | + resource_group_name = "" |
| 48 | + secret_rotation_interval = "1m" |
| 49 | + service_cidr_subnet = "192.168.0.0/16" |
| 50 | + subnet_name = "" |
| 51 | + support_plan = "KubernetesOfficial" |
| 52 | + temporary = "" |
| 53 | + virtual_netwok_rg = "" |
| 54 | + virtual_network_name = "" |
| 55 | + worker_node_scaledown_mode = "Deallocate" |
| 56 | + worker_node_spot = true |
| 57 | + worker_nodepool_autoscaling = true |
| 58 | + worker_nodepool_eviction_policy = "Deallocate" |
| 59 | + worker_nodepool_max_count = 5 |
| 60 | + worker_nodepool_min_count = 0 |
| 61 | + worker_nodepool_mode = "User" |
| 62 | + worker_nodepool_name = "workernodes" |
| 63 | + worker_nodepool_sku = "Standard_D2ads_v5" |
| 64 | + workload_identity_enabled = true |
| 65 | + } |
| 66 | + ``` |
| 67 | + |
| 68 | +## Resources |
| 69 | + |
| 70 | +| Name | Type | |
| 71 | +|------|------| |
| 72 | +| [azurerm_kubernetes_cluster.aks_cluster](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/kubernetes_cluster) | resource | |
| 73 | +| [azurerm_kubernetes_cluster_node_pool.workernodes](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/kubernetes_cluster_node_pool) | resource | |
| 74 | +| [azurerm_resource_group.rg](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group) | resource | |
| 75 | +| [azuread_groups.cluster_admin](https://registry.terraform.io/providers/hashicorp/azuread/latest/docs/data-sources/groups) | data source | |
| 76 | +| [azuread_service_principal.sp](https://registry.terraform.io/providers/hashicorp/azuread/latest/docs/data-sources/service_principal) | data source | |
| 77 | +| [azurerm_client_config.current](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/client_config) | data source | |
| 78 | +| [azurerm_key_vault.existing](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/key_vault) | data source | |
| 79 | +| [azurerm_key_vault_secret.appid](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/key_vault_secret) | data source | |
| 80 | +| [azurerm_key_vault_secret.secret](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/key_vault_secret) | data source | |
| 81 | +| [azurerm_subnet.vnet_subnet_cidr](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/subnet) | data source | |
| 82 | +| [azurerm_subscription.primary](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/subscription) | data source | |
| 83 | + |
| 84 | +## Inputs |
| 85 | + |
| 86 | +| Name | Description | Type | Required | |
| 87 | +|------|-------------|------|:--------:| |
| 88 | +| <a name="input_aks_cluster_name"></a> [aks_cluster_name](#input_aks_cluster_name) | Name of Aks cluster in Azure | `string` | no | |
| 89 | +| <a name="input_aks_node_resource_group_name"></a> [aks_node_resource_group_name](#input_aks_node_resource_group_name) | Azure node resource group name | `string` | no | |
| 90 | +| <a name="input_application_name"></a> [application_name](#input_application_name) | Azure application name tag value | `string` | no | |
| 91 | +| <a name="input_automatic_upgrade_channel"></a> [automatic_upgrade_channel](#input_automatic_upgrade_channel) | The upgrade channel for this Kubernetes Cluster | `string` | no | |
| 92 | +| <a name="input_cluster_admin_group_names"></a> [cluster_admin_group_names](#input_cluster_admin_group_names) | Name of Azure AD groups to provide cluster admin permissions. | `list(string)` | no | |
| 93 | +| <a name="input_default_nodepool_autoscaling"></a> [default_nodepool_autoscaling](#input_default_nodepool_autoscaling) | Enable auto scaling in default nodepool | `bool` | no | |
| 94 | +| <a name="input_default_nodepool_max_count"></a> [default_nodepool_max_count](#input_default_nodepool_max_count) | Maximum number of nodes in default nodepool | `number` | no | |
| 95 | +| <a name="input_default_nodepool_min_count"></a> [default_nodepool_min_count](#input_default_nodepool_min_count) | Minimum number of nodes in default nodepool | `number` | no | |
| 96 | +| <a name="input_default_nodepool_name"></a> [default_nodepool_name](#input_default_nodepool_name) | System nodepool for cluster | `string` | no | |
| 97 | +| <a name="input_default_nodepool_sku"></a> [default_nodepool_sku](#input_default_nodepool_sku) | Aks system node pool | `string` | no | |
| 98 | +| <a name="input_enable_blob_driver"></a> [enable_blob_driver](#input_enable_blob_driver) | Enable Blob CSI driver enabled | `bool` | no | |
| 99 | +| <a name="input_enable_disk_driver"></a> [enable_disk_driver](#input_enable_disk_driver) | Enable Disk CSI driver enabled | `bool` | no | |
| 100 | +| <a name="input_enable_fileshare_driver"></a> [enable_fileshare_driver](#input_enable_fileshare_driver) | Enable Fileshare CSI driver enabled | `bool` | no | |
| 101 | +| <a name="input_environment"></a> [environment](#input_environment) | Environment tag value in Azure | `string` | no | |
| 102 | +| <a name="input_key_vault_secrets_provider"></a> [key_vault_secrets_provider](#input_key_vault_secrets_provider) | Should the secret store CSI driver on the AKS cluster be enabled | `bool` | no | |
| 103 | +| <a name="input_keyvault_name"></a> [keyvault_name](#input_keyvault_name) | Azure Key Vault name | `string` | no | |
| 104 | +| <a name="input_keyvault_rg_name"></a> [keyvault_rg_name](#input_keyvault_rg_name) | Azure Key Vault rg name | `string` | no | |
| 105 | +| <a name="input_kubernetes_sku_tier"></a> [kubernetes_sku_tier](#input_kubernetes_sku_tier) | SKU Tier that should be used for this Kubernetes Cluster | `string` | no | |
| 106 | +| <a name="input_kubernetes_version"></a> [kubernetes_version](#input_kubernetes_version) | Kubernetes version in AKS cluster | `string` | no | |
| 107 | +| <a name="input_load_balancer_sku"></a> [load_balancer_sku](#input_load_balancer_sku) | Load balancer SKu | `string` | no | |
| 108 | +| <a name="input_location"></a> [location](#input_location) | Azure location | `string` | no | |
| 109 | +| <a name="input_max_pods_per_node"></a> [max_pods_per_node](#input_max_pods_per_node) | maximum number of pods that can be accumulated in a node | `number` | no | |
| 110 | +| <a name="input_network_plugin"></a> [network_plugin](#input_network_plugin) | Azure CNI network plugin | `string` | no | |
| 111 | +| <a name="input_network_plugin_mode"></a> [network_plugin_mode](#input_network_plugin_mode) | Specifies the network plugin mode used for building the Kubernetes network | `string` | no | |
| 112 | +| <a name="input_network_policy"></a> [network_policy](#input_network_policy) | Azure networ policy to be used with CNI cluster | `string` | no | |
| 113 | +| <a name="input_node_public_ip_enabled"></a> [node_public_ip_enabled](#input_node_public_ip_enabled) | Should each node have a Public IP Address | `bool` | no | |
| 114 | +| <a name="input_os_disk_size_in_gb"></a> [os_disk_size_in_gb](#input_os_disk_size_in_gb) | OS disk size | `number` | no | |
| 115 | +| <a name="input_os_sku"></a> [os_sku](#input_os_sku) | AKS node pool image | `string` | no | |
| 116 | +| <a name="input_pod_cidr_range"></a> [pod_cidr_range](#input_pod_cidr_range) | CIDR range for pods | `string` | no | |
| 117 | +| <a name="input_private_cluster"></a> [private_cluster](#input_private_cluster) | Deploy AKS cluster without exposing publically accessible endpoint | `bool` | no | |
| 118 | +| <a name="input_resource_group_name"></a> [resource_group_name](#input_resource_group_name) | Azure resource group name to create aks cluster | `string` | no | |
| 119 | +| <a name="input_secret_rotation_interval"></a> [secret_rotation_interval](#input_secret_rotation_interval) | The interval to poll for secret rotation | `string` | no | |
| 120 | +| <a name="input_service_cidr_subnet"></a> [service_cidr_subnet](#input_service_cidr_subnet) | Azure service cidr subnet | `string` | no | |
| 121 | +| <a name="input_subnet_name"></a> [subnet_name](#input_subnet_name) | Azure subnet name | `string` | no | |
| 122 | +| <a name="input_support_plan"></a> [support_plan](#input_support_plan) | Specifies the support plan which should be used for this Kubernetes Cluster | `string` | no | |
| 123 | +| <a name="input_temporary"></a> [temporary](#input_temporary) | Temporary tag value in Azure | `string` | no | |
| 124 | +| <a name="input_virtual_netwok_rg"></a> [virtual_netwok_rg](#input_virtual_netwok_rg) | Azure Vnet resource group | `string` | no | |
| 125 | +| <a name="input_virtual_network_name"></a> [virtual_network_name](#input_virtual_network_name) | Azure Vnet name | `string` | no | |
| 126 | +| <a name="input_worker_node_scaledown_mode"></a> [worker_node_scaledown_mode](#input_worker_node_scaledown_mode) | Specifies how the node pool should deal with scaled-down nodes | `string` | no | |
| 127 | +| <a name="input_worker_node_spot"></a> [worker_node_spot](#input_worker_node_spot) | Worker nodes are spot or ondemand | `bool` | no | |
| 128 | +| <a name="input_worker_nodepool_autoscaling"></a> [worker_nodepool_autoscaling](#input_worker_nodepool_autoscaling) | Enable auto scaling in worker nodepool | `bool` | no | |
| 129 | +| <a name="input_worker_nodepool_eviction_policy"></a> [worker_nodepool_eviction_policy](#input_worker_nodepool_eviction_policy) | Eviction Policy which should be used for Virtual Machines within the Virtual Machine Scale Set powering this Node Pool | `string` | no | |
| 130 | +| <a name="input_worker_nodepool_max_count"></a> [worker_nodepool_max_count](#input_worker_nodepool_max_count) | Maximum number of nodes in default nodepool | `number` | no | |
| 131 | +| <a name="input_worker_nodepool_min_count"></a> [worker_nodepool_min_count](#input_worker_nodepool_min_count) | Minimum number of nodes in default nodepool | `number` | no | |
| 132 | +| <a name="input_worker_nodepool_mode"></a> [worker_nodepool_mode](#input_worker_nodepool_mode) | Should this Node Pool be used for System or User resources | `string` | no | |
| 133 | +| <a name="input_worker_nodepool_name"></a> [worker_nodepool_name](#input_worker_nodepool_name) | Additional kubernetes node pool | `string` | no | |
| 134 | +| <a name="input_worker_nodepool_sku"></a> [worker_nodepool_sku](#input_worker_nodepool_sku) | Azure VM Sku of worker node | `string` | no | |
| 135 | +| <a name="input_workload_identity_enabled"></a> [workload_identity_enabled](#input_workload_identity_enabled) | Enable workload identity in azure or not | `bool` | no | |
| 136 | + |
| 137 | +## Outputs |
| 138 | + |
| 139 | +| Name | Description | |
| 140 | +|------|-------------| |
| 141 | +| <a name="output_aks_cluster_control_plane_url"></a> [aks_cluster_control_plane_url](#output_aks_cluster_control_plane_url) | FQDN of the Azure Kubernetes Managed Cluster | |
| 142 | +| <a name="output_aks_cluster_name"></a> [aks_cluster_name](#output_aks_cluster_name) | Azure AKS name | |
| 143 | +<!-- END_AUTOMATED_TF_DOCS_BLOCK --> |
0 commit comments