terraform {
  required_providers {
    alicloud = {
      source  = "aliyun/alicloud"
      version = ">= 1.268"
    }
    aws = {
      source  = "hashicorp/aws"
      version = "~> 6.0"
    }
    random = {
      source  = "hashicorp/random"
      version = "~> 3.0"
    }
    local = {
      source  = "hashicorp/local"
      version = "~> 2.0"
    }
    helm = {
      source  = "hashicorp/helm"
      version = "~> 2.0"
    }
    kubernetes = {
      source  = "hashicorp/kubernetes"
      version = "~> 2.0"
    }
    kubectl = {
      source  = "alekc/kubectl"
      version = ">= 2.0.0"
    }
  }

  backend "s3" {
    bucket       = "autonomous-deployment-terraform-state"
    region       = "us-west-2"
    use_lockfile = true
  }
}

provider "aws" {
  profile = "default"
  region  = "us-west-2"
  alias   = "tf_state"
}

provider "aws" {
  profile = local.aws_account
  region  = var.cloud_region
}

provider "helm" {
  kubernetes {
    config_path = module.kubeconfig.path
  }
}

provider "kubernetes" {
  config_path = module.kubeconfig.path
}

provider "kubectl" {
  config_path = module.kubeconfig.path
}

provider "alicloud" {
  profile = local.alicloud_account
  region  = var.cloud_region
}

provider "alicloud" {
  profile = local.alicloud_account
  region  = "ap-southeast-1"
  alias   = "cr"
}

data "local_command" "git_rev_parse" {
  command   = "git"
  arguments = ["rev-parse", "HEAD"]
}

output "apply_commit" {
  value = chomp(data.local_command.git_rev_parse.stdout)
}
