fischerX/infra/terraform/main.tf

73 lines
1.6 KiB
HCL

terraform {
required_providers {
alicloud = {
source = "hashicorp/alicloud"
version = "~> 1.235.0"
}
}
backend "oss" {
bucket = "fischerx-terraform-state"
prefix = "terraform/state"
region = "cn-hangzhou"
}
}
provider "alicloud" {
region = var.region
access_key = var.access_key
secret_key = var.secret_key
}
module "vpc" {
source = "./modules/vpc"
vpc_name = var.vpc_name
vpc_cidr = var.vpc_cidr
vswitch_cidrs = var.vswitch_cidrs
zone_ids = var.zone_ids
}
module "ack" {
source = "./modules/ack"
cluster_name = var.cluster_name
vpc_id = module.vpc.vpc_id
vswitch_ids = module.vpc.vswitch_ids
security_group_id = module.vpc.security_group_id
worker_instance_types = var.worker_instance_types
worker_number = var.worker_number
}
module "rds" {
source = "./modules/rds"
db_instance_name = var.db_instance_name
db_name = var.db_name
db_username = var.db_username
db_password = var.db_password
vpc_id = module.vpc.vpc_id
vswitch_id = element(module.vpc.vswitch_ids, 0)
security_group_id = module.vpc.security_group_id
db_instance_class = var.db_instance_class
}
module "redis" {
source = "./modules/redis"
redis_instance_name = var.redis_instance_name
redis_password = var.redis_password
vpc_id = module.vpc.vpc_id
vswitch_id = element(module.vpc.vswitch_ids, 0)
security_group_id = module.vpc.security_group_id
redis_instance_class = var.redis_instance_class
}
module "oss" {
source = "./modules/oss"
bucket_name = var.oss_bucket_name
bucket_acl = var.oss_bucket_acl
region = var.region
}