application_api_version: v1beta1
properties:
  APP_INSTANCE_NAME:
    type: string
    x-google-marketplace:
      type: NAME
  NAMESPACE:
    type: string
    x-google-marketplace:
      type: NAMESPACE
  SPARK_OPERATOR_IMAGE:
    type: string
    default: $REGISTRY:$TAG
    x-google-marketplace:
      type: IMAGE
  SERVICE_ACCOUNT:
    type: string
    title: Cluster Admin Service Account
    description: >-
      Name of a service account in the target namespace that
      has cluster-admin permissions. This is needed for the operator
      to create Spark CRD and jobs.
    x-google-marketplace:
      type: SERVICE_ACCOUNT
      serviceAccount:
        description: Service account used by Spark Operator
        # TODO(liyinan926): Review permission set.
        roles:
        - type: ClusterRole
          rulesType: CUSTOM
          rules:
          - apiGroups: [""]
            resources:
            - endpoints
            - pods
            - nodes
            verbs:
            - get
            - list
required:
- APP_INSTANCE_NAME
- NAMESPACE
- SPARK_OPERATOR_IMAGE
- SERVICE_ACCOUNT
