Welcome to the Aurora Project! This repository helps you automate the provisioning and configuration of Azure resources using Terraform, Ansible, and CI/CD.
This project focuses on creating a scalable and resilient cloud infrastructure in Microsoft Azure, featuring:
- Auto-Scaling VMSS: Implements an Azure Virtual Machine Scale Set that automatically scales based on CPU load.
- Azure Load Balancer: Distributes network traffic to VMSS instances, ensuring high availability.
- Storage Solutions: Provisions Azure Storage accounts for VM instances (used for diagnostics).
- Script Automation via VMSS Extensions: Automates initialization script execution across VM instances to run Ansible.
- Ansible Configuration: Uses Ansible for configuration management, installing and configuring Nginx, and customizing
index.html
.
To get started with the Aurora Project, follow these steps:
-
Prerequisites: Install Terraform and set up an Azure account. Ansible will be installed on the VMSS instances.
-
Configuration:
- Configure Azure credentials as GitHub Secrets (follow Microsoft instructions, focusing on the "Service Principal Secret" method).
- Customize the Terraform configuration as needed.
- Set up Terraform-specific secrets (
ARM_CLIENT_ID
,ARM_CLIENT_SECRET
,ARM_SUBSCRIPTION_ID
,ARM_TENANT_ID
).
-
Deployment: Commit and push your changes to GitHub to trigger the deployment process.
-
Customization: Modify the project to suit your environment and requirements.
For full documentation, usage guides, and examples, visit wiki.
We welcome contributions! Please see Contribution Guidelines for how to get involved.
The project is under the MIT License.
- Thanks to all contributors and the open-source community.
For questions or support, please open an issue or contact us directly.
Happy automating!