Size: a a a

2019 April 17

VT

Victor Tur in terraform_ru
Anton Olifir
а чем плохи воркспейсы для разделения стейта? я думал делать как вы советуете, выдавать стейт через параметр, но воркспейсы тот же функционал обеспечивают, о чем там и написано в мануале, это их единственное предназначение фактичеси.
воркспейс очень простой механизм как пробка.
и в тоже время с ним легко выстрелить себе в ногу.
источник

VT

Victor Tur in terraform_ru
то как это заложили в hashicorp - один бакет, много стейтов.
это из коробки работает вполне норм.
но реалии другие. Люди хотят много аккаунтов, несколько бакетов, строгие разграничения.
источник

IZ

I Z in terraform_ru
Victor Tur
воркспейс очень простой механизм как пробка.
и в тоже время с ним легко выстрелить себе в ногу.
Пожалуй соглашусь
источник

IZ

I Z in terraform_ru
выстрелить себе в ногу - только так
источник

IZ

I Z in terraform_ru
даже если твоя инфраструктура провиженится через дженкинс онли
источник

VT

Victor Tur in terraform_ru
это можно провернуть и с workspace'ами, и у меня даже есть такой проект к сожалению, но он мне не нравится.
слишком сложно объяснить админам заказчика.
как разделить и продолжать использовать workspaces
источник

VT

Victor Tur in terraform_ru
красивее получается с враппером и default workspaces,
всё понятно для всех.
сложность только в секретах и если люди хотят руками дёргать скрипты без ci/cd и доп тулов.
я про gpg, ротацию секретов, новые рабочие руки.
источник

VT

Victor Tur in terraform_ru
а так:
infra/{general,network,app,db}
modules/{s3,rds,ec2,asg,cf}
conf/{dev,staging,prod}
никакой магии
источник

VT

Victor Tur in terraform_ru
можно и terragrunt прикрутить...и открутить :) прикрутить свою балалайку.
источник

VT

Victor Tur in terraform_ru
Для пытливых умов "Когда уже будет 0.12?",
https://github.com/hashicorp/terraform/milestones/v0.12.0
если есть чем помочь Мартину - welcome :)
мне ума пока не хватило в hcl2 разобраться, в кишочках.
источник

DZ

Dmytro Zavalkin in terraform_ru
Victor Tur
можно и terragrunt прикрутить...и открутить :) прикрутить свою балалайку.
имхо лучше террагрант, на одной из прошлых работ накостылили свой враппер на питоне который для каждого env dev/prod симлинкал код, устанавливал переменные и т.д.

имхо если уж костылить то лучше через direnv устанавливать TF_CLI_ARGS и другие переменные и т.д. в зависимости от текущей директории, это хотя бы до какой-то степени стандартный инструмент а не левый скрипт
источник

RG

Roman Gorodeckij in terraform_ru
Почему у вас так все сложно
источник

RG

Roman Gorodeckij in terraform_ru
Модули есть какие вообще проблемы то :)
источник

VT

Victor Tur in terraform_ru
Dmytro Zavalkin
имхо лучше террагрант, на одной из прошлых работ накостылили свой враппер на питоне который для каждого env dev/prod симлинкал код, устанавливал переменные и т.д.

имхо если уж костылить то лучше через direnv устанавливать TF_CLI_ARGS и другие переменные и т.д. в зависимости от текущей директории, это хотя бы до какой-то степени стандартный инструмент а не левый скрипт
python слишком сложен для понимания.
нет ничего плохого в простом bash враппере на ~300 строк примитивного кода.
в основном комментариев.
источник

RG

Roman Gorodeckij in terraform_ru
Тебе проще баш читать чем питон )))?
источник

DZ

Dmytro Zavalkin in terraform_ru
Victor Tur
python слишком сложен для понимания.
нет ничего плохого в простом bash враппере на ~300 строк примитивного кода.
в основном комментариев.
так вроде и я об этом
источник

VT

Victor Tur in terraform_ru
я уже говорил - terragrunt слишком сложно для людей не сведующих)
тут им на два часа terraform рассказываешь,
а потом какой-то ещё terragrunt зачем-то.
они головами кивают, а потом ещё пару дней мучают тебя вопросами и просят накидать простенький скрипт.
источник

DZ

Dmytro Zavalkin in terraform_ru
direnv это ж считай запустить баш скрипт при cd в директорию
источник

VT

Victor Tur in terraform_ru
Roman Gorodeckij
Тебе проще баш читать чем питон )))?
зависит от кейса.
если это примитивный враппер или простая задача - да.
если это уже требует более сложной логики - то питон.
если надо ещё и чтобы надолго и распределённо - то теперь ещё и go)
источник

DZ

Dmytro Zavalkin in terraform_ru
имхо зависит от аудитории ещё, иногда лучше баш скрипт или го бинарь сделать чем питон с зависимостью на сам питон и либо requirements.txt либо setup.py и т.д.
источник