# 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 PREFIX
terraform 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 |