Size: a a a

2019 August 29

b

bykva in terraform_ru
Я посмотрел всевозможные логи кроме нужных. А нужно было идти в тиллер и смотреть его. Проблема была в том что сервис ожидает лоад балансера и не получает его. Поправил и всё завелось
источник

S

Slach in terraform_ru
bykva
Я посмотрел всевозможные логи кроме нужных. А нужно было идти в тиллер и смотреть его. Проблема была в том что сервис ожидает лоад балансера и не получает его. Поправил и всё завелось
ну то есть проблема за скопом терраформа, ок ;-)
источник

b

bykva in terraform_ru
Да, все верно. Кроме того что модуль не отдает никакого адекватного сообщения об ошибке
источник

AK

Andrey Kartashov in terraform_ru
Grisha Tatsiy
Ребзя, а расскажите плиз свой флоу использования terraform в команде?
apple через CI? или каждый девопс юзает у себя и пушит в репу?
Tf не очень подходящий инструмент для ci. Разве что для подготовки одинаковых временных окружений из одного и того же кода, который уже протестирован
источник

AK

Alexander Kovalev in terraform_ru
Andrey Kartashov
Tf не очень подходящий инструмент для ci. Разве что для подготовки одинаковых временных окружений из одного и того же кода, который уже протестирован
а что подходящее? ансибл так-то еще хуже подходит
источник

AK

Andrey Kartashov in terraform_ru
Alexander Kovalev
а что подходящее? ансибл так-то еще хуже подходит
ci - это сборка и тестирование софта, в основном. каким боком тут вообще tf?
источник

AK

Alexander Kovalev in terraform_ru
ну, во-первых, если верить классикам типа Фаулера, ci - это частая синхронизация кода, сборка и тестирование тут сбоку рядом
во-вторых, ансибл терраформ вполне попадают под определение кода. По крайней мере, кмк, понятие Infrastructure as a code не означает просто синхронизацию лога/стейта с гитом, а полноценную работу как с кодом - с пул реквестами, ревью и тестированием
в третьих, как-то ссыкотно накатывать скрипты, не зная, насколько они актуальные и рабочие
источник

AK

Alexander Kovalev in terraform_ru
отвечая на топикстартер - катаем только через ci, руками не запускаем ибо слишком сложно подлезать
изолированная сеть, в которой доступ к опенстеку, без инета, к которой еще подлезь чтобы запустить
источник

NS

Nikita Shinkevich in terraform_ru
Малоли не видели.
источник

NS

Nikita Shinkevich in terraform_ru
Подьехали сертификации от HashiCorp:

HashiCorp Certified: Terraform Associate
HashiCorp Certified: Vault Associate

После 9го сентября, станут доступны для всех, пока только для посетителей HashiConf US
https://www.hashicorp.com/certification

Для справки Terraform — это замечательная утилита от компании HashiCorp (создатели Vagrant, Consul и некоторых других широко известных в узких кругах инструментов). С её помощью можно моделировать, хранить и изменять облачную инфраструктуру в виде простых шаблонов на языке HCL (HashiCorp Configuration Language). Поддерживает огромное количество провайдеров, в том числе и Azure (https://www.terraform.io/docs/providers/)
источник

VT

Victor Tur in terraform_ru
спасибо @stCarolas 👍
конечно у всех своя кухня - но в идеале любой код должен быть протестирован.
И тот, который управляет инфраструктурой, провижененгом тоже - да.
Банальщина - проверка кода на корректность, на соответствие. Особенно отдельные структурные модули.
источник

VT

Victor Tur in terraform_ru
Nikita Shinkevich
Малоли не видели.
Круто :) спасибо.
Attendees of HashiConf US in Seattle will have the opportunity to take a beta exam for free. Regular price exams will be released to a larger audience at a later date.
источник

РР

Роман Рахманин in terraform_ru
Нормальный там список вопросов. Хотеть.
источник
2019 August 30

U

UNCIA in terraform_ru
Привет! Помогите, пожалуйста - уже всю голову сломал:
Есть цикл, в цикле. на выходе 2 объекта с map. Как смержить эти 2 мапа в один?

