azure-bicep
8 items tagged with "azure-bicep"
Articles
Mount Azure File Share to Azure App Service or Azure Functions Linux Container Apps
This code snippet shows you how to mount Azure Storage file share as a local drive in a Linux container app hosted in Azure App Service or Azure Functions. Outline of the code The code snippet does the following: Create a storage account Create file service Create a file share Create an App Service resource with Linux container Mount the file share to the app For .NET 8 containers If you use .NET 8 images that runs without root permissions, please mount the file share to path under /home. Otherwise, you may encounter errors like the following when deploying to Azure: "message":"The resource write operation failed to complete successfully, because it reached terminal provisioning state 'Failed'.","details":[{"code":"DeploymentFailed","target":"/subscriptions/\\\/resourceGroups/\\\/providers/Microsoft.Resources/deployments/kontext-web","message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-deployment-operations for usage details.","details":[{"code":"InternalServerError","message":"There was an unexpected InternalServerError. Please try again later. x-ms-correlation-request-id: \\\*"}
Deploy Azure Function App with .NET 8 to Azure Container Apps via Bicep
Azure Function App can now be deployed into Azure Container Apps managed environment. This code snippet shows you how to deploy an Azure Function App created with .NET 8 (dotnet-isolated as runtime) into a managed environment of Azure Container Apps. The container source image is from GitHub (ghcr.io). You can also use any other container registry. Resources created This Bicep template creates the following resources: Blob Storage account Azure Log Analytics workspace Azure Application Insights Azure Container Apps managed environment Azure Function App Required credential You need to provide a container registry user name and password if you are using private registry. This template uses GitHub Packages.
Creating Azure Function App with .NET 8 - Bicep Example
.NET 8 preview 7 is now supported for Azure Functions Linux consumption plan when creating dotnet-isolated function app. This code snippet shows you how to create a Function App using .NET 8. The key part is to change linuxFxVersion to 'DOTNET-ISOLATED|8.0'.
Use Bicep to deploy Azure Container Apps with a free managed certificate
Context A few weeks ago when I was migrating Kontext from Azure App Services to Azure Container Apps, there was no free managed certificate. To address that issue, I used Let's Encrypt to create a certificate for Kontext. This process will take me a few minutes every few months . Now good news is that free managed certificate is also in preview in Azure Container Apps. The following code snippet shows you how to do that in Bicep. Note: \* when I deploy using Bicep, my container app was already existing. This means the domain verification is already added to my Azure DNS zones. If you are building a new app using managed certificate, I would suggest you do it in two steps: Bicep code to create container app enivronment, container and DNS records (incl. A record that points to IP of your container app and/or asuid verification TXT record). And then update Bicep code to add managed certificate and custom domains. In custom domains, you can reference the managed certificate ID directly. And then deploy Bicep code again with delta changes. \* The container image is from GitHub (not Azure Container Registry) in the following example. Issues When I run the deployments, Azure throws out one interim error like the following (however the deployment itself was not failing): The client 'XXX' with object id 'XXX' does not have authorization to perform action 'Microsoft.App/locations/managedCertificateOperationStatuses/read' over scope '/subscriptions/XXX/providers/Microsoft.App/locations/Australia East/managedCertificateOperationStatuses/XXX' or the scope is invalid. If access was recently granted, please refresh your credentials. (Code: AuthorizationFailed) After I wait for about 10 minutes the deployment becomes successful as the following screenshot does: !2023061092538-image.png References Custom domain names and bring your own certificates in Azure Container Apps Microsoft.App managedEnvironments/managedCertificates 2022-11-01-preview
Deploy Azure Automation Runbooks via GitHub Actions
This code snippet shows how to use deploy Azure Automation PowerShell runbooks using GitHub Actions workflow. Automation Runbooks can be used to run scripts regularly including PowerShell workflows, Python scripts, etc. If you have multiple scripts to deploy, you can create a PowerShell script file to deploy. The following assumptions are made: The PowerShell runbook script (myrunbook.ps1) is located in the specified folder (scripts/runbooks). The runbook is PowerShell type. GitHub Actions secrets are setup to use OIDC to authenticate with Azure. The resource will be deployed into automation account named myautomationaccount under resource group 'rg'.