Skip to content

Cosmo-Tech/terraform-azure-cosmotech-common

Repository files navigation

Requirements

Name Version
terraform >= 1.3.9
azuread 2.48.0
azurerm ~>3.54.0
helm 2.9.0
kubectl 2.0.4
kubernetes 2.20.0

Providers

Name Version
random n/a

Modules

Name Source Version
cosmotech-platform Cosmo-Tech/platform-core/cosmotech 1.1.3
cosmotech-prerequisites ./azure-common-resources n/a

Resources

Name Type
random_string.cluster_id resource

Inputs

Name Description Type Default Required
client_id The client id string n/a yes
client_secret The client secret string n/a yes
create_keycloak n/a bool n/a yes
dns_record The DNS zone name to create platform subdomain. Example: myplatform string n/a yes
is_bare_metal n/a bool n/a yes
owner_list List of mail addresses for App Registration owners list(string) n/a yes
project_name The project name string n/a yes
subscription_id The subscription id string n/a yes
tenant_id n/a string n/a yes
api_dns_name n/a string "" no
api_version_path The API version path string "/" no
audience The App Registration audience type string "AzureADMultipleOrgs" no
cluster_issuer_email n/a string "platform@cosmotech.com" no
cluster_issuer_name n/a string "letsencrypt-prod" no
cluster_name n/a string "" no
create_adx n/a bool false no
create_backup n/a bool false no
create_cosmosdb n/a bool false no
create_dnsrecord Create the DNS record bool true no
create_prometheus_stack n/a bool true no
customer_name The customer name string "cosmotech" no
deployment_type Represents the kind of deployment. Currently two modes: ARM or Terraform string "Terraform" no
dns_zone_name The DNS zone name to create platform subdomain. Example: api.cosmotech.com string "api.cosmotech.com" no
dns_zone_rg The DNS zone resource group string "phoenix" no
fqdn n/a string "" no
grafana_loki_compatibility_image_tag n/a string "9.3.6" no
helm_chart n/a string "loki-stack" no
helm_repo_url n/a string "https://grafana.github.io/helm-charts" no
identifier_uri The platform identifier uri string "" no
image_path n/a string "./cosmotech.png" no
ingress_nginx_version n/a string "4.2.5" no
kubernetes_azurefile_storage_class_sku n/a string "Premium_LRS" no
kubernetes_azurefile_storage_tags n/a string "" no
kubernetes_basic_compute_type n/a string "Standard_F4s_v2" no
kubernetes_basic_enable_auto_scaling n/a bool true no
kubernetes_basic_os_disk_size n/a number 128 no
kubernetes_db_enable_auto_scaling n/a bool true no
kubernetes_db_os_disk_size n/a number 128 no
kubernetes_db_type n/a string "Standard_D2ads_v5" no
kubernetes_highcpu_compute_type n/a string "Standard_F72s_v2" no
kubernetes_highcpu_enable_auto_scaling n/a bool true no
kubernetes_highcpu_os_disk_size n/a number 128 no
kubernetes_highmemory_compute_type n/a string "Standard_E16ads_v5" no
kubernetes_highmemory_enable_auto_scaling n/a bool true no
kubernetes_highmemory_os_disk_size n/a number 128 no
kubernetes_max_basic_compute_instances n/a number 5 no
kubernetes_max_basic_pods n/a number 110 no
kubernetes_max_db_instances n/a number 6 no
kubernetes_max_db_pods n/a number 110 no
kubernetes_max_highcpu_compute_instances n/a number 2 no
kubernetes_max_highcpu_pods n/a number 110 no
kubernetes_max_highmemory_compute_instances n/a number 3 no
kubernetes_max_highmemory_pods n/a number 110 no
kubernetes_max_monitoring_instances n/a number 10 no
kubernetes_max_monitoring_pods n/a number 110 no
kubernetes_max_services_instances n/a number 5 no
kubernetes_max_services_pods n/a number 110 no
kubernetes_max_system_instances n/a number 6 no
kubernetes_max_system_pods n/a number 110 no
kubernetes_min_basic_compute_instances n/a number 1 no
kubernetes_min_db_instances n/a number 2 no
kubernetes_min_highcpu_compute_instances n/a number 0 no
kubernetes_min_highmemory_compute_instances n/a number 0 no
kubernetes_min_monitoring_instances n/a number 1 no
kubernetes_min_services_instances n/a number 2 no
kubernetes_min_system_instances n/a number 3 no
kubernetes_monitoring_enable_auto_scaling n/a bool true no
kubernetes_monitoring_os_disk_size n/a number 128 no
kubernetes_monitoring_type n/a string "Standard_D2ads_v5" no
kubernetes_network_plugin n/a string "azure" no
kubernetes_nodepool_system_name n/a string "system" no
kubernetes_nodepool_system_type n/a string "Standard_A2_v2" no
kubernetes_services_enable_auto_scaling n/a bool true no
kubernetes_services_os_disk_size n/a number 128 no
kubernetes_services_type n/a string "Standard_B4ms" no
kubernetes_system_enable_auto_scaling n/a bool true no
kubernetes_system_os_disk_size n/a number 128 no
kubernetes_version n/a string "1.27.7" no
loadbalancer_ip n/a string "" no
location The Azure location string "West Europe" no
loki_max_entries_limet_per_query n/a number 50000 no
loki_persistence_memory n/a string "4Gi" no
loki_release_name n/a string "loki" no
loki_retention_period n/a string "720h" no
monitoring_namespace n/a string "cosmotech-monitoring" no
namespace n/a string "phoenix" no
network_client_id n/a string "" no
network_client_secret n/a string "" no
network_sp_object_id The ID of the existing Network's service principal string "" no
platform_url The platform url string "" no
private_dns_name_adt n/a string "privatelink.digitaltwins.azure.net" no
private_dns_name_blob n/a string "privatelink.blob.core.windows.net" no
private_dns_name_eventhub n/a string "privatelink.servicebus.windows.net" no
private_dns_name_queue n/a string "privatelink.queue.core.windows.net" no
private_dns_name_table n/a string "privatelink.table.core.windows.net" no
project_stage The Project stage string "Dev" no
prom_cpu_mem_limits n/a string "4Gi" no
prom_cpu_mem_request n/a string "2Gi" no
public_ip_name n/a string "" no
publicip_new_or_existing_or_none n/a string "new" no
publicip_resource_group n/a string "" no
resource_group n/a string "" no
subnet_name n/a string "" no
temporary_name_for_rotation_system_pool n/a string "systemrotation" no
tf_access_key Variable to be used with backend remote option :
First set necessary vars:
- export TF_VAR_tf_access_key="some_value"
Then call terraform init:
terraform init <br> -backend-config "resource_group_name=$TF_VAR_tf_resource_group_name" <br> -backend-config "storage_account_name=$TF_VAR_tf_storage_account_name" <br> -backend-config "container_name=$TF_VAR_tf_container_name" <br> -backend-config "key=$TF_VAR_tf_blob_name" <br> -backend-config "access_key=$TF_VAR_tf_access_key"
string "" no
tf_blob_name Variable to be used with backend remote option :
First set necessary vars:
- export TF_VAR_tf_blob_name="some_value"
Then call terraform init:
terraform init <br> -backend-config "resource_group_name=$TF_VAR_tf_resource_group_name" <br> -backend-config "storage_account_name=$TF_VAR_tf_storage_account_name" <br> -backend-config "container_name=$TF_VAR_tf_container_name" <br> -backend-config "key=$TF_VAR_tf_blob_name" <br> -backend-config "access_key=$TF_VAR_tf_access_key"
string "" no
tf_container_name Variable to be used with backend remote option :
First set necessary vars:
- export TF_VAR_tf_container_name="some_value"
Then call terraform init:
terraform init <br> -backend-config "resource_group_name=$TF_VAR_tf_resource_group_name" <br> -backend-config "storage_account_name=$TF_VAR_tf_storage_account_name" <br> -backend-config "container_name=$TF_VAR_tf_container_name" <br> -backend-config "key=$TF_VAR_tf_blob_name" <br> -backend-config "access_key=$TF_VAR_tf_access_key"
string "" no
tf_resource_group_name Variable to be used with backend remote option :
First set necessary vars:
- export TF_VAR_tf_resource_group_name="some_value"
Then call terraform init:
terraform init <br> -backend-config "resource_group_name=$TF_VAR_tf_resource_group_name" <br> -backend-config "storage_account_name=$TF_VAR_tf_storage_account_name" <br> -backend-config "container_name=$TF_VAR_tf_container_name" <br> -backend-config "key=$TF_VAR_tf_blob_name" <br> -backend-config "access_key=$TF_VAR_tf_access_key"
string "" no
tf_storage_account_name Variable to be used with backend remote option :
First set necessary vars:
- export TF_VAR_tf_storage_account_name="some_value"
Then call terraform init:
terraform init <br> -backend-config "resource_group_name=$TF_VAR_tf_resource_group_name" <br> -backend-config "storage_account_name=$TF_VAR_tf_storage_account_name" <br> -backend-config "container_name=$TF_VAR_tf_container_name" <br> -backend-config "key=$TF_VAR_tf_blob_name" <br> -backend-config "access_key=$TF_VAR_tf_access_key"
string "" no
tls_certificate_custom_certificate n/a string "" no
tls_certificate_custom_key n/a string "" no
tls_certificate_type n/a string "let_s_encrypt" no
tls_secret_name n/a string "letsencrypt-prod" no
virtual_network_address_prefix The Virtual Network IP range. Minimum /26 NetMaskLength string "10.21.0.0/16" no
virtual_network_subnet_address_prefix n/a string "10.21.0.0/16" no
vnet_name n/a string "" no
vnet_new n/a string "new" no
vnet_resource_group n/a string "" no

Outputs

Name Description
out_cluster_name n/a
out_network_sp_client_id n/a
out_network_sp_object_id n/a
out_platform_object_id n/a
out_platform_sp_name n/a
out_public_ip_name n/a
out_vnet_name n/a