71be2abd2e
- Terraform modules: VPC, EC2, RDS, S3, CloudFront, Route53, Lambda, IAM, Security Groups - Ansible playbooks for server configuration - Scripts: create-test-environment.sh, destroy-test-environment.sh, validate-environment.sh - Documentation: README, QUICKSTART, AGENTS - Jenkins pipeline for automated deployment - Jenkins pipeline for environment destruction
223 lines
4.9 KiB
Terraform
223 lines
4.9 KiB
Terraform
# =============================================================================
|
|
# VARIABLES - Entorno TEST SACC v4
|
|
# =============================================================================
|
|
|
|
variable "aws_region" {
|
|
description = "Region AWS para despliegue"
|
|
type = string
|
|
default = "mx-central-1"
|
|
}
|
|
|
|
variable "environment" {
|
|
description = "Ambiente (test)"
|
|
type = string
|
|
default = "test"
|
|
}
|
|
|
|
variable "project_name" {
|
|
description = "Nombre del proyecto"
|
|
type = string
|
|
default = "sacc4"
|
|
}
|
|
|
|
variable "domain_name" {
|
|
description = "Dominio principal"
|
|
type = string
|
|
default = "test-sacc.ccsoft.mx"
|
|
}
|
|
|
|
variable "api_subdomain" {
|
|
description = "Subdominio para API"
|
|
type = string
|
|
default = "api.test-sacc.ccsoft.mx"
|
|
}
|
|
|
|
variable "vpc_cidr" {
|
|
description = "CIDR block para VPC"
|
|
type = string
|
|
default = "10.3.0.0/16"
|
|
}
|
|
|
|
variable "availability_zones" {
|
|
description = "Zonas de disponibilidad"
|
|
type = list(string)
|
|
default = ["mx-central-1a", "mx-central-1b"]
|
|
}
|
|
|
|
variable "public_subnet_cidrs" {
|
|
description = "CIDRs para subnets publicas"
|
|
type = list(string)
|
|
default = ["10.3.1.0/24", "10.3.2.0/24"]
|
|
}
|
|
|
|
variable "private_subnet_cidrs" {
|
|
description = "CIDRs para subnets privadas"
|
|
type = list(string)
|
|
default = ["10.3.10.0/24", "10.3.11.0/24"]
|
|
}
|
|
|
|
variable "ec2_instance_type" {
|
|
description = "Tipo de instancia EC2"
|
|
type = string
|
|
default = "t3.small"
|
|
}
|
|
|
|
variable "ec2_ami" {
|
|
description = "AMI ID de Ubuntu 22.04 LTS en mx-central-1"
|
|
type = string
|
|
default = "ami-0f553e2869648134e"
|
|
}
|
|
|
|
variable "ec2_root_volume_size" {
|
|
description = "Tamanio del volumen root en GB"
|
|
type = number
|
|
default = 8
|
|
}
|
|
|
|
variable "ec2_root_volume_type" {
|
|
description = "Tipo de volumen root"
|
|
type = string
|
|
default = "gp2"
|
|
}
|
|
|
|
variable "ec2_root_volume_encrypted" {
|
|
description = "Volumen encriptado"
|
|
type = bool
|
|
default = true
|
|
}
|
|
|
|
variable "ssh_allowed_cidrs" {
|
|
description = "Lista de CIDRs permitidos para SSH"
|
|
type = list(string)
|
|
default = []
|
|
}
|
|
|
|
variable "rds_instance_class" {
|
|
description = "Clase de instancia RDS"
|
|
type = string
|
|
default = "db.t3.micro"
|
|
}
|
|
|
|
variable "rds_engine" {
|
|
description = "Motor de base de datos"
|
|
type = string
|
|
default = "mariadb"
|
|
}
|
|
|
|
variable "rds_engine_version" {
|
|
description = "Version del motor"
|
|
type = string
|
|
default = "10.11.16"
|
|
}
|
|
|
|
variable "rds_allocated_storage" {
|
|
description = "Almacenamiento asignado en GB"
|
|
type = number
|
|
default = 20
|
|
}
|
|
|
|
variable "rds_max_allocated_storage" {
|
|
description = "Almacenamiento maximo para autoscaling"
|
|
type = number
|
|
default = 100
|
|
}
|
|
|
|
variable "rds_db_name" {
|
|
description = "Nombre de la base de datos"
|
|
type = string
|
|
default = "ccsoft_sacc4_test"
|
|
}
|
|
|
|
variable "rds_master_username" {
|
|
description = "Usuario master de RDS"
|
|
type = string
|
|
default = "sacc_admin_test"
|
|
sensitive = true
|
|
}
|
|
|
|
variable "rds_master_password" {
|
|
description = "Contrasena master de RDS"
|
|
type = string
|
|
sensitive = true
|
|
}
|
|
|
|
variable "rds_backup_retention_period" {
|
|
description = "Periodo de retencion de backups en dias"
|
|
type = number
|
|
default = 7
|
|
}
|
|
|
|
variable "rds_backup_window" {
|
|
description = "Ventana de backup"
|
|
type = string
|
|
default = "03:00-04:00"
|
|
}
|
|
|
|
variable "rds_maintenance_window" {
|
|
description = "Ventana de mantenimiento"
|
|
type = string
|
|
default = "Mon:04:00-Mon:05:00"
|
|
}
|
|
|
|
variable "enable_scheduling" {
|
|
description = "Habilitar scheduling horario"
|
|
type = bool
|
|
default = true
|
|
}
|
|
|
|
variable "schedule_timezone" {
|
|
description = "Zona horaria"
|
|
type = string
|
|
default = "America/Mexico_City"
|
|
}
|
|
|
|
variable "schedule_start_cron" {
|
|
description = "Expresion cron para inicio"
|
|
type = string
|
|
default = "cron(0 13 ? * MON-FRI *)"
|
|
}
|
|
|
|
variable "schedule_stop_cron" {
|
|
description = "Expresion cron para apagado"
|
|
type = string
|
|
default = "cron(0 0 ? * TUE-SAT *)"
|
|
}
|
|
|
|
variable "frontend_bucket_name" {
|
|
description = "Nombre del bucket S3"
|
|
type = string
|
|
default = "sacc4-frontend-test-668889063715"
|
|
}
|
|
|
|
variable "cloudfront_price_class" {
|
|
description = "Clase de precio de CloudFront"
|
|
type = string
|
|
default = "PriceClass_100"
|
|
}
|
|
|
|
variable "enable_cloudfront_logging" {
|
|
description = "Habilitar logging de CloudFront"
|
|
type = bool
|
|
default = false
|
|
}
|
|
|
|
variable "thoth_public_key" {
|
|
description = "Llave publica SSH para thoth"
|
|
type = string
|
|
}
|
|
|
|
variable "osiris_public_key" {
|
|
description = "Llave publica SSH para osiris"
|
|
type = string
|
|
}
|
|
|
|
variable "common_tags" {
|
|
description = "Tags comunes"
|
|
type = map(string)
|
|
default = {
|
|
Project = "proyectosacc"
|
|
ManagedBy = "terraform"
|
|
Team = "infra"
|
|
}
|
|
}
|