automated terminal push

This commit is contained in:
lenape
2025-08-05 13:41:43 +00:00
parent 5602f1d7b0
commit bceec59b17
4 changed files with 1616 additions and 0 deletions

View File

@@ -0,0 +1,170 @@
# Phase 2: Variables
# File: infrastructure/services/variables.tf
variable "project_name" {
description = "Name of the project"
type = string
default = "nvhi-atsila-microservice"
}
variable "environment" {
description = "Environment name (e.g., dev, staging, prod)"
type = string
default = "dev"
}
variable "aws_region" {
description = "AWS region"
type = string
default = "us-east-2"
}
variable "common_tags" {
description = "Common tags to be applied to all resources"
type = map(string)
default = {
Terraform = "true"
Project = "nvhi-atsila-microservice"
Environment = "dev"
ManagedBy = "jenkins"
Pipeline = "services-layer"
}
}
# ECS Configuration
variable "task_cpu" {
description = "CPU units for the ECS task (256, 512, 1024, 2048, 4096)"
type = string
default = "256" # Free tier friendly
}
variable "task_memory" {
description = "Memory for the ECS task (512, 1024, 2048, 4096, 8192)"
type = string
default = "512" # Free tier friendly
}
variable "desired_count" {
description = "Desired number of ECS tasks"
type = number
default = 1 # Start with 1 for cost efficiency
}
variable "image_tag" {
description = "Docker image tag to deploy"
type = string
default = "latest"
}
# Auto Scaling Configuration
variable "enable_auto_scaling" {
description = "Enable auto scaling for the ECS service"
type = bool
default = false # Disable for free tier
}
variable "min_capacity" {
description = "Minimum number of tasks"
type = number
default = 1
}
variable "max_capacity" {
description = "Maximum number of tasks"
type = number
default = 3
}
# Health Check Configuration
variable "health_check_path" {
description = "Health check path for the application"
type = string
default = "/health"
}
variable "health_check_interval" {
description = "Health check interval in seconds"
type = number
default = 30
}
variable "health_check_timeout" {
description = "Health check timeout in seconds"
type = number
default = 5
}
variable "health_check_healthy_threshold" {
description = "Number of consecutive successful health checks"
type = number
default = 2
}
variable "health_check_unhealthy_threshold" {
description = "Number of consecutive failed health checks"
type = number
default = 3
}
# Load Balancer Configuration
variable "enable_https" {
description = "Enable HTTPS listener on ALB"
type = bool
default = false # Keep simple for demo
}
variable "ssl_certificate_arn" {
description = "ARN of SSL certificate for HTTPS"
type = string
default = null
}
# Blue/Green Deployment Configuration
variable "deployment_type" {
description = "Deployment type: blue_green or rolling"
type = string
default = "blue_green"
validation {
condition = contains(["blue_green", "rolling"], var.deployment_type)
error_message = "Deployment type must be either 'blue_green' or 'rolling'."
}
}
variable "deployment_maximum_percent" {
description = "Maximum percentage of tasks during deployment"
type = number
default = 200
}
variable "deployment_minimum_healthy_percent" {
description = "Minimum percentage of healthy tasks during deployment"
type = number
default = 50
}
# CloudWatch Configuration
variable "log_retention_days" {
description = "CloudWatch log retention in days"
type = number
default = 7 # Free tier friendly
}
variable "enable_container_insights" {
description = "Enable CloudWatch Container Insights"
type = bool
default = true
}
# Security Configuration
variable "enable_execute_command" {
description = "Enable ECS Exec for debugging"
type = bool
default = true
}
variable "enable_service_connect" {
description = "Enable ECS Service Connect"
type = bool
default = false # Keep simple for demo
}