簡體   English   中英

如何將terraform與atlassian / localstack集成?

[英]How to integrate terraform with atlassian/localstack?

Terraform可以配置自定義S3端點 ,似乎localstack可以為S3,SES,Cloudformation和其他少數服務創建本地堆棧。

問題是在Terraform配置中寫什么來使用localstack的S3端點?

Terraform並未正式支持“AWS-workalike”系統,因為它們通常與AWS本身存在微妙的怪癖和差異。 但是,它是盡力支持的,如果localstack能夠為Terraform的目的提供足夠逼真的S3印象,則可能會有效。

根據localstack文檔,默認情況下,S3 API在http://localhost:4572公開,因此以這種方式設置自定義端點可能有效:

provider "aws" {
  endpoints {
    s3 = "http://localhost:4572"
  }
}

根據localstack的功能,您可能需要設置一些其他設置:

  • s3_force_path_style為存儲桶和對象使用基於路徑的尋址方案。
  • skip_credentials_validation ,因為localstack似乎缺少AWS令牌服務的實現。
  • skip_metadata_api_check如果不使用IAM樣式的憑據,則阻止Terraform嘗試從EC2元數據API獲取憑據。

建立@ martin-atkins的答案,這是一個與Localstack一起使用的示例Terraform文件:

provider "aws" {
  region = "us-east-1"
  access_key = "anaccesskey"
  secret_key = "asecretkey"
  skip_credentials_validation = true
  skip_metadata_api_check = true
  s3_force_path_style = true
  endpoints {
    s3 = "http://localhost:4572"
  }
}

resource "aws_s3_bucket" "b" {
  bucket = "my-tf-test-bucket"
  acl    = "public-read"
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM