advanced
Pulumi
Используйте общие языки, например TypeScript, для декларации ресурсов инфраструктуры, stacks, конфигурации и outputs.
Pulumi описывает инфраструктуру на общих языках, например TypeScript. JavaScript-команды переиспользуют модули, типы, тесты и границы пакетов для компонентов инфраструктуры.
import * as aws from '@pulumi/aws';
const bucket = new aws.s3.Bucket('assets', {
versioning: { enabled: true },
});
export const bucketName = bucket.id;
Stacks разделяют окружения. `pulumi preview` показывает план до `pulumi up`. State и secret outputs всё равно требуют защиты, как в любом IaC.
На интервью: stacks, preview, providers, outputs, secrets, граф зависимостей и сила языка vs сложность review.
Типовые ошибки: императивная логика с непредсказуемыми планами; secret outputs в логах или коммитах; общий state между окружениями.
Компромисс — выразительные TypeScript-абстракции против планов, сложных для review.
Чеклист:
- Preview перед apply.
- Переиспользуемые компоненты с ясными интерфейсами.
- Защита state и secret outputs.
- Границы stack по окружению.