This project is a web interface for managing actions on Azure DevOps and Azure. It uses Streamlit for the web interface and FastAPI for the backend API.
-
Trigger Deployment: This feature allows you to trigger a deployment to an Azure DevOps pipeline. You just need to provide the pipeline ID and the branch name.
-
Fetch Storage Metrics: This feature allows you to fetch storage metrics from an Azure Storage Account. You need to provide the subscription ID, resource group name, and storage account name.
-
Deploy Terraform Infrastructure: This features allows you to deploy terraform infrastructure based on a specific folder structure.
-
Backup and Restore: This feature allows you to backup and restore any file to/from an Azure storage account
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
- Python 3.8 or higher
- Docker
- Docker Compose
- Clone the repository:
- Navigate to the project directory:
- Install the required Python packages:
- Build the Docker images:
- Start the services:
- The Streamlit web interface should now be accessible at http://localhost:8501.
Trigger Deployment: Enter the pipeline ID and the branch name in the respective text input fields and click the 'Trigger Deployment' button.
Fetch Storage Metrics: Enter the subscription ID, resource group name, and storage account name in the respective text input fields and click the 'Fetch Metrics' button.
Terraform Infrastructure Deployment: Upload a zip file containing terraform IaC following a specific file structure
Backup and Restore: For backup, enter storage account name and container name. Upload the file(s) that you want to backup. For restore, enter the name of the blob along with storage account name and container name.
To run the tests, navigate to the project directory and run the following command:
pytest
or pytest path/to/test_deploy_terraform.py
- Streamlit - The web framework used
- FastAPI - The backend API framework used
- Azure - Cloud platform for infrastructure
- GitHub Actions - CI/CD deployment
Contributions are welcome. Please submit a Pull Request.