from:
  - mongodb/standalone
  - elastic/elasticsearch/standalone
  - gravitee.io/oss/apim/base
components:
  - name: mongodb
    namespace: gravitee
    k8s:
      manifests:
        - apiVersion: v1
          kind: Service
          metadata:
            name: mongodb
            labels:
              app: mongodb
          spec:
            type: ClusterIP
            ports:
              - port: 27017
                targetPort: 27017
                name: mongodb
            selector:
              app: mongodb
  - name: elasticsearch
    namespace: gravitee
    helm:
      values:
        service:
          type: ClusterIP
          nodePort: null
  - name: apim
    requires:
      - component: mongodb
        conditions:
          ready: true
        selector:
          matchLabels:
            app: mongodb
        timeout: 15m
      - component: elasticsearch
        conditions:
          ready: true
        selector:
          matchLabels:
            app: elasticsearch-master
        timeout: 15m
    helm:
      values:
        mongo:
          uri: mongodb://mongodb:27017/gravitee?connectTimeoutMS=30000
        api:
          ingress:
            enabled: false
          service:
            type: NodePort
            nodePort: 30083
          env:
            - name: MANAGEMENT_MONGODB_TRANSACTIONAL
              value: "false"
