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 по окружению.