Skip to content

Feedback_System IAC : Contains Terraform scripts, Kubernetes manifests, and GitOps configurations for Feedback_System

License

Notifications You must be signed in to change notification settings

Arpit529Srivastava/Feedback_System_Infra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Feedback System Infrastructure

This repository contains the infrastructure code for the Feedback System application, a modern web application designed to collect, manage, and analyze user feedback. The infrastructure is built using Infrastructure as Code (IaC) principles, leveraging Terraform for cloud resource management and Kubernetes for container orchestration.

Features

  • 🚀 Automated infrastructure deployment
  • 🔒 Secure VPC-based network architecture
  • 📦 Containerized application deployment
  • 🔄 Scalable and maintainable infrastructure
  • 🔐 Secure access management
  • 📊 Monitoring and logging integration

Repository Structure

.
├── terraform/               # Terraform configurations
│   ├── ECR/                # Elastic Container Registry configs
│   ├── ECS/                # Elastic Container Service configs
│   │   ├── main.tf         # Main ECS configuration
│   │   ├── output.tf       # ECS output definitions
│   │   └── .terraform/     # Terraform state and plugins
│   └── S3/                 # S3 bucket configurations
├── k8s/                    # Kubernetes manifests
│   ├── backend/            # Backend service configs
│   └── frontend/           # Frontend service configs
├── .gitignore             # Git ignore rules
└── LICENSE                # MIT License file

Prerequisites

Before you begin, ensure you have the following installed and configured:

Getting Started

  1. Clone the repository

    git clone https://github.com/yourusername/Feedback_System_Infra.git
    cd Feedback_System_Infra
  2. Configure AWS credentials

    aws configure
    # Enter your AWS Access Key ID
    # Enter your AWS Secret Access Key
    # Enter your default region
    # Enter your preferred output format (json)
  3. Initialize Terraform

    cd terraform
    terraform init
  4. Deploy infrastructure

    terraform plan    # Review the changes
    terraform apply   # Apply the changes
  5. Deploy the application

    # Deploy backend services
    kubectl apply -f k8s/backend/
    
    # Deploy frontend services
    kubectl apply -f k8s/frontend/

Infrastructure Components

AWS Services

  • ECR (Elastic Container Registry)

    • Private container registry
    • Image versioning and lifecycle policies
    • Cross-region replication
  • ECS (Elastic Container Service)

    • VPC Configuration
      • Public and private subnets
      • NAT gateways
      • Security groups
    • ECS Cluster
      • Auto-scaling configuration
      • Capacity providers
      • Task definitions
    • ECS Services
      • Load balancing
      • Service discovery
      • Health checks

Kubernetes Components

  • Backend Service

    • Deployment configuration
    • Service definition
    • Resource limits
    • Health checks
  • Frontend Service

    • Deployment configuration
    • Service definition
    • Resource limits
    • Ingress configuration

Troubleshooting

Common Issues

  1. Terraform State Lock

    terraform force-unlock <LOCK_ID>
  2. Kubernetes Pod Issues

    kubectl describe pod <pod-name>
    kubectl logs <pod-name>

Security

  • All ECS resources are deployed within a VPC
  • ECR repositories have strict access controls
  • ECS tasks use IAM roles with least privilege
  • Network security groups restrict traffic
  • Regular security updates and patches
  • Encrypted data at rest and in transit

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

For support and questions:

About

Feedback_System IAC : Contains Terraform scripts, Kubernetes manifests, and GitOps configurations for Feedback_System

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages