Разделите модуль на понятные базовые компоненты и простой верхнеуровневый профиль с безопасными defaults и небольшим обязательным интерфейсом.
У тебя есть модуль Terraform, который создаёт окружение для новой команды. Сейчас модуль перегружен: у него двадцать параметров и пять вложенных подмодулей, и командам сложно разобраться, что куда передавать. Как бы ты переделал архитектуру модуля, чтобы снизить порог входа, но не потерять гибкость для нестандартных случаев?
Разделите модуль на понятные базовые компоненты и простой верхнеуровневый профиль с безопасными defaults и небольшим обязательным интерфейсом.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Разделите модуль на понятные базовые компоненты и простой верхнеуровневый профиль с безопасными defaults и небольшим обязательным интерфейсом.
Сгруппируйте связанные параметры в типизированные объекты с validation, добавьте примеры типовых окружений. Нестандартные ресурсы подключайте отдельной композицией через outputs. Сохраните версионирование и миграционный путь, чтобы упрощение API не пересоздало существующую инфраструктуру.