Skip to content
Snippets Groups Projects
argocd.yaml.tmpl 3.87 KiB
Newer Older
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
Rob Kooper's avatar
Rob Kooper committed
  name: ${cluster_name}-cluster
  labels:
    cluster: ${cluster_name}
    app: infrastructure
  namespace: argocd
  annotations:
    %{~ for a in argocd_annotations ~}
    ${a}
    %{~ endfor ~}
spec:
  project: ${cluster_name}
  destination:
    server: https://kubernetes.default.svc
    namespace: argocd
  syncPolicy:
    %{~ if argocd_sync ~}
    automated:
      prune: true
      selfHeal: true
      allowEmpty: false
    %{~ endif ~}
    syncOptions:
      - CreateNamespace=true
  source:
    repoURL: ${argocd_repo_url}
    path: charts/apps
    targetRevision: ${argocd_repo_version}
    helm:
      version: v3
      releaseName: ${cluster_name}
      values: |
        cluster:
          name: ${cluster_name}
          url: ${argocd_url}
          rancher:
            id: ${cluster_kube_id}

        openstack:
          project: ${openstack_project}
          auth_url: ${openstack_url}
Rob Kooper's avatar
Rob Kooper committed
          region: ${openstack_region_name}
          credential_id: ${openstack_credential_id}
          credential_secret: ${openstack_credential_secret}

        sync: ${argocd_sync}

        notifications:
          %{~ for a in argocd_annotations ~}
          ${a}
          %{~ endfor ~}

        metallb:
          enabled: ${metallb_enabled}
          %{~ if metallb_enabled ~}
          addresses:
          %{~ for ip in floating_ip ~}
            %{~ if ip.private_ip != "" ~}
            - ${ip.private_ip}/32
            %{~ endif ~}
          %{~ endfor ~}
          %{~ endif ~}

        ingresscontroller:
          enabled: ${ingress_controller_enabled}
          %{~ if ingress_controller_enabled ~}
Rob Kooper's avatar
Rob Kooper committed
          %{~ if ingress_controller == "traefik2" ~}
          class: traefik
          %{~ else ~}
          class: ${ingress_controller}
Rob Kooper's avatar
Rob Kooper committed
          %{~ endif ~}
          %{~ if length(floating_ip) > 0 ~}
          publicIP: ${floating_ip[0].public_ip}
          privateIP: ${floating_ip[0].private_ip}
          %{~ endif ~}
Rob Kooper's avatar
Rob Kooper committed
          %{~ if ingress_controller == "traefik" ||  ingress_controller == "traefik2" ~}
          traefik:
            storageClass: "${traefik_storageclass}"
            acme:
              staging: ${acme_staging} 
              %{~ if (acme_staging) ~}
              server: https://acme-staging-v02.api.letsencrypt.org/directory
              %{~ else ~}
              server: https://acme-v02.api.letsencrypt.org/directory
              %{~ endif ~}
              email: ${acme_email}
            ports:
Rob Kooper's avatar
Rob Kooper committed
              ${traefik_ports}
          %{~ endif ~}
          %{~ endif ~}
        sealedsecrets:
          enabled: ${sealedsecrets_enabled}

        monitoring:
          enabled: ${monitoring_enabled}
        healthmonitor:
          enabled: ${healthmonitor_enabled}
          %{~ if healthmonitor_enabled ~}
          nfs: ${healthmonitor_nfs}
          existingSecret: ${healthmonitor_secrets}
          %{~ endif ~}
        nfs:
          enabled: ${nfs_enabled}
          %{~ if nfs_enabled ~}
          servers:
            taiga:
              server: taiga-nfs.ncsa.illinois.edu
              path: "/taiga/ncsa/radiant/${openstack_project}"
              defaultClass: true
          %{~ endif ~}
Rob Kooper's avatar
Rob Kooper committed

        longhorn:
          enabled: ${longhorn_enabled}
          %{~ if longhorn_enabled ~}
          replicas: ${longhorn_replicas}
          %{~ endif ~}

        cinder:
          enabled: ${cinder_enabled}
Rob Kooper's avatar
Rob Kooper committed

        manila:
          enabled: ${manila_enabled}
          %{~ if manila_enabled ~}
Rob Kooper's avatar
Rob Kooper committed
          protocols:
          %{~ if manila_nfs_enabled ~}
            - name: NFS
              storageClass: true
              fsGroupPolicy: None
              type: default
          %{~ endif ~}
          %{~ if manila_cephfs_enabled ~}
Rob Kooper's avatar
Rob Kooper committed
            - name: CEPHFS
Rob Kooper's avatar
Rob Kooper committed
              storageClass: true
              fsGroupPolicy: None
              type: ${manila_cephfs_type}
          %{~ endif ~}