Skip to content

Event-driven solution leveraging Terraform, GitHub Actions, and Azure Event Grid + Functions.

Notifications You must be signed in to change notification settings

dgonzo27/event-driven-architecture

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

event-driven-architecture

python version CI_CD GitHub_Actions provider azure iac terraform

This repository contains the code and instructions for running an event-driven solution in Azure based on file uploads to Azure Storage.

It leverages the following technologies and services:

  1. GitHub Actions
  2. Terraform
  3. Azure Storage (Containers and Queues)
  4. Azure Event Grid
  5. Azure Functions
  6. Azure Log Analytics

Getting Started

To get started with this solution, follow the youtube video and refer back to the pre-requisites below.

Pre-Requisites:

  1. Create a Microsoft Azure account and subscription.

  2. In your account, create an app registration and service principal.

  3. In your account, create a new resource group or use the default resource group.

  4. Create the following repository secrets in GitHub:

    • TERRAFORM_STORAGE_ACCOUNT_NAME
    • SOLUTION_STORAGE_ACCOUNT_NAME
    • RESOURCE_GROUP_NAME
    • AZURE_SP_CREDENTIALS
  5. Update the desired resource names in the terraform/terraform.tfvars file.

  6. Update the desired resource name of the Azure Function in the .github/workflows/function-deploy.yml file.

Service Principal Secret

The Azure Service Principal secret that you store in GitHub should match the format shown below:

{
  "clientId": "3984723**********",
  "clientSecret": "s298Q~***********",
  "subscriptionId": "lyk390-a*********",
  "tenantId": "na892bs*************"
}

About

Event-driven solution leveraging Terraform, GitHub Actions, and Azure Event Grid + Functions.

Topics

Resources

Stars

Watchers

Forks