Я хотел бы создать приложение argoCD прямо из репозитория git, т.е. способом gitOps. Я уже создал файл CRD для приложения, который выглядит так:
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: my-service
namespace: argocd
spec:
destination:
namespace: default
server: https://kubernetes.default.svc
syncPolicy:
syncOptions:
- CreateNamespace=true
project: default
source:
path: clusters/helm-chart
repoURL: https://github.com/user/my-repo.git
targetRevision: HEAD
helm:
values: |
image:
repository: user/my-image
pullPolicy: Always
tag: xxx
Мой текущий рабочий процесс заключается в применении этого CRD к моему кластеру с помощью k apply -f application.yaml.
Вопрос: как я могу поручить ArgoCD пойти и синхронизировать/создать приложение, которое я определил в https://github.com/user/my-repo.git, без предварительного создания этого приложения «вручную»?
В какой-то момент вам придется вручную применить манифест к вашему экземпляру ArgoCD.
Вы можете ограничить это одним манифестом, если используете шаблон приложение из приложений, в котором у вас есть репозиторий, содержащий все манифесты вашего приложения ArgoCD.
Вы также можете создавать ApplicationSets для автоматического создания приложений ArgoCD из шаблонов на основе содержимого репозитория git, имен кластеров, зарегистрированных в ArgoCD, и других данных.
Спасибо за ваш комментарий. В итоге я создал набор приложений для создания всех приложений одновременно.