Skip to content

rtvoelker/terraform-azurerm-boundary

 
 

Repository files navigation

terraform-azurerm-boundary

A Terraform module to deploy a Boundary cluster on Azure for testing and exploration. It uses the latest release of HashiCorp Boundary available for Linux.

It uses Azure Key Vault and uses a self-signed certificate. For the exact configuration, review the controller and worker configuration under templates/.

NOTE: Use this module for testing purposes only!

Attribution

This module modifies the reference architecture for Boundary on Azure.

Requirements

Name Version
azuread >=2.0
azurerm >=2.0

Providers

Name Version
azuread 2.18.0
azurerm 2.97.0
random 3.1.0
tls 3.1.0

Modules

No modules.

Resources

Name Type
azuread_application.recovery_sp resource
azuread_service_principal.recovery_sp resource
azuread_service_principal_password.recovery_sp resource
azurerm_application_security_group.controller_asg resource
azurerm_application_security_group.worker_asg resource
azurerm_availability_set.controller resource
azurerm_key_vault.boundary resource
azurerm_key_vault_access_policy.controller resource
azurerm_key_vault_access_policy.sp resource
azurerm_key_vault_access_policy.worker resource
azurerm_key_vault_access_policy.you resource
azurerm_key_vault_certificate.boundary resource
azurerm_key_vault_key.keys resource
azurerm_lb.boundary resource
azurerm_lb_backend_address_pool.pools resource
azurerm_lb_nat_rule.controller resource
azurerm_lb_nat_rule.worker resource
azurerm_lb_probe.controller_9200 resource
azurerm_lb_probe.worker_9202 resource
azurerm_lb_rule.controller resource
azurerm_lb_rule.worker resource
azurerm_linux_virtual_machine.controller resource
azurerm_linux_virtual_machine.worker resource
azurerm_network_interface.controller resource
azurerm_network_interface.worker resource
azurerm_network_interface_application_security_group_association.controller resource
azurerm_network_interface_application_security_group_association.worker resource
azurerm_network_interface_backend_address_pool_association.controller resource
azurerm_network_interface_backend_address_pool_association.worker resource
azurerm_network_interface_nat_rule_association.controller resource
azurerm_network_interface_nat_rule_association.worker resource
azurerm_network_interface_security_group_association.controller resource
azurerm_network_interface_security_group_association.worker resource
azurerm_network_security_group.controller_net resource
azurerm_network_security_group.controller_nics resource
azurerm_network_security_group.worker_net resource
azurerm_network_security_group.worker_nics resource
azurerm_network_security_rule.controller_9200 resource
azurerm_network_security_rule.controller_9201 resource
azurerm_network_security_rule.controller_nic_9200 resource
azurerm_network_security_rule.controller_nic_9201 resource
azurerm_network_security_rule.controller_nic_ssh resource
azurerm_network_security_rule.controller_ssh resource
azurerm_network_security_rule.worker_9202 resource
azurerm_network_security_rule.worker_nic_9202 resource
azurerm_network_security_rule.worker_nic_ssh resource
azurerm_network_security_rule.worker_ssh resource
azurerm_postgresql_server.boundary resource
azurerm_postgresql_virtual_network_rule.vnet resource
azurerm_public_ip.boundary resource
azurerm_subnet_network_security_group_association.controller resource
azurerm_subnet_network_security_group_association.worker resource
azurerm_user_assigned_identity.controller resource
azurerm_user_assigned_identity.worker resource
random_id.id resource
random_id.vault resource
random_password.database resource
tls_private_key.boundary resource
azuread_client_config.current data source
azurerm_client_config.current data source

Inputs

Name Description Type Default Required
boundary_version Version of Boundary to install. Default is 0.7.5. string "0.7.5" no
cert_cn Certificate common name for Boundary. Default is boundary-azure. string "boundary-azure" no
controller_subnet_id Azure subnet ID for Boundary controllers. string n/a yes
controller_vm_count Number of controller VMs for Boundary. Default is 1. number 1 no
controller_vm_size Size of controller VMs for Boundary. Default is Standard_D2as_v4. string "Standard_D2as_v4" no
db_username PostgreSQL admin username for Boundary. Default is sqladmin. string "sqladmin" no
location Location of Azure resource group. string n/a yes
resource_group_name Name of Azure resource group. string n/a yes
tags List of tags to add to Boundary resources. Merged with module tags. map(string) {} no
worker_subnet_id Azure subnet ID for Boundary workers. string n/a yes
worker_vm_count Number of worker VMs for Boundary. Default is 1. number 1 no
worker_vm_size Size of worker VMs for Boundary. Default is Standard_D2as_v4. string "Standard_D2as_v4" no

Outputs

Name Description
boundary_database_password n/a
client_id n/a
client_secret n/a
key_vault_name n/a
private_key n/a
public_dns_name n/a
public_key n/a
tenant_id n/a
url n/a
worker_security_group_id n/a

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HCL 86.3%
  • Shell 12.4%
  • Makefile 1.3%