Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/moimhossain/azure-lcm
Lifecycle management for Azure services
https://github.com/moimhossain/azure-lcm
Last synced: about 9 hours ago
JSON representation
Lifecycle management for Azure services
- Host: GitHub
- URL: https://github.com/moimhossain/azure-lcm
- Owner: MoimHossain
- License: mit
- Created: 2024-03-14T05:37:30.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-05-28T10:07:35.000Z (5 months ago)
- Last Synced: 2024-05-29T00:12:20.712Z (5 months ago)
- Language: C#
- Size: 322 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Azure-Lcm
Lifecycle management for Azure services## Overview
Lifecycle management for Azure services is a set of scripts that can be used to manage the lifecycle of Azure services. The scripts are written in Python and can be used to create, update, delete, and list Azure services. The scripts are designed to be used in a CI/CD pipeline to automate the deployment of Azure services.
## Prerequisites
- Azure CLI
- Azure DevOps (pipelines)## Usage
The scripts can be used to create, update, delete, and list Azure services. The scripts are designed to be used in a CI/CD pipeline to automate the deployment of Azure services. You start with [build-infra.sh](./infra/build-infra.sh) script.
The environment variables that need to be set are:
```bash
export resourceGroupName=$resourceGroupName
export location=$location
export workloadName=$workloadName
export workloadEnv=$workloadEnv
```The scripts can be run using the following commands:
```bash
./infra/build-infra.sh
```This will produce the following Azure Resources:
- Resource Group
- User Assigned Managed Identity
- Log Analytics Workspace
- Virtual Network
- Subnet - Delegated to Azure Container Group
- Subnet - To host Private Endpoints
- Storage Account
- Role Assignments
- Blob Storage
- Private DNS Zone
- Private Endpoint
- Private Link
- Table Storage
- Private DNS Zone
- Private Endpoint
- Private Link
- Key Vault
- Role Assignments
- Private DNS Zone
- Private Endpoint
- Private Link
- Azure Open AI
- Model GPT 4o will be deployed
- Private DNS Zone
- Private Endpoint
- Private Link
- Keep Secret in Key Vault (endpoint and key)
- Container Registry (Not using Private Container Registry - so Azure Pipeline can reach to it)## Building Docker image
The script [build-container.sh](./infra/build-container.sh) will build the Docker image and push it to the Azure Container Registry.
## Running container instance
The script [execute-job.sh](./infra/execute-job.sh) will run the container instance in Azure Container Instance.
> Note: The script [execute-job.sh](./infra/execute-job.sh) As it is now, will try to create containers into the Blob storage, which will not work because the storage account is only accepting traffic from vnet. Hence, you need to create the container as one-time process while keep the storage account's - allow traffic from anywhere - and then change it back to vnet only.