Azure resources provisioning for deploying “Raven”
This document guides you through provisioning Azure resources using Terraform for deploying the “Raven” SaaS product. The example repository is for guidance purposes to help you understand the requirements and needed Azure resources to run the Raven platform (self-hosted). It is not intended for production use.
Before starting, ensure you have the following:
Configure a proper Terraform backend to store the state files securely. Create or modify the backend.tf
file:
In providers.tf
, configure the Azure provider with the required subscription and credentials:
Open the variables.tf
file and set appropriate values for the variables. Modify defaults as needed:
Generate an execution plan to preview the changes:
Apply the changes to your Azure environment:
Confirm the apply step by typing yes
when prompted.
Virtual Machines: The configuration includes setting up Virtual Machines with appropriate managed identities and security settings.
compute.tf
, the script provisions Virtual Machines, attaches managed identities, and configures network security groups to allow necessary traffic.clickhouse.tf
file.Azure Cache for Redis: Managed Redis instances using Azure Cache for Redis.
redis.tf
, it sets up Redis with specified node types and cluster settings, ensuring proper subnet and network security group configurations.redis_host
and redis_port
which will then be passed to the Azure Container Apps service as environment variables.Azure Database for PostgreSQL: Provisions a managed database instance.
postgresql.tf
file includes configurations for instance type, storage, and network security groups, tailored to meet the requirements of the SaaS product.Azure Container Apps: Sets up Azure Container Apps services triggered by Azure Storage events.
containerapps.tf
, the configuration includes creating Container Apps services, assigning managed identities, and setting up Azure Storage event triggers.containerapp_url
which will be used to configure Azure Storage account to send events to the Container Apps service.containerapp_identity
which will be used to allow the Container Apps service to access the Azure Cache for Redis database.Verify the resources in the Azure Portal to ensure they are created as expected. Use Azure Monitor and other monitoring tools to manage and observe the performance and health of the provisioned resources.
To destroy the resources created by Terraform when they are no longer needed:
Confirm the destroy step by typing yes
when prompted.
For more detailed information, refer to the GitLab repository.
Azure resources provisioning for deploying “Raven”
This document guides you through provisioning Azure resources using Terraform for deploying the “Raven” SaaS product. The example repository is for guidance purposes to help you understand the requirements and needed Azure resources to run the Raven platform (self-hosted). It is not intended for production use.
Before starting, ensure you have the following:
Configure a proper Terraform backend to store the state files securely. Create or modify the backend.tf
file:
In providers.tf
, configure the Azure provider with the required subscription and credentials:
Open the variables.tf
file and set appropriate values for the variables. Modify defaults as needed:
Generate an execution plan to preview the changes:
Apply the changes to your Azure environment:
Confirm the apply step by typing yes
when prompted.
Virtual Machines: The configuration includes setting up Virtual Machines with appropriate managed identities and security settings.
compute.tf
, the script provisions Virtual Machines, attaches managed identities, and configures network security groups to allow necessary traffic.clickhouse.tf
file.Azure Cache for Redis: Managed Redis instances using Azure Cache for Redis.
redis.tf
, it sets up Redis with specified node types and cluster settings, ensuring proper subnet and network security group configurations.redis_host
and redis_port
which will then be passed to the Azure Container Apps service as environment variables.Azure Database for PostgreSQL: Provisions a managed database instance.
postgresql.tf
file includes configurations for instance type, storage, and network security groups, tailored to meet the requirements of the SaaS product.Azure Container Apps: Sets up Azure Container Apps services triggered by Azure Storage events.
containerapps.tf
, the configuration includes creating Container Apps services, assigning managed identities, and setting up Azure Storage event triggers.containerapp_url
which will be used to configure Azure Storage account to send events to the Container Apps service.containerapp_identity
which will be used to allow the Container Apps service to access the Azure Cache for Redis database.Verify the resources in the Azure Portal to ensure they are created as expected. Use Azure Monitor and other monitoring tools to manage and observe the performance and health of the provisioned resources.
To destroy the resources created by Terraform when they are no longer needed:
Confirm the destroy step by typing yes
when prompted.
For more detailed information, refer to the GitLab repository.