This module deploys Monte Carlo's containerized agent on Azure functions, along with storage, roles etc.
See here for architecture details and alternative deployment options.
- Terraform (>= 1.3)
- Azure CLI. Authentication reference
Basic usage of this module:
module "apollo" {
source = "monte-carlo-data/mcd-agent/azurerm"
}
output "resource_group" {
value = module.apollo.mcd_agent_resource_group_name
description = "Agent service resource group."
}
output "function_url" {
value = module.apollo.mcd_agent_function_url
description = "The URL for the agent."
}
output "function_name" {
value = module.apollo.mcd_agent_function_name
description = "Agent function name."
}
After which you must register your agent with Monte Carlo. See here for more details, options, and documentation.
Note that this module is configured to delete all resources when the resource group is deleted (e.g. via terraform destroy). Please take appropriate measures and review your resources before doing so. See here for additional details.
Name | Description | Type | Default |
---|---|---|---|
disable_public_inbound | Disable inbound public network access. Setting this to true requires enabling the use of Azure Private Endpoints (Private Link). See details here: https://docs.getmontecarlo.com/docs/azure-private-link | bool | false |
image | The image for the agent. | string | montecarlodata/agent:latest-azure |
location | The Azure location (region) to deploy the agent into. | string | EAST US |
remote_upgradable | Allow the agent image to be remotely upgraded by Monte Carlo. Note that this sets a lifecycle to ignore any changes in Terraform to fields like the image used after the initial deployment. If not set to 'true' you will be responsible for upgrading the image (e.g. specifying a new tag) for any bug fixes and improvements. Changing this value after initial deployment will replace your agent and require (re)registration. | bool | true |
subnet_id | Optionally connect the agent to a Virtual Network by specifying a subnet. Note that the subnet must already be delegated to "Microsoft.Web/serverFarms" or the deployment will fail. The ID can be retrieved using the command az network vnet subnet list . |
string | null |
Name | Description |
---|---|
mcd_agent_function_url | The URL for the agent. |
mcd_agent_function_name | Agent function name. |
mcd_agent_resource_group_name | Agent service resource group. |
The README and sample agent in the examples/agent
directory is a good starting point to familiarize
yourself with using the agent.
Note that all Terraform files must conform to the standards of terraform fmt
and
the standard module structure.
CircleCI will sanity check formatting and for valid tf config files.
It is also recommended you use Terraform Cloud as a backend.
Otherwise, as normal, please follow Monte Carlo's code guidelines during development and review.
When ready to release simply add a new version tag, e.g. v0.0.42, and push that tag to GitHub. See additional details here.
See LICENSE for more information.
See SECURITY for more information.