Skip to content

Built using Infrastructure as Code (IaC) principles with Terraform, Ansible, and GitHub Actions for automation. The web app supports auto-upgrades via GitHub Actions for seamless deployments.

License

Notifications You must be signed in to change notification settings

XxrzxX/ChatBotApp-Azure-Infra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Azure Infrastructure Deployment for RAG Chatbot 🤖



Technology Stack

GNU%20Bash Streamlit YAML OpenAI
GitHub%20Actions Python Terraform FastAPI JSON


🔗 Quick Links



📍 Overview

This project establishes a scalable, secure, and automated web application infrastructure on Microsoft Azure. Utilizing Terraform modules and Ansible, the deployment and management of cloud resources are streamlined, ensuring efficiency and reliability. GitHub Actions further enhances automation by keeping VM instances consistently updated, reducing manual intervention. At the core of this web application is an advanced Retrieval-Augmented Generation (RAG) chatbot, designed to analyze user-uploaded files and generate contextually relevant responses. By integrating cloud automation with AI-driven intelligence, this project optimizes operational efficiency, enhances data processing capabilities, and improves user interactions.




✨ Features

Feature Description
⚙️ Architecture The project follows a modular approach, ensuring a clear separation of concerns. Infrastructure automation is implemented using Terraform modules and Ansible, enabling seamless provisioning of resources on Azure. The Terraform directory consists of structured modules for VM instances, networking, storage, and security, supporting scalability and maintainability.
🔩 Code Quality The codebase maintains high standards, adhering to PEP 8 and best practices for readability and maintainability. Continuous integration with GitHub Actions ensures automated testing and updates.
📄 Documentation Comprehensive documentation covers infrastructure setup, usage, and contribution guidelines. Detailed API references and examples assist in deployment and development.
🔌 Integrations The project integrates Terraform, Ansible, and GitHub Actions for cloud automation. The RAG-powered chatbot enhances user interactions by analyzing uploaded files, making responses data-driven and context-aware.
🧩 Modularity The Terraform directory is structured into distinct modules, such as VM, VMSS, Vnet, Gateway, Storage, and Database, ensuring reusability and clear interfaces. This modular design allows for independent configuration and scalability.
📦 Dependencies Key dependencies include Terraform, Ansible, GitHub Actions, and various AI libraries for intelligent data processing.

📂 Project Structure

.
├── Terraform
│   ├── Setup_Scripts
│   ├── modules
│   │   ├── BH
│   │   ├── Gateway
│   │   ├── KV
│   │   ├── VM
│   │   ├── VMSS
│   │   ├── Vnet
│   │   ├── db
│   │   └── storage
│   ├── data.tf
│   ├── main.tf
│   ├── outputs.tf
│   ├── provider.tf
│   ├── terraform.tfvars
│   └── variables.tf
├── backend.py
├── chatbot.py
├── requirements.txt
└── update_app.sh

🚀 Getting Started

🔖 Prerequisites

Before proceeding with the setup, ensure you have the following:

  • An active Azure Subscription
  • Azure CLI authenticated to your account
  • Terraform installed on your system
  • Ansible installed for configuration management
  • WSL or a Linux-based system for execution
  • An active GitHub account for version control and automation

Note

For detailed setup instructions, refer to the Wiki.


📦 Installation

Build the project from source:

  1. Clone the ChatBotApp-Azure-Infra repository:
❯ git clone https://github.com/XxrzxX/ChatBotApp-Azure-Infra
  1. Navigate to the project directory:
cd ChatBotApp-Azure-Infra
  1. Install the required dependencies:

🔗 Terraform Installation Guide
🔗 Ansible Installation Guide
🔗 Azure CLI Installation Guide


🤖 Usage

To run setup project infrustucutre , execute the following command:

cd Terraform  
❯ terraform init  
❯ terraform validate  
❯ terraform plan  
❯ terraform apply 

⚖ License

This project is licensed under the MIT License.

For more details, see the LICENSE file.

About

Built using Infrastructure as Code (IaC) principles with Terraform, Ansible, and GitHub Actions for automation. The web app supports auto-upgrades via GitHub Actions for seamless deployments.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published