Изменение меток, добавляемых ArgoCD при использовании Helm чартов, не является стандартной функцией, но вы правы в том, что возникают ситуации, когда вам может потребоваться настройка меток для обеспечения совместимости с другими инструментами.
Вот несколько способов, с помощью которых вы можете решить эту задачу:
1. **Использовать Kustomize для изменения меток**: ArgoCD поддерживает Kustomize. Вы можете создать Kustomization файл, который будет изменять метки на твоих ресурсах. Если вы создаете манифесты для ваших Helm чартов с помощью Kustomize, вы можете использовать `commonLabels` или непосредственно изменять метки для конкретных ресурсов.
Пример `kustomization.yaml`:
```yaml
resources:
- ../path-to-your-helm-chart
commonLabels:
app.kubernetes.io/managed-by: argocd
```
После этого в ArgoCD укажите этот Kustomization файл как источник. Это позволит вам заменить метку при деплое.
2. **Использовать измененный Helm Chart**: Если у вас есть доступ к исходным значениями вашего Helm chart, вы можете изменить шаблоны, чтобы убрать метки в манифестах. Например, вы можете добавить условие для метки `app.kubernetes.io/managed-by` и установить её на "argocd", если helm не должен добавлять стандартные метки.
Например, в `templates/deployment.yaml`:
```yaml
metadata:
labels:
app.kubernetes.io/managed-by: {{ default "argocd" .Values.managedBy }}
```
В этом примере, если вы не передаете значение `.Values.managedBy`, будет использоваться "argocd".
3. **Использовать init контейнер для изменения меток**: Вы можете использовать init-контейнер или другой подход для изменения меток на уже созданных ресурсах после их создания. Это менее желательный подход, но возможен в случае необходимости.
4. **Следить за проблемами в GitHub**: Как вы заметили, на GitHub есть открытое обсуждение по этой теме. Подписавшись на его обновления, вы сможете получить информацию о том, когда может появиться официальная поддержка этой функциональности.
К сожалению, ArgoCD на данный момент не поддерживает изменение меток Helm по умолчанию при использовании `helm template`. Выбор наилучшего решения зависит от ваших специфических требований и окружения.