module "apollo_ecr" {
  for_each = local.repositories
  source   = "../../modules/ecr/repository_v1"

  repo_name   = each.key
  ro_accounts = local.ro_accounts
  rw_accounts = local.rw_accounts
  common_tags = local.portal_tags
}

module "apollo_auth_api_ecr" {
  source = "../../modules/ecr/repository_v1"

  repo_name = "${local.platform}/auth-api"
  ro_accounts = concat(local.ro_accounts, [
    module.aws_accounts_list.accounts["gdb-whitelist-dev"],
    module.aws_accounts_list.accounts["gdb-whitelist-prod"],
    module.aws_accounts_list.accounts["gdb-core-dev"],
    module.aws_accounts_list.accounts["gdb-core-prod"],
  ])
  rw_accounts = local.rw_accounts
  common_tags = local.portal_tags
}

module "nginx" {
  source = "../../modules/ecr/repository_v1"

  repo_name = "nginx"
  ro_accounts = concat(local.ro_accounts, [
    module.aws_accounts_list.accounts["gdb-whitelist-dev"],
    module.aws_accounts_list.accounts["gdb-whitelist-prod"],
  ])
  rw_accounts = local.rw_accounts
  common_tags = local.portal_tags
}

module "apollo_ecr_lambda" {
  for_each = local.lambda_repositories
  source   = "../../modules/ecr/repository_v4"

  repo_name   = each.key
  lambda      = true
  ro_accounts = local.ro_accounts
  rw_accounts = local.rw_accounts

  common_tags = local.portal_tags
}

module "registry_replication_policy" {
  source = "../../modules/ecr/registry_policy"

  source_account_id = local.account_id
  target_account_id = module.aws_accounts_list.accounts["gdb-apollo-prod"]

  providers = {
    aws = aws.gdb-apollo-prod
  }
}
