DEV-322: enable ApplicationSet CRD for argoCD; added mechanism to apply defined argocd CRD-objects

master
Görz, Friedrich 4 years ago committed by Ketelsen, Sven
parent 59a409fc32
commit 5fc9e3233a

@ -173,6 +173,53 @@ k8s_argocd_helm__release_values:
- secretName: "{{ stage }}-kube-argocd-cert"
hosts:
- "{{ k8s_argocd_helm__domain }}"
additionalProjects:
- name: infrastructure
namespace: '{{ k8s_argocd_helm__release_namespace }}'
additionalLabels: {}
additionalAnnotations: {}
description: apps needed for maintaining stuff
sourceRepos:
- '*'
destinations:
- namespace: '*'
server: https://kubernetes.default.svc
clusterResourceWhitelist:
- group: '*'
kind: '*'
orphanedResources:
warn: false
additionalApplications:
-
name: awx
namespace: '{{ k8s_argocd_helm__release_namespace }}'
destination:
namespace: awx
server: https://kubernetes.default.svc
project: infrastructure
source:
path: apps/awx
repoURL: https://dev-gitea-01.smardigo.digital/gitea-admin/argocd.git
targetRevision: HEAD
syncPolicy:
automated: {}
syncOptions:
- CreateNamespace=true
-
name: guestbook
namespace: '{{ k8s_argocd_helm__release_namespace }}'
destination:
namespace: guestbook
server: https://kubernetes.default.svc
project: infrastructure
source:
path: apps/guestbook
repoURL: https://dev-gitea-01.smardigo.digital/gitea-admin/argocd.git
targetRevision: HEAD
syncPolicy:
automated: {}
syncOptions:
- CreateNamespace=true
dex:
enabled: false
redis:
@ -186,3 +233,5 @@ k8s_argocd_helm__release_values:
configs:
secret:
argocdServerAdminPassword: '{{ argocd_server_admin_password | password_hash("bcrypt") }}'
k8s_argocd__crd_applicationset_version: v0.4.0

@ -190,3 +190,61 @@
release_values: "{{ combined_helm__release_values }}"
when:
- inventory_hostname == groups['kube_control_plane'][0]
- name: Download argo-cd ApplicationSet CRD
get_url:
url: 'https://raw.githubusercontent.com/argoproj/applicationset/{{ k8s_argocd__crd_applicationset_version }}/manifests/install.yaml'
dest: '/tmp/argocd_ApplicationSet_install_{{ k8s_argocd__crd_applicationset_version }}.yml'
mode: '0440'
when:
- inventory_hostname == groups['kube_control_plane'][0]
- name: Deploy argo-cd ApplicationSet CRD
kubernetes.core.k8s:
state: present
namespace: '{{ k8s_argocd_helm__release_namespace }}'
src: '/tmp/argocd_ApplicationSet_install_{{ k8s_argocd__crd_applicationset_version }}.yml'
when:
- inventory_hostname == groups['kube_control_plane'][0]
#- name: Checkout defined argocd-related objects
# ansible.builtin.git:
# repo: 'https://{{ gitea_admin_username }}:{{ gitea_admin_password }}@dev-gitea-01.smardigo.digital/gitea-admin/argocd.git'
# dest: '/tmp/gitrepo'
# version: master
# when:
# - inventory_hostname == groups['kube_control_plane'][0]
#
#- name: Find file with definition of argocd-AppProjects
# find:
# paths: '/tmp/gitrepo/AppProjects'
# pattern: '*.yml'
# register: appprojects
# when:
# - inventory_hostname == groups['kube_control_plane'][0]
#
#- name: Find file with definition of argocd-ApplicationSets
# find:
# paths: '/tmp/gitrepo/ApplicationSets'
# pattern: '*.yml'
# register: applicationsets
# when:
# - inventory_hostname == groups['kube_control_plane'][0]
#
#- name: Apply defined AppProjects defined in checked out repo
# kubernetes.core.k8s:
# state: present
# namespace: '{{ k8s_argocd_helm__release_namespace }}'
# src: '{{ item.path }}'
# loop: '{{ appprojects.files }}'
# when:
# - inventory_hostname == groups['kube_control_plane'][0]
#
#- name: Apply defined ApplicationSets defined in checked out repo
# kubernetes.core.k8s:
# state: present
# namespace: '{{ k8s_argocd_helm__release_namespace }}'
# src: '{{ item.path }}'
# loop: '{{ applicationsets.files }}'
# when:
# - inventory_hostname == groups['kube_control_plane'][0]

Loading…
Cancel
Save