т.е.:

iam_role_policy = [
 for role , value in local.iam_roles:
   {
     for policy_name , policy_arn in value.policy : "${value.role_name}-${policy_name}" => {
     policy_name = policy_name
     policy_arn = policy_arn
     }
   }
 ]


{
   "name1 = {
     "policy_arn" = "arn:aws:iam::aws:policy/AWSIoTFullAccess"
     "policy_name" = "AWSIoTFullAccess"
   }
   "name2" = {
     "policy_arn" = "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
     "policy_name" = "AWSLambdaBasicExecutionRole"
   }
 },
 {
   "name3" = {
     "policy_arn" = "arn:aws:iam::aws:policy/AWSIoTFullAccess"
     "policy_name" = "AWSIoTFullAccess"
   }
   "name4" = {
     "policy_arn" = "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
     "policy_name" = "AWSLambdaBasicExecutionRole"
   }
 },

Мне нужно:
{
   "name1 = {
     "policy_arn" = "arn:aws:iam::aws:policy/AWSIoTFullAccess"
     "policy_name" = "AWSIoTFullAccess"
   }
   "name2" = {
     "policy_arn" = "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
     "policy_name" = "AWSLambdaBasicExecutionRole"
   }
   "name3" = {
     "policy_arn" = "arn:aws:iam::aws:policy/AWSIoTFullAccess"
     "policy_name" = "AWSIoTFullAccess"
   }
   "name4" = {
     "policy_arn" = "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
     "policy_name" = "AWSLambdaBasicExecutionRole"
   }
}
источник

РР

Роман Рахманин in terraform_ru
Merge функция
источник

РР

Роман Рахманин in terraform_ru
В чем проблема?)
источник

U

UNCIA in terraform_ru
в том что мерж не работатет. т.к. это 2 объекта
источник

b

bykva in terraform_ru
concat?
источник

РР

Роман Рахманин in terraform_ru
конкат не то сделает. Если они указываются, как object - tomap не канает?
источник
2019 September 01

MV

Maxym Vlasov in terraform_ru
UNCIA
Привет! Помогите, пожалуйста - уже всю голову сломал:
Есть цикл, в цикле. на выходе 2 объекта с map. Как смержить эти 2 мапа в один?

т.е.:

iam_role_policy = [
 for role , value in local.iam_roles:
   {
     for policy_name , policy_arn in value.policy : "${value.role_name}-${policy_name}" => {
     policy_name = policy_name
     policy_arn = policy_arn
     }
   }
 ]


{
   "name1 = {
     "policy_arn" = "arn:aws:iam::aws:policy/AWSIoTFullAccess"
     "policy_name" = "AWSIoTFullAccess"
   }
   "name2" = {
     "policy_arn" = "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
     "policy_name" = "AWSLambdaBasicExecutionRole"
   }
 },
 {
   "name3" = {
     "policy_arn" = "arn:aws:iam::aws:policy/AWSIoTFullAccess"
     "policy_name" = "AWSIoTFullAccess"
   }
   "name4" = {
     "policy_arn" = "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
     "policy_name" = "AWSLambdaBasicExecutionRole"
   }
 },

Мне нужно:
{
   "name1 = {
     "policy_arn" = "arn:aws:iam::aws:policy/AWSIoTFullAccess"
     "policy_name" = "AWSIoTFullAccess"
   }
   "name2" = {
     "policy_arn" = "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
     "policy_name" = "AWSLambdaBasicExecutionRole"
   }
   "name3" = {
     "policy_arn" = "arn:aws:iam::aws:policy/AWSIoTFullAccess"
     "policy_name" = "AWSIoTFullAccess"
   }
   "name4" = {
     "policy_arn" = "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
     "policy_name" = "AWSLambdaBasicExecutionRole"
   }
}
Привет
Вообще, я решал другую проблему (list of maps в list of strings), но если подхачить, то может и вам поможет

https://gist.github.com/MaxymVlasov/e127668ed5b006333d4fafceb9efa222

И по идее может получится через: jsonencode --> replace },{  на , --> tomap/jsondecode
источник