Террагрант с общей инфраструктурой между платформами - PullRequest
0 голосов
/ 26 июня 2019

структура каталогов

Я использую s3 как бэкэнд удаленного состояния и таблицу DynamodB для блокировки

И платформа1, и платформа2 использовали инфраструктуру общего доступа с общей платформы

Если я сначала попытаюсь создать платформу 1, произойдет сбой, так как зависимости в общем ресурсе не были созданы, то же самое для платформы 2, но если я сначала создаю общую платформу, а затем платформы 1 и 2, то вся инфраструктура будет построена без проблем

Это правильно? Как сначала создать общую среду при попытке создать одну из сред платформы?

Сначала я попытался создать общую среду

корневой файл terragrunt.hcl, т.е. в папке tst1

# Configure Terragrunt to automatically store tfstate files in an S3 bucket
remote_state {
  backend = "s3"

  config = {
      encrypt        = true
      bucket         = "automation-terraform-state"
      key            = "tst1/${path_relative_to_include()}/terraform.tfstate"
      region         = "ap-southeast-2"
      dynamodb_table = "tst-terraform-locks"
  }
}

# Configure root level variables that all resources can inherit. This is especially helpful with multi-account configs
# where terraform_remote_state data sources are placed directly into the modules.
inputs = {
  aws_region            = "ap-southeast-2"
  ami_id                = "ami-0aa5848a455c3ec32"
  vpc_id                = "vpc-7e49e81a"
}

terragrunt.hcl внутри платформы1

terraform {
  source = "git::git@github.com:acme/infrastructure-modules.git//application_lb"
}

# Include all settings from the root terragrunt.hcl file
include {
  path = find_in_parent_folders()
}

inputs = {
...
...
...
}

...