x-google-marketplace:
  schemaVersion: v2
  applicationApiVersion: v1beta1
  publishedVersion: "$TAG"
  publishedVersionMetadata:
    releaseNote: >-
      A regular update.
    releaseTypes:
      - Feature
    recommended: false

  images:
    '':
      properties:
        prometheus.image.repo:
          type: REPO_WITH_REGISTRY
        prometheus.image.tag:
          type: TAG
    alertmanager:
      properties:
        alertmanager.image:
          type: FULL
    kubestatemetrics:
      properties:
        kubestatemetrics.image:
          type: FULL
    nodeexporter:
      properties:
        nodeexporter.image:
          type: FULL

properties:
  name:
    type: string
    x-google-marketplace:
      type: NAME
  namespace:
    type: string
    x-google-marketplace:
      type: NAMESPACE

  prometheus.serviceAccountName:
    type: string
    title: Prometheus Service Account
    x-google-marketplace:
      type: SERVICE_ACCOUNT
      serviceAccount:
        description: Service account used by Prometheus Statefulset
        roles:
        - type: ClusterRole
          rulesType: CUSTOM
          rules:
          - apiGroups:
            - apps
            resources:
            - statefulsets
            verbs:
            - '*'
          - apiGroups: ["*"]
            resources:
            - endpoints
            - pods
            - nodes
            - services
            - services/finalizers
            - endpoints
            verbs:
            - watch
            - get
            - list
  prometheus.replicas:
    type: integer
    title: Prometheus Replicas
    description: The number of replicas for Prometheus StatefulSet
    default: 2
    minimum: 1

  alertmanager.serviceAccountName:
    type: string
    title: Alert Manager Service Account
    x-google-marketplace:
      type: SERVICE_ACCOUNT
      serviceAccount:
        description: Service account used by AlertManager Statefulset
        roles:
        - type: ClusterRole
          rulesType: CUSTOM
          rules:
          - apiGroups: [""]
            resources:
            - endpoints
            - pods
            - nodes
            verbs:
            - get
            - list

  nodeexporter.serviceAccountName:
    type: string
    title: Node Exporter Service Account
    x-google-marketplace:
      type: SERVICE_ACCOUNT
      serviceAccount:
        description: Service account used by Node Exporter DaemonSet
        roles:
        - type: ClusterRole
          rulesType: CUSTOM
          rules:
          - apiGroups: [""]
            resources:
            - endpoints
            - pods
            - nodes
            verbs:
            - get
            - list

  kubestatemetrics.serviceAccountName:
    type: string
    title: Kube State Metrics Service Account
    x-google-marketplace:
      type: SERVICE_ACCOUNT
      serviceAccount:
        description: Service account used by Kube State Metrics Deployment
        roles:
        - type: ClusterRole
          rulesType: CUSTOM
          rules:
          - apiGroups: [""]
            resources:
            - configmaps
            - secrets
            - nodes
            - pods
            - services
            - resourcequotas
            - replicationcontrollers
            - limitranges
            - persistentvolumeclaims
            - persistentvolumes
            - namespaces
            - endpoints
            - statefulsets
            verbs: ["list", "watch", "get"]
          - apiGroups: ["extensions"]
            resources:
            - daemonsets
            - deployments
            - replicasets
            verbs: ["list", "watch", "get", "update"]
          - apiGroups: ["apps"]
            resources:
            - statefulsets
            - daemonsets
            - deployments
            - replicasets
            verbs: ["get", "list", "watch"]
          - apiGroups: ["batch"]
            resources:
            - cronjobs
            - jobs
            verbs: ["list", "watch"]
          - apiGroups: ["autoscaling"]
            resources:
            - horizontalpodautoscalers
            verbs: ["list", "watch"]
          - apiGroups: ["certificates.k8s.io"]
            resources:
            - certificatesigningrequests
            verbs: ["get", "list", "watch"]
          - apiGroups: ["policy"]
            resources:
            - poddisruptionbudgets
            verbs: ["get", "list", "watch"]
          - apiGroups: ["networking.k8s.io"]
            resources:
            - ingresses
            - networkpolicies
            verbs: ["get", "list", "watch"]
          - apiGroups: ["coordination.k8s.io"]
            resources:
            - leases
            verbs: ["get", "list", "watch"]
          - apiGroups: ["admissionregistration.k8s.io"]
            resources:
            - mutatingwebhookconfigurations
            - validatingwebhookconfigurations
            verbs: ["get", "list", "watch"]
          - apiGroups: ["storage.k8s.io"]
            resources:
            - storageclasses
            - volumeattachments
            verbs: ["get", "list", "watch"]

  prometheus.storageClass:
    type: string
    title: StorageClass
    description: You can choose an existing StorageClass, or create a new one.
    x-google-marketplace:
      type: STORAGE_CLASS
      storageClass:
        type: SSD

required:
- name
- namespace
