Skip to content

A Terraform module that manages the container resources from the azurerm provider.

License

Notifications You must be signed in to change notification settings

telekom-mms/terraform-azurerm-container

Repository files navigation

container

This module manages the hashicorp/azurerm container resources. For more information see https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs > container

<-- This file is autogenerated, please do not change. -->

Requirements

Name Version
terraform >=1.5
azurerm >=3.75.0, <4.0

Providers

Name Version
azurerm >=3.75.0, <4.0

Resources

Name Type
azurerm_container_registry.container_registry resource
azurerm_kubernetes_cluster.kubernetes_cluster resource
azurerm_kubernetes_service_versions.kubernetes_service_versions data source

Inputs

Name Description Type Default Required
container_registry Resource definition, default settings are defined within locals and merged with var settings. For more information look at Outputs. any {} no
kubernetes_cluster Resource definition, default settings are defined within locals and merged with var settings. For more information look at Outputs. any {} no

Outputs

Name Description
container_registry Outputs all attributes of resource_type.
kubernetes_cluster Outputs all attributes of resource_type.
variables Displays all configurable variables passed by the module. default = predefined values per module. merged = result of merging the default values and custom values passed to the module

Examples

Minimal configuration to install the desired resources with the module

module "network" {
  source = "registry.terraform.io/telekom-mms/network/azurerm"
  virtual_network = {
    vn-app-mms = {
      location            = "westeurope"
      resource_group_name = "rg-mms-github"
      address_space       = ["173.0.0.0/23"]
    }
  }
  subnet = {
    snet-app-mms = {
      resource_group_name  = module.network.virtual_network["vn-app-mms"].resource_group_name
      address_prefixes     = ["173.0.0.0/23"]
      virtual_network_name = module.network.virtual_network["vn-app-mms"].name
    }
  }
}

module "container" {
  source = "registry.terraform.io/telekom-mms/container/azurerm"
  container_registry = {
    crmms = {
      location            = "westeurope"
      resource_group_name = "rg-mms-github"
    }
  }
  kubernetes_cluster = {
    aksmms = {
      location            = "westeurope"
      resource_group_name = "rg-mms-github"
      dns_prefix          = "mms"
      default_node_pool = {
        name            = "main"
        vm_size         = "Standard_DS2_v2"
        os_disk_size_gb = 30
        vnet_subnet_id  = module.network.subnet["snet-app-mms"].id
      }
    }
  }
}

Advanced configuration to install the desired resources with the module

module "network" {
  source = "registry.terraform.io/telekom-mms/network/azurerm"
  virtual_network = {
    vn-app-mms = {
      location            = "westeurope"
      resource_group_name = "rg-mms-github"
      address_space       = ["173.0.0.0/23"]
    }
  }
  subnet = {
    snet-app-mms = {
      resource_group_name  = module.network.virtual_network["vn-app-mms"].resource_group_name
      address_prefixes     = ["173.0.0.0/23"]
      virtual_network_name = module.network.virtual_network["vn-app-mms"].name
      service_endpoints    = ["Microsoft.ContainerRegistry"]
    }
  }
}

module "container" {
  source = "registry.terraform.io/telekom-mms/container/azurerm"
  container_registry = {
    crmms = {
      location            = "westeurope"
      resource_group_name = "rg-mms-github"
      sku                 = "Premium"
      network_rule_set = {
        ip_rule = {
          proxy = {
            ip_range = "172.0.0.2/32"
          }
        }
        virtual_network = {
          (module.network.subnet["snet-app-mms"].name) = {
            subnet_id = module.network.subnet["snet-app-mms"].id
          }
        }
      }
      tags = {
        project     = "mms-github"
        environment = terraform.workspace
        managed-by  = "terraform"
      }
    }
  }
  kubernetes_cluster = {
    aksmms = {
      location            = "westeurope"
      resource_group_name = "rg-mms-github"
      dns_prefix          = "mms"
      default_node_pool = {
        name            = "main"
        vm_size         = "Standard_DS2_v2"
        os_disk_size_gb = 30
        vnet_subnet_id  = module.network.subnet["snet-app-mms"].id
        kubelet_config = {
          container_log_max_size_mb = 1024
        }
        linux_os_config = {
          swap_file_size_mb = 512
          sysctl_config = {
            vm_swappiness = 1
          }
        }
        upgrade_settings = {
          max_surge = 50
        }
        tags = {
          project     = "mms-github"
          environment = terraform.workspace
          managed-by  = "terraform"
        }
      }
      api_server_access_profile = {
        authorized_ip_ranges = ["127.0.0.2/32"]
      }
      auto_scaler_profile = {
        max_unready_nodes = 1
      }
      maintenance_window = {
        allowed = {
          mo = {
            day   = "Monday"
            hours = [5, 6]
          }
          mi = {
            day   = "Wednesday"
            hours = [5, 6]
          }
        }
      }
      maintenance_window_auto_upgrade = {
        frequency   = "Weekly"
        interval    = 1
        duration    = 4
        day_of_week = "Tuesday"
        start_time  = "01:00"
      }
      maintenance_window_node_os = {
        frequency   = "Weekly"
        interval    = 1
        duration    = 4
        day_of_week = "Thursday"
        start_time  = "01:00"
      }
      tags = {
        project     = "mms-github"
        environment = terraform.workspace
        managed-by  = "terraform"
      }
    }
  }
}

About

A Terraform module that manages the container resources from the azurerm provider.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages