| .github | ||
| .vscode | ||
| tests | ||
| .gitignore | ||
| function_app.py | ||
| host.json | ||
| LICENSE | ||
| README.md | ||
| requirements.txt | ||
azure-resource-reaper
This Azure Function is a time-triggered function designed to automatically delete Azure resources based on a specific lifetime tag. It helps manage and clean up resources that are no longer needed, saving costs and improving resource management in any Azure environment.
Table of Contents
Overview
Azure resources can accumulate over time, leading to increased costs and
potential security risks. To mitigate this, this Azure Function provides a
solution for automatic resource deletion based on a lifetime tag that can
be assigned to resources.
The lifetime tag format is a succession of <value><unit> stanzas where
<value> is an integer and <unit> is one of the following:
- y: years
- mo: months
- d: days
- h: hours
- m: minutes
Setup
To deploy and use the function, follow the instructions in Create a Python function in Azure from the command line.
Configuration
The timer string for the reap_resources function can be configured in the @app.schedule decorator call via the NCRONTAB expression. Additionally, a subscription ID must be set in the AZURE_SUBSCRIPTION_ID variable.
Development
In order to develop on the function, the following are required:
- An Azure account with an active subscription.
- A Python version supported by Azure Functions.
- The Azurite storage emulator.
Note that by using production credentials the function can delete resources from your environment!
Contributing
It is required to sign the Contributor Licence Agreement in order to contribute to this project.
An automated test is executed on PRs to check if it has been accepted.
License
This project is covered by the MIT License.