fix: broaden CRD ignoreDifferences for argo-rollouts sync #224

Merged
admin merged 1 commits from fix/argo-rollouts-crd-sync into main 2026-02-22 21:05:13 +01:00
Owner

Use jqPathExpressions to ignore .metadata and .spec.versions schema on CRDs that drift due to ServerSideApply.

Use jqPathExpressions to ignore .metadata and .spec.versions schema on CRDs that drift due to ServerSideApply.
claude added 1 commit 2026-02-22 21:04:12 +01:00
fix: broaden CRD ignoreDifferences for argo-rollouts
All checks were successful
AI Review / AI Code Review (pull_request) Successful in 1s
PR Checks / Validate & Security Scan (pull_request) Successful in 10s
1b353559ce
Use jqPathExpressions to ignore entire .metadata and .spec.versions
schema sections on CRDs, which drift due to ServerSideApply field
manager changes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Author
Owner

AI Code Review

Отлично, я проанализирую эту PR по K8s manifests.

Обзор PR

Тип изменения: ArgoCD ignoreDifferences для argo-rollouts CRD
Цель: исправить дрифт CRD из-за ServerSideApply


Анализ

Безопасность

  • Нет изменений в безопасности.
  • Это чистая конфигурация ArgoCD (синхронизация).

⚠️ Проблемы

  1. Слишком широкое игнорирование .metadata

    • Игнорируется ВСЕ .metadata (labels, annotations, ownerReferences, finalizers и т.д.)
    • Исходный список был точнее: только /metadata/labels, /metadata/annotations
    • Рекомендация: Вернуть к точному списку либо явно указать:
      jqPathExpressions:
        - .metadata.labels
        - .metadata.annotations
        - .spec.versions[]?.schema
      
  2. .spec.versions[]?.schema — потенциально избыточно

    • Игнорируется схема для ВСЕХ версий CRD
    • Если схема изменилась в новой версии Helm-чарта, это изменение будет проигнорировано (drift не будет видно)
    • Вопрос: Нужно ли игнорировать schema или это скрывает реальные обновления?
  3. Отсутствует /spec/names/shortNames

    • Исходный PR игнорировал shortNames явно
    • Новая версия это убрала — это намеренно или забыто?
  4. jqPathExpressions vs jsonPointers

    • Миграция на jqPathExpressions усложняет отладку (требует знания jq синтаксиса)
    • jsonPointers были понятнее и работали корректно
    • Вопрос: есть ли причина для смены подхода? (обсудить в комментарии)

Рекомендации

jqPathExpressions:
  - .metadata.labels
  - .metadata.annotations
  - .spec.names.shortNames
  - .spec.versions[]?.schema

Или, если schema действительно должна игнорироваться, добавить комментарий с обоснованием.

Вердикт: Одобрить с замечаниями. Попросить уточнить намерение по .metadata и .spec.versions[]?.schema перед мержем.


Automated review by Claude Haiku | advisory, does not block merge

## AI Code Review Отлично, я проанализирую эту PR по K8s manifests. ## Обзор PR **Тип изменения:** ArgoCD ignoreDifferences для argo-rollouts CRD **Цель:** исправить дрифт CRD из-за ServerSideApply --- ## Анализ ### ✅ Безопасность - Нет изменений в безопасности. - Это чистая конфигурация ArgoCD (синхронизация). ### ⚠️ Проблемы 1. **Слишком широкое игнорирование `.metadata`** - Игнорируется ВСЕ `.metadata` (labels, annotations, ownerReferences, finalizers и т.д.) - Исходный список был точнее: только `/metadata/labels`, `/metadata/annotations` - **Рекомендация:** Вернуть к точному списку либо явно указать: ```yaml jqPathExpressions: - .metadata.labels - .metadata.annotations - .spec.versions[]?.schema ``` 2. **`.spec.versions[]?.schema` — потенциально избыточно** - Игнорируется схема для ВСЕХ версий CRD - Если схема изменилась в новой версии Helm-чарта, это изменение будет проигнорировано (drift не будет видно) - **Вопрос:** Нужно ли игнорировать schema или это скрывает реальные обновления? 3. **Отсутствует `/spec/names/shortNames`** - Исходный PR игнорировал `shortNames` явно - Новая версия это убрала — это намеренно или забыто? 4. **jqPathExpressions vs jsonPointers** - Миграция на `jqPathExpressions` усложняет отладку (требует знания jq синтаксиса) - `jsonPointers` были понятнее и работали корректно - **Вопрос:** есть ли причина для смены подхода? (обсудить в комментарии) --- ## Рекомендации ```yaml jqPathExpressions: - .metadata.labels - .metadata.annotations - .spec.names.shortNames - .spec.versions[]?.schema ``` Или, если `schema` действительно должна игнорироваться, добавить комментарий с обоснованием. **Вердикт:** Одобрить с замечаниями. Попросить уточнить намерение по `.metadata` и `.spec.versions[]?.schema` перед мержем. --- _Automated review by Claude Haiku | advisory, does not block merge_
admin merged commit 56f95adf1f into main 2026-02-22 21:05:13 +01:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: claude/k8s-apps#224
No description provided.