Technology Stack
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.
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. |
.
├── 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
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.
Build the project from source:
- Clone the ChatBotApp-Azure-Infra repository:
❯ git clone https://github.com/XxrzxX/ChatBotApp-Azure-Infra
- Navigate to the project directory:
❯ cd ChatBotApp-Azure-Infra
- Install the required dependencies:
🔗 Terraform Installation Guide
🔗 Ansible Installation Guide
🔗 Azure CLI Installation Guide
To run setup project infrustucutre , execute the following command:
❯ cd Terraform
❯ terraform init
❯ terraform validate
❯ terraform plan
❯ terraform apply
This project is licensed under the MIT License.
For more details, see the LICENSE file.