Caravan Infra Azure¶
Setup¶
# 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
Teardown¶
# SUBSCRIPTION_ID where to create resources
# PREFIX prepended to all resources name
./project-cleanup.sh SUBSCRIPTION_ID PREFIX
Usage¶
terraform init
terraform apply -var-file azure.tfvars
Modules¶
Name |
Source |
Version |
---|---|---|
git::https://github.com/bitrockteam/caravan-bootstrap |
refs/tags/v0.2.20 |
|
git::https://github.com/bitrockteam/caravan-cloudinit |
refs/tags/v0.1.20 |
|
git::https://github.com/bitrockteam/caravan-cloudinit |
refs/tags/v0.1.20 |
|
git::https://github.com/bitrockteam/caravan-acme-le |
refs/tags/v0.0.16 |
Resources¶
Name |
Type |
---|---|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
azurerm_network_interface_application_gateway_backend_address_pool_association.control_plane |
resource |
azurerm_network_interface_application_gateway_backend_address_pool_association.monitoring |
resource |
azurerm_network_interface_application_security_group_association.control_plane |
resource |
azurerm_network_interface_application_security_group_association.monitoring |
resource |
azurerm_network_interface_application_security_group_association.monitoring_2 |
resource |
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
data source |
|
data source |
|
data source |
|
data source |
|
data source |
|
data source |
|
data source |
|
data source |
|
data source |
|
data source |
Inputs¶
Name |
Description |
Type |
Default |
Required |
---|---|---|---|---|
The Azure Service Principal Client ID which should be used. |
|
n/a |
yes |
|
The Azure Service Principal Client Secret which should be used. |
|
n/a |
yes |
|
The external domain to use for registering DNS names. |
|
n/a |
yes |
|
The Azure Resource Group name where Caravan images are available. |
|
n/a |
yes |
|
The Azure location where to create resources. |
|
n/a |
yes |
|
The Azure Resource Group name where a dns zone exists for external_domain. |
|
n/a |
yes |
|
A string prefix prepended to resource names. |
|
n/a |
yes |
|
The Azure Resource Group name in which the objects will be created. |
|
n/a |
yes |
|
The Azure Storage Account which is used for Terraform state storage. |
|
n/a |
yes |
|
The Azure Subscription ID which should be used. |
|
n/a |
yes |
|
The Azure Tenant ID which should be used. |
|
n/a |
yes |
|
Whether to use Let’s Encrypt staging endpoint. |
|
n/a |
yes |
|
The list of CIDRs from which ssh is allowed. |
|
[ |
no |
|
The CIDR of the subnet created for the Application Gateway instance. |
|
|
no |
|
A group of certificate objects to download locally. This helps when using Let’s Encrypt staging environment. |
map(object({ |
{ |
no |
|
Path to Consul Enterprise license |
|
|
no |
|
The size of control plane instances data disk. |
|
|
no |
|
The type of control plane instances data disk. |
|
|
no |
|
The size of control plane instances root disk. |
|
|
no |
|
The type of control plane instances root disk. |
|
|
no |
|
The number of control plane instances. |
|
|
no |
|
The size of control plane instances. |
|
|
no |
|
Example: |
|
|
no |
|
The Consul DC name. |
|
|
no |
|
Whether to create an additional instance for monitoring purposes. |
|
|
no |
|
The Azure Compute image name regex |
|
|
no |
|
The size of monitoring instance disk. |
|
|
no |
|
The size of monitoring instance. |
|
|
no |
|
Path to Nomad Enterprise license |
|
|
no |
|
The CIDR of the subnet created for Compute instances. |
|
|
no |
|
A set of key-value tags applied to all resources created by Terraform. |
|
{ |
no |
|
The Azure AD application to use for generating access tokens. |
|
|
no |
|
Path to Vault Enterprise license |
|
|
no |
|
The CIDR of the created Virtual Network. |
|
[ |
no |
|
The size of worker plane instances disk. |
|
|
no |
|
The number of worker plane instances. |
|
|
no |
|
The size of control plane instances. |
|
|
no |
Outputs¶
Name |
Description |
---|---|
n/a |
|
n/a |
|
n/a |
|
n/a |
|
n/a |
|
n/a |
|
n/a |
|
n/a |
|
n/a |
|
n/a |
|
n/a |
|
n/a |
|
n/a |
|
n/a |
|
n/a |
|
n/a |
|
n/a |
|
n/a |
|
n/a |