apiVersion: apps/v1
kind: Deployment
metadata:
  name: prometheus
  namespace: flux-system
spec:
  replicas: 1
  selector:
    matchLabels:
      app: prometheus
  template:
    metadata:
      labels:
        app: prometheus
      annotations:
        appmesh.k8s.aws/sidecarInjectorWebhook: disabled
        sidecar.istio.io/inject: "false"
    spec:
      serviceAccountName: prometheus
      containers:
          - name: prometheus
            image: prom/prometheus:v2.21.0
            imagePullPolicy: IfNotPresent
            args:
              - '--storage.tsdb.retention=2h'
              - '--config.file=/etc/prometheus/prometheus.yml'
            ports:
              - containerPort: 9090
                name: http
            livenessProbe:
              httpGet:
                path: /-/healthy
                port: 9090
            readinessProbe:
              httpGet:
                path: /-/ready
                port: 9090
            resources:
              requests:
                cpu: 10m
                memory: 128Mi
            volumeMounts:
              - name: config-volume
                mountPath: /etc/prometheus
              - name: data-volume
                mountPath: /prometheus/data
      volumes:
        - name: config-volume
          configMap:
            name: prometheus
        - name: data-volume
          emptyDir: {}