# SUBSCRIPTION_ID where to create resources
# PARENT_RESOURCE_GROUP that contains VM images and shared DNS
# LOCAITON where to create resources
# PREFIX prepended to all resources name
./project-setup.sh SUBSCRIPTION_ID PARENT_RESOURCE_GROUP LOCATION PREFIX# SUBSCRIPTION_ID where to create resources
# PREFIX prepended to all resources name
./project-cleanup.sh SUBSCRIPTION_ID PREFIXterraform init
terraform apply -var-file azure.tfvars| Name | Version |
|---|---|
| terraform | ~> 0.15.4 |
| azuread | ~> 1.0 |
| azurerm | ~> 2.0 |
| Name | Version |
|---|---|
| azuread | 1.6.0 |
| azurerm | 2.69.0 |
| local | 2.1.0 |
| null | 3.1.0 |
| random | 3.1.0 |
| tls | 3.1.0 |
| Name | Source | Version |
|---|---|---|
| caravan_bootstrap | git::https://github.com/bitrockteam/caravan-bootstrap | refs/tags/v0.2.13 |
| cloud_init_control_plane | git::https://github.com/bitrockteam/caravan-cloudinit | refs/tags/v0.1.13 |
| cloud_init_worker_plane | git::https://github.com/bitrockteam/caravan-cloudinit | refs/tags/v0.1.9 |
| terraform_acme_le | git::https://github.com/bitrockteam/caravan-acme-le | refs/tags/v0.0.11 |
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| client_id | The Azure Service Principal Client ID which should be used. | string |
n/a | yes |
| client_secret | The Azure Service Principal Client Secret which should be used. | string |
n/a | yes |
| external_domain | The external domain to use for registering DNS names. | string |
n/a | yes |
| image_resource_group_name | The Azure Resource Group name where Caravan images are available. | string |
n/a | yes |
| location | The Azure location where to create resources. | string |
n/a | yes |
| parent_resource_group_name | The Azure Resource Group name where a dns zone exists for external_domain. | string |
n/a | yes |
| prefix | A string prefix prepended to resource names. | string |
n/a | yes |
| resource_group_name | The Azure Resource Group name in which the objects will be created. | string |
n/a | yes |
| storage_account_name | The Azure Storage Account which is used for Terraform state storage. | string |
n/a | yes |
| subscription_id | The Azure Subscription ID which should be used. | string |
n/a | yes |
| tenant_id | The Azure Tenant ID which should be used. | string |
n/a | yes |
| use_le_staging | Whether to use Let's Encrypt staging endpoint. | bool |
n/a | yes |
| allowed_ssh_cidrs | The list of CIDRs from which ssh is allowed. | list(string) |
[ |
no |
| app_gateway_subnet_cidr | The CIDR of the subnet created for the Application Gateway instance. | string |
"10.0.2.0/24" |
no |
| ca_certs | A group of certificate objects to download locally. This helps when using Let's Encrypt staging environment. | map(object({ |
{ |
no |
| consul_license_file | Path to Consul Enterprise license | string |
null |
no |
| control_plane_disk_data_size | The size of control plane instances data disk. | number |
20 |
no |
| control_plane_disk_data_type | The type of control plane instances data disk. | string |
"Standard_LRS" |
no |
| control_plane_disk_root_size | The size of control plane instances root disk. | number |
30 |
no |
| control_plane_disk_root_type | The type of control plane instances root disk. | string |
"Standard_LRS" |
no |
| control_plane_instance_count | The number of control plane instances. | number |
3 |
no |
| control_plane_size | The size of control plane instances. | string |
"Standard_B2s" |
no |
| csi_volumes | Example: { "jenkins" : { "storage_account_type" : "Standard_LRS" "disk_size_gb" : "30" } } |
map(map(string)) |
{} |
no |
| dc_name | The Consul DC name. | string |
"azure-dc" |
no |
| enable_monitoring | Whether to create an additional instance for monitoring purposes. | bool |
true |
no |
| image_name_regex | The Azure Compute image name regex | string |
"caravan-centos-image-*" |
no |
| monitoring_disk_size | The size of monitoring instance disk. | string |
"40" |
no |
| monitoring_size | The size of monitoring instance. | string |
"Standard_B2s" |
no |
| nomad_license_file | Path to Nomad Enterprise license | string |
null |
no |
| subnet_cidr | The CIDR of the subnet created for Compute instances. | string |
"10.0.1.0/24" |
no |
| tags | A set of key-value tags applied to all resources created by Terraform. | map(string) |
{ |
no |
| vault_auth_resource | The Azure AD application to use for generating access tokens. | string |
"https://management.azure.com/" |
no |
| vault_license_file | Path to Vault Enterprise license | string |
null |
no |
| vnet_cidrs | The CIDR of the created Virtual Network. | list(string) |
[ |
no |
| worker_plane_disk_size | The size of worker plane instances disk. | string |
"40" |
no |
| worker_plane_instance_count | The number of worker plane instances. | number |
3 |
no |
| worker_plane_size | The size of control plane instances. | string |
"Standard_B2s" |
no |
| Name | Description |
|---|---|
| appsupport_backend | n/a |
| appsupport_tfvars | n/a |
| control_plane_role_name | n/a |
| control_plane_service_principal_ids | n/a |
| csi_volumes | n/a |
| ips | n/a |
| platform_backend | n/a |
| platform_tfvars | n/a |
| resource_group_name | n/a |
| subscription_id | n/a |
| tenant_id | n/a |
| vault_client_id | n/a |
| vault_client_secret | n/a |
| vault_resource_name | n/a |
| worker_plane_role_name | n/a |
| worker_plane_service_principal_ids | n/a |
| workload_backend | n/a |
| workload_tfvars | n/a |
| zzz_vault_ad_app | n/a |
