apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app.kubernetes.io/component: server
    app.kubernetes.io/managed-by: karavel
    app.kubernetes.io/name: argocd-server
    app.kubernetes.io/part-of: argocd
    app.kubernetes.io/version: 2.2.0
    karavel.io/component-name: argocd
    karavel.io/component-version: 0.1.0-SNAPSHOT
  name: argocd-server
  namespace: argocd
spec:
  revisionHistoryLimit: 5
  selector:
    matchLabels:
      app.kubernetes.io/component: server
      app.kubernetes.io/managed-by: karavel
      app.kubernetes.io/name: argocd-server
      app.kubernetes.io/part-of: argocd
      karavel.io/component-name: argocd
  template:
    metadata:
      labels:
        app.kubernetes.io/component: server
        app.kubernetes.io/managed-by: karavel
        app.kubernetes.io/name: argocd-server
        app.kubernetes.io/part-of: argocd
        app.kubernetes.io/version: 2.2.0
        karavel.io/component-name: argocd
        karavel.io/component-version: 0.1.0-SNAPSHOT
    spec:
      containers:
      - command:
        - argocd-server
        - --staticassets
        - /shared/app
        - --repo-server
        - argocd-repo-server:8081
        - --logformat
        - text
        - --loglevel
        - info
        - --redis
        - argocd-redis:6379
        - --insecure
        image: quay.io/argoproj/argocd:v2.2.0
        imagePullPolicy: IfNotPresent
        livenessProbe:
          failureThreshold: 3
          httpGet:
            path: /healthz
            port: 8080
          initialDelaySeconds: 10
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 1
        name: server
        ports:
        - containerPort: 443
          name: https
          protocol: TCP
        - containerPort: 8080
          name: server
          protocol: TCP
        - containerPort: 8083
          name: metrics
          protocol: TCP
        readinessProbe:
          failureThreshold: 3
          httpGet:
            path: /healthz
            port: 8080
          initialDelaySeconds: 10
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 1
        resources:
          limits:
            cpu: 100m
            memory: 128Mi
        volumeMounts:
        - mountPath: /app/config/ssh
          name: ssh-known-hosts
        - mountPath: /app/config/tls                                                                                                                        │
          name: tls-certs
      priorityClassName: system-cluster-critical
      serviceAccountName: argocd-server
      volumes:
      - emptyDir: {}
        name: static-files
      - configMap:
          defaultMode: 420
          name: argocd-ssh-known-hosts-cm
        name: ssh-known-hosts
      - configMap:
          defaultMode: 420
          name: argocd-tls-certs-cm
        name: tls-certs
