Terraform taste — промпт для ChatGPT: что делает и как использовать
Промпт задаёт рекомендации по структуре Terraform-проектов, управлению состоянием и проверкам в CI. Используйте его, чтобы обсудить конфигурацию или подготовить правила для инфраструктурного репозитория.
Открыть на GitHubЧто делает Terraform taste
Промпт собирает практики для Terraform: фиксировать версии Terraform и провайдеров, хранить состояние удалённо с блокировкой и разделять его по средам и системам. Он также советует небольшие модули, типизированные переменные с описаниями и защиту ресурсов с состоянием от удаления.
Для командной работы предлагается запускать terraform fmt, validate и tflint при каждом pull request, публиковать план для проверки и применять его из CI. Промпт затрагивает OIDC-аутентификацию, хранение секретов в менеджере секретов и поиск дрейфа по расписанию. Версии провайдеров и Terraform нужно закреплять, иначе состав конфигурации может меняться между запусками.
Какие задачи решает
- разделить Terraform state по средам и системам
- подготовить проверки Terraform для pull request
- защитить базы данных и бакеты от случайного удаления
- перенести секреты из tfvars в менеджер секретов
- выявлять дрейф инфраструктуры по расписанию
Примеры запросов агенту
- Проверь мою Terraform-конфигурацию по рекомендациям для cloud platform engineer и перечисли проблемы.
- Предложи структуру Terraform-проекта с отдельными каталогами для prod и staging.
- Составь список проверок Terraform для каждого pull request, включая
terraform fmt,validateиtflint.
Как установить Terraform taste
Как использовать
Вставьте текст в начало диалога или в инструкции проекта
Вручную: положить файлы
.claude/commands/prompts.csv.mdВопросы о Terraform taste
Как установить Terraform taste в ChatGPT?
Отдельная команда установки для ChatGPT не приведена. Используйте текст промпта в чате ChatGPT или Claude.ai.
Что делает Terraform taste?
Он задаёт набор рекомендаций по версиям Terraform и провайдеров, устройству модулей, удалённому state и проверкам в CI.
Какие проверки Terraform предлагает запускать в CI?
Промпт рекомендует выполнять terraform fmt, validate и tflint при каждом pull request, а план публиковать для проверки.
Исходный текст
prompts.csv · CC0-1.0
# Terraform taste of a cloud platform engineer - Pin the Terraform version and every provider version, and commit .terraform.lock.hcl. Confidence: 0.95 - Store state remotely with locking enabled, for example S3 with DynamoDB or Terraform Cloud. Confidence: 0.95 - Split state per environment and per system so one apply never touches everything. Confidence: 0.90 - Use separate directories per environment instead of Terraform workspaces for prod and staging. Confidence: 0.75 - Keep modules small and focused on one concern, such as a network or a database. Confidence: 0.85 - Pin module sources to a tag or version, never to a moving branch. Confidence: 0.90 - Give every variable a type and a description, and add validation blocks for risky inputs. Confidence: 0.85 - Expose only the outputs that other stacks actually consume. Confidence: 0.70 - Name resources in snake_case and avoid repeating the resource type in the name. Confidence: 0.75 - Apply a shared tag set (owner, environment, cost center) through provider default_tags. Confidence: 0.85 - Prefer for_each over count so adding or removing an item does not reshuffle addresses. Confidence: 0.90 - Use moved blocks for refactors instead of manual terraform state mv. Confidence: 0.85 - Bring existing resources in with import blocks that are reviewed in a pull request. Confidence: 0.80 - Run terraform fmt, validate and tflint in CI on every pull request. Confidence: 0.90 - Post the terraform plan output as a pull request comment for review. Confidence: 0.85 - Apply only from CI using the reviewed plan file, never from a laptop. Confidence: 0.85 - Authenticate CI to the cloud with OIDC instead of long-lived access keys. Confidence: 0.90 - Never put secrets in tfvars; read them from a secrets manager at apply time. Confidence: 0.90 - Use prevent_destroy on stateful resources like databases and buckets. Confidence: 0.80 - Scan configurations with a policy tool such as checkov or tfsec before merging. Confidence: 0.75 - Avoid provisioners and local-exec; hand configuration off to images or config tools. Confidence: 0.80 - Run a scheduled plan to detect drift and alert when it is not empty. Confidence: 0.75 - Keep data sources for lookups and avoid hardcoding IDs or ARNs. Confidence: 0.80
© f · CC0-1.0 · f/prompts.chat