linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
Intro
Lessons
Footer
linuxlab-УчебникиЦеныО платформеКонфиденциальность и куки
Copyright © 2026 LinuxLab. Все права защищены.
linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
  • Введение
  • Уроки
  • How it works
  • База знаний
  • Шпаргалка
  • Capstone
  • Собеседование
home/terraform/kb/CI/CD

kb/cicd

CI/CD для Terraform: pre-commit, plan-as-artifact, OIDC, drift

Конвейер для Terraform: pre-commit с `fmt -check`/`validate`/`tflint`, plan-файл как артефакт между PR-job и apply-job, passwordless OIDC к AWS из GitHub Actions, policy gate на plan.json через OPA, scheduled drift-detection. Production-workflow, который не падает на каждом merge.

  • tf-oidc-awsOIDC между GitHub Actions и AWS, без access keys

    Раньше CI-runner ходил в AWS с долгоживущим access key. OIDC переворачивает это: GitHub выдаёт workflow signed JWT, STS обменивает на временные credentials через AssumeRoleWithWebIdentity. Никаких secrets, scope роли сужается до repo+branch+env. Три артефакта: IAM OIDC-провайдер, IAM-роль с trust policy, workflow с `id-token: write`.

  • tf-policy-as-codeOPA + Rego, policy as code для Terraform plan

    Policy-as-code = правила («все S3 шифрованы», «никаких IAM с *») написаны кодом, гонятся в CI, fail'ят PR. OPA, стандарт, Rego, язык. conftest, обёртка с CLI-friendly выводом; читает plan.json, прогоняет правила, exit 0/1. Зрелее и дороже на старте, чем Checkov, но позволяет cross-resource правила любой сложности.

  • tf-plan-apply-ciPlan-as-artifact и automation mode в CI

    В CI plan-job создаёт `plan.tfplan`, грузит как артефакт. Apply-job скачивает артефакт и применяет ровно его, никакого нового plan на apply-стадии. Это гарантирует: то что показали reviewer'у в PR ровно то, что применилось. Все команды с `-input=false`, `-no-color`, `-lock-timeout` чтобы автоматизация не зависала. Plan-файл содержит sensitive, обращайся с ним как с секретом.

Footer
linuxlab-
Copyright © 2026 LinuxLab. Все права защищены.
Учебники
Цены
О платформе
Конфиденциальность и куки