---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: gitops-agent
spec:
  strategy:
    type: Recreate
  selector:
    matchLabels:
      app.kubernetes.io/name: gitops-agent
  template:
    metadata:
      labels:
        app.kubernetes.io/name: gitops-agent
    spec:
      containers:
        - name: gitops-agent
          command:
            - gitops
            - /tmp/git/repo
            - --path
            - guestbook
          image: argoproj/gitops-agent:latest
          volumeMounts:
            - name: git
              mountPath: /tmp/git

        - name: git-sync
          env:
            - name: GIT_SYNC_REPO
              value: https://github.com/argoproj/argocd-example-apps
          args:
            - --webhook-url
            - http://localhost:9001/api/v1/sync
            - --dest
            - repo
          image: k8s.gcr.io/git-sync:v3.1.6
          volumeMounts:
            - name: git
              mountPath: /tmp/git

      serviceAccountName: gitops-agent

      volumes:
        - emptyDir: {}
          name: git