OpenTofu와 MinIO를 활용한 백엔드 스토리지 구성 방법

MinIO보다 다른 글에서 consul를 이용한 설정을 더 추천함…MinIO는 lock기능이 없음.

OpenTofu

OpenTF로 명명된 OpenTofu는 오픈 소스, 커뮤니티 기반 및 Linux Foundation에서 관리하는 Terraform의 포크입니다.

MinIO 버킷 생성

버전관리 활성해서 생성 추천.

mc mb ${alias}/${bucket}

테스트 예제

terraform {
  required_version = ">= 1.0.0"

  backend "s3" {
    endpoint                    = "https://s3.example.com:9000"
    #key                         = "path/to/my/key" #주석처리하면 로컬에 안생김
    region                      = "ap-northeast-2" #aws 참고해서 그냥 넣음
    access_key = "${minio에서 생성}"
    secret_key = "${minio에서 생성}"
    skip_requesting_account_id  = true
    skip_credentials_validation = true
    #skip_get_ec2_platforms      = true
    skip_metadata_api_check     = true
    skip_region_validation      = true
    force_path_style            = true
  }
}

#테스트 예제
resource "local_file" "abc" {
  content  = "abc!"
  filename = "${path.module}/abc.txt"
}

#resource "local_file" "def" {
#  content  = "def!"
#  filename = "${path.module}/def.txt"
#}