Files
tf_provider/prompt_for_opus_bugs.md
T

54 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Prompt for Opus — поиск багов в 3 файлах
Проверь эти 3 конкретных файла на баги, аналогичные `skip_missing_on_delete` (провайдерский параметр с плохим дефолтом, которого нет в API YAML).
## Файл 1: Шаблон генератора
`/home/naeel/tf_provider/TOOLS/resource-generator/internal/templates/templates.go`
Смотри все хардкодженные атрибуты (НЕ из `.SchemaParams` / `.OutputParams`):
- `resource_name`
- `operation_timeout`
- `log_level`
- `suspend_on_destroy`
- `adopt_existing_on_create`
- `skip_missing_on_delete`
- `git_revision`
- `{service}_id`
Вопросы:
- У каждого: правильный ли дефолт?
- Не создаёт ли проблем при параллельных/повторных apply?
- `skip_missing_on_delete` с дефолтом `false` — уже известный баг. Есть ли другие?
## Файл 2: CRUD-логика
`/home/naeel/tf_provider/provider/internal/resources_core/crud.go`
Вопросы:
- `FindSubresourceInStateOut` — не должна ли проверка молча пропускать удаление?
- `IsSubresourceMissingError` — все ли ошибки ловит?
- `adoptExistingInstanceOnCreate` — есть ли гонки при параллельном adopt?
## Файл 3: Сгенерированный subresource
`/home/naeel/tf_provider/generated/test/go/90_postgres_database_resource.go`
Вопросы:
- Delete (строки 251-330): правильный ли handling "объект уже удалён"?
- Create: что при duplicate?
- `skipMissingOnDelete` — везде ли корректно?
## Что искать
1. Ошибки вместо идемпотентности (delete/create должны быть идемпотентны)
2. Плохие дефолты (как `skip_missing_on_delete=false`)
3. Гонки при параллельных операциях
4. Провайдерские параметры не из API — все ли оправданы?
## Контекст
- API не поддерживает параллельные операции на одном инстансе
- Subresource delete падает с ошибкой если объект уже удалён
- `skip_missing_on_delete` — костыль для обхода, дефолт `false` (баг)
- Уже добавлен instance-level mutex в v5.0.63
## Формат ответа
Для каждого бага: `файл:строка` → симптом → причина → исправление.
Не читай другие файлы без необходимости.