from:
  - mongodb/standalone
  - elastic/elasticsearch/standalone
  - gravitee-io/oss/apim/base
vars:
  mongodb:
    standalone:
      imageTag:
        default: "7"
      imageRepository:
        default: "mongo"
  elastic:
    elasticsearch:
      standalone:
        imageTag:
          default: "9.3.1"
        imageRepository:
          default: "docker.elastic.co/elasticsearch/elasticsearch"
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/apim?connectTimeoutMS=30000
        api:
          ingress:
            enabled: false
          service:
            type: NodePort
            nodePort: 30083
          env:
            - name: MANAGEMENT_MONGODB_TRANSACTIONAL
              value: "false"
