113 lines
2.2 KiB
Terraform
113 lines
2.2 KiB
Terraform
|
|
# Variables for VM Deployment Module
|
||
|
|
|
||
|
|
variable "resource_group_name" {
|
||
|
|
description = "Name of the resource group"
|
||
|
|
type = string
|
||
|
|
}
|
||
|
|
|
||
|
|
variable "location" {
|
||
|
|
description = "Azure region"
|
||
|
|
type = string
|
||
|
|
}
|
||
|
|
|
||
|
|
variable "cluster_name" {
|
||
|
|
description = "Name of the Besu network cluster"
|
||
|
|
type = string
|
||
|
|
}
|
||
|
|
|
||
|
|
variable "node_type" {
|
||
|
|
description = "Type of node (validator, sentry, rpc)"
|
||
|
|
type = string
|
||
|
|
}
|
||
|
|
|
||
|
|
variable "node_count" {
|
||
|
|
description = "Number of nodes"
|
||
|
|
type = number
|
||
|
|
default = 1
|
||
|
|
}
|
||
|
|
|
||
|
|
variable "vm_size" {
|
||
|
|
description = "VM size"
|
||
|
|
type = string
|
||
|
|
default = "Standard_D4s_v3"
|
||
|
|
}
|
||
|
|
|
||
|
|
variable "admin_username" {
|
||
|
|
description = "Admin username for VMs"
|
||
|
|
type = string
|
||
|
|
default = "besuadmin"
|
||
|
|
}
|
||
|
|
|
||
|
|
variable "ssh_public_key" {
|
||
|
|
description = "SSH public key for VM access"
|
||
|
|
type = string
|
||
|
|
}
|
||
|
|
|
||
|
|
variable "use_scale_set" {
|
||
|
|
description = "Use VM Scale Set instead of individual VMs"
|
||
|
|
type = bool
|
||
|
|
default = false
|
||
|
|
}
|
||
|
|
|
||
|
|
variable "subnet_id" {
|
||
|
|
description = "Subnet ID for VMs"
|
||
|
|
type = string
|
||
|
|
}
|
||
|
|
|
||
|
|
variable "storage_account_name" {
|
||
|
|
description = "Storage account name for boot diagnostics"
|
||
|
|
type = string
|
||
|
|
}
|
||
|
|
|
||
|
|
variable "key_vault_id" {
|
||
|
|
description = "Key Vault ID for secrets"
|
||
|
|
type = string
|
||
|
|
}
|
||
|
|
|
||
|
|
variable "genesis_file_path" {
|
||
|
|
description = "Path to genesis file in storage"
|
||
|
|
type = string
|
||
|
|
}
|
||
|
|
|
||
|
|
variable "network_security_group_id" {
|
||
|
|
description = "Network Security Group ID"
|
||
|
|
type = string
|
||
|
|
}
|
||
|
|
|
||
|
|
variable "tags" {
|
||
|
|
description = "Tags for resources"
|
||
|
|
type = map(string)
|
||
|
|
default = {}
|
||
|
|
}
|
||
|
|
|
||
|
|
variable "storage_account_type" {
|
||
|
|
description = "Storage account type for VM disks"
|
||
|
|
type = string
|
||
|
|
default = "Premium_LRS"
|
||
|
|
}
|
||
|
|
|
||
|
|
variable "disk_size_gb" {
|
||
|
|
description = "Disk size in GB"
|
||
|
|
type = number
|
||
|
|
default = 256
|
||
|
|
}
|
||
|
|
|
||
|
|
variable "vm_enable_boot_diagnostics" {
|
||
|
|
description = "Enable boot diagnostics for VMs"
|
||
|
|
type = bool
|
||
|
|
default = true
|
||
|
|
}
|
||
|
|
|
||
|
|
variable "vm_enable_managed_identity" {
|
||
|
|
description = "Enable Managed Identity for VMs"
|
||
|
|
type = bool
|
||
|
|
default = true
|
||
|
|
}
|
||
|
|
|
||
|
|
variable "use_phase1_cloud_init" {
|
||
|
|
description = "Use Phase 1 cloud-init (includes NVM, Node 22 LTS, JDK 17)"
|
||
|
|
type = bool
|
||
|
|
default = false
|
||
|
|
}
|
||
|
|
|