Git Product home page Git Product logo

percival's Introduction

Project Percival

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.

Features

  1. 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.

  2. 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.

  3. Deploy Terraform Infrastructure: This features allows you to deploy terraform infrastructure based on a specific folder structure.

  4. Backup and Restore: This feature allows you to backup and restore any file to/from an Azure storage account

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

  • Python 3.8 or higher
  • Docker
  • Docker Compose

Installation

  1. Clone the repository:
  2. Navigate to the project directory:
  3. Install the required Python packages:
  4. Build the Docker images:
  5. Start the services:
  6. The Streamlit web interface should now be accessible at http://localhost:8501.

Usage

Trigger Deployment: Enter the pipeline ID and the branch name in the respective text input fields and click the 'Trigger Deployment' button. Alt text

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. Alt text

Terraform Infrastructure Deployment: Upload a zip file containing terraform IaC following a specific file structure

Alt text Alt text

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. Alt text Alt text

Running the tests

To run the tests, navigate to the project directory and run the following command:

pytest or pytest path/to/test_deploy_terraform.py

Built With

  • Streamlit - The web framework used
  • FastAPI - The backend API framework used
  • Azure - Cloud platform for infrastructure
  • GitHub Actions - CI/CD deployment

Contributing

Contributions are welcome. Please submit a Pull Request.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.