Using our Terraform modules, you can easily install and manage Coralogix integrations with Azure services as modules in your infrastructure code. This tutorial demonstrates how to install our [function app](https://github.com/coralogix/coralogix-azure-serverless/tree/master/StorageQueue) that connects to your storage queue and sends logs to Coralogix.

Our modules are open-source and available on [Github](https://github.com/coralogix/terraform-coralogix-azure) and in the [Terraform registry](https://registry.terraform.io/modules/coralogix/azure/coralogix/latest).

## Prerequisites

- A resource group and storage account to be used by your function app and provided as inputs in the Terraform module
- Preexisting storage queue
- Storage account associated with the storage queue configured for public access (Optional VNet support configuration available)

## Installation

To install our [function app](https://github.com/coralogix/coralogix-azure-serverless/tree/master/EventHub), which connects to your storage queue and sends logs to Coralogix, add this declaration to your Terraform project:

```tf
terraform {
  required_providers {
    azurerm = {
      source = "hashicorp/azurerm"
      version = "~> 3.93"
    }
  }
}

provider "azurerm" {
  features {}
}

module "storagequeue" {
  source = "coralogix/azure/coralogix//modules/storagequeue"

  CoralogixRegion = "Europe"
  CustomDomain = < Custom FQDN if applicable >
  CoralogixPrivateKey = < Send Your Data - API Key >
  CoralogixApplication = "Azure"
  CoralogixSubsystem = "EventHub"
  FunctionResourceGroupName = < Function ResourceGroup Name >
  FunctionStorageAccountName = < Function StorageAccount Name >
  FunctionAppServicePlanType = "Consumption"
  StorageQueueName = < Name of the StorageQueue >
  StorageQueueStorageAccount = < Name of the StorageQueue Storage Account >
  StorageQueueResourceGroupName = < Name of the StorageQueue Resource Group >
}
```

**Notes**:

- Input the following variables:

  - `**CoralogixRegion**`: The [region](https://coralogix.com/docs/user-guides/account-management/account-settings/coralogix-domain/index.md) associated with your Coralogix account
  - **`CoralogixPrivateKey`:** Your [Coralogix Send-Your-Data API Key](https://coralogix.com/docs/user-guides/account-management/api-keys/send-your-data-api-key/index.md)
  - `**CoralogixApplication**` & **`CoralogixSubsystem`**: [Coralogix application and subsystem names](https://coralogix.com/docs/user-guides/account-management/account-settings/application-and-subsystem-names/index.md) as they will appear in your UI

- Descriptions for other variables can be found [here](https://github.com/coralogix/terraform-coralogix-azure/blob/master/modules/blobstorage/README.md).

## Additional Resources

|                        |                                                                                                                                                                                                                                                                                                                |
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Documentation          | [Coralogix Terraform Provider](https://coralogix.com/docs/developer-portal/infrastructure-as-code/terraform-provider/coralogix-terraform-provider/index.md)                                                                                                                                                    |
| External Documentation | [Coralogix Function App](https://github.com/coralogix/coralogix-azure-serverless/tree/master/DiagnosticData) [Github: Azure – Coralogix Terraform Module](https://github.com/coralogix/terraform-coralogix-azure) [Terraform Registry](https://registry.terraform.io/modules/coralogix/azure/coralogix/latest) |

## **Support**

**Need help?**

Our world-class customer success team is available 24/7 to walk you through your setup and answer any questions that may come up.

Feel free to reach out to us **via our in-app chat** or by sending us an email at **[support@coralogix.com](mailto:support@coralogix.com)**.
