{"id":15291817,"url":"https://github.com/techwatching/azurefunctionsflexconsumptionplan","last_synced_at":"2026-05-03T12:35:11.582Z","repository":{"id":255557242,"uuid":"851901072","full_name":"TechWatching/AzureFunctionsFlexConsumptionPlan","owner":"TechWatching","description":"Infrastructure code to provision a Function App on the Flex Consumption Plan","archived":false,"fork":false,"pushed_at":"2024-09-04T23:59:17.000Z","size":36,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-01T22:05:13.891Z","etag":null,"topics":["azure","azure-functions","flex-consumption","pulumi","typescript"],"latest_commit_sha":null,"homepage":"https://techwatching.dev/posts/flex-consumption-plan","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TechWatching.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-03T22:07:01.000Z","updated_at":"2024-09-04T23:59:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"64c84072-4687-4514-b574-1b1f662d3fc2","html_url":"https://github.com/TechWatching/AzureFunctionsFlexConsumptionPlan","commit_stats":null,"previous_names":["techwatching/azurefunctionsflexconsumptionplan"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TechWatching/AzureFunctionsFlexConsumptionPlan","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TechWatching%2FAzureFunctionsFlexConsumptionPlan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TechWatching%2FAzureFunctionsFlexConsumptionPlan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TechWatching%2FAzureFunctionsFlexConsumptionPlan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TechWatching%2FAzureFunctionsFlexConsumptionPlan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TechWatching","download_url":"https://codeload.github.com/TechWatching/AzureFunctionsFlexConsumptionPlan/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TechWatching%2FAzureFunctionsFlexConsumptionPlan/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263041897,"owners_count":23404457,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure","azure-functions","flex-consumption","pulumi","typescript"],"created_at":"2024-09-30T16:14:37.972Z","updated_at":"2026-05-03T12:35:11.532Z","avatar_url":"https://github.com/TechWatching.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Infrastructure code to provision a Function App on the Flex Consumption Plan\n\n## What is it?\n\nThis repository contains 2 items:\n- the infrastructure code (in the `infra` folder) needed to provision an Azure Function App on the Flex Consumption plan\n- a basic .NET 8 isolated HTTP Trigger Azure Function (in the `src` folder)\n  \nThis [blog article](https://techwatching.dev/posts/flex-consumption-plan) explains how to provision an Azure Function App on the Flex Consumption plan using the code on this repository.\n\nThe infrastructure code is a Pulumi TypeScript program that can be executed from the Pulumi CLI. When you execute it, it will provision the following resources:\n- a Storage Account with a blob container in it\n- a Function App and its associated Service Plan\n\n![Diagram of the Azure resources to provision](https://github.com/user-attachments/assets/095cfb7b-ebeb-4fd7-932c-b724fd711a88)\n\nI suggest you to read [the article](https://techwatching.dev/posts/flex-consumption-plan) before using this code. And if you are not familiar with Pulumi you should check their [documentation](https://www.pulumi.com/docs/) or [learning pathways](https://www.pulumi.com/learn/) too.\n\n## How to use it?\n\n### Prerequisites\n\nYou can check [Pulumi documentation](https://www.pulumi.com/docs/get-started/azure/begin/) to set up your environment.\nYou will have to install on your machine:\n- Pulumi CLI\n- Azure CLI\n- pnpm\n- Node.js (can be done using [pnpm](https://bordeauxcoders.com/manage-multiple-nodejs-versions))\n\nYou will need an Azure subscription.\n\nYou can use any [backend](https://www.pulumi.com/docs/intro/concepts/state/) for your Pulumi program (to store the state and encrypt secrets) but I suggest you to use the default backend: the Pulumi Cloud. It's free for individuals, you will just need to create an account on Pulumi website. If you prefer to use an Azure Blob Storage backend with an Azure Key Vault as the encryption provider you can check [this article](https://www.techwatching.dev/posts/pulumi-azure-backend).\n\n### Execute the Pulumi program\n\n- clone this repository\n- log on to your Azure account using Azure CLI\n- log on to your Pulumi backend using Pulumi CLI\n- install the dependencies using pnpm\n- run this command `pulumi up`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechwatching%2Fazurefunctionsflexconsumptionplan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftechwatching%2Fazurefunctionsflexconsumptionplan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechwatching%2Fazurefunctionsflexconsumptionplan/lists"}