---
# Source: indexer-service/templates/service.yaml
#  Copyright © Microsoft Corporation
#
#  Licensed under the Apache License, Version 2.0 (the "License");
#  you may not use this file except in compliance with the License.
#  You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.

apiVersion: v1
kind: Service
metadata:
  name: indexer-service
  namespace: osdu
spec:
  type: ClusterIP
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80
  selector:
    app: indexer-service
---
# Source: indexer-service/templates/deployment.yaml
#  Copyright © Microsoft Corporation
#
#  Licensed under the Apache License, Version 2.0 (the "License");
#  you may not use this file except in compliance with the License.
#  You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: osdu-gitlab-indexer-service
  namespace: osdu
spec:
  replicas: 1
  selector:
    matchLabels:
      app: indexer-service
  template:
    metadata:
      labels:
        app: indexer-service
        aadpodidbinding: osdu-identity
    spec:
      volumes:
      - name: azure-keyvault
        csi:
          driver: secrets-store.csi.k8s.io
          readOnly: true
          volumeAttributes:
            secretProviderClass: azure-keyvault
      containers:
      - name: indexer-service
        image: community.opengroup.org:5555/osdu/platform/system/indexer-service/indexer-service-master:latest
        imagePullPolicy: Always
        ports:
        - containerPort: 80
        readinessProbe:
          httpGet:
            path: /api/indexer/v2/swagger-ui/index.html
            port: 80
        volumeMounts:
        - name: azure-keyvault
          mountPath: "/mnt/azure-keyvault"
          readOnly: true
        env:
        - name: spring_application_name
          value: indexer
        - name: server.servlet.contextPath
          value: /api/indexer/v2/
        - name: server_port
          value: "80"
        - name: ACCEPT_HTTP  # TEMPORARY UNTIL HTTPS
          value: "true"
        - name: KEYVAULT_URI
          valueFrom:
            configMapKeyRef:
              name: osdu-svc-properties
              key: ENV_KEYVAULT
        - name: AZURE_TENANT_ID
          valueFrom:
            configMapKeyRef:
              name: osdu-svc-properties
              key: ENV_TENANT_ID
        - name: AZURE_CLIENT_ID
          valueFrom:
            secretKeyRef:
              name: clientid
              key: clientid
        - name: AZURE_CLIENT_SECRET
          valueFrom:
            secretKeyRef:
              name: clientpassword
              key: clientpassword
        - name: aad_client_id
          valueFrom:
            secretKeyRef:
              name: appid
              key: appid
        - name: appinsights_key
          valueFrom:
            secretKeyRef:
              name: appinsights
              key: appinsights
        - name: cosmosdb_account
          valueFrom:
            configMapKeyRef:
              name: osdu-svc-properties
              key: ENV_COSMOSDB_HOST
        - name: cosmosdb_key
          valueFrom:
            secretKeyRef:
              name: cosmos
              key: cosmos
        - name: cosmosdb_database
          value: osdu-db
        - name: servicebus_namespace_name
          valueFrom:
            configMapKeyRef:
              name: osdu-svc-properties
              key: ENV_SERVICEBUS_NAMESPACE
        - name: servicebus_connection_string
          valueFrom:
            secretKeyRef:
              name: servicebus
              key: servicebus
        - name: servicebus_topic_name
          value: recordstopic
        - name: storage_account
          valueFrom:
            configMapKeyRef:
              name: osdu-svc-properties
              key: ENV_STORAGE_ACCOUNT
        - name: entitlements_service_endpoint
          value: http://entitlements-azure/entitlements/v1
        - name: entitlements_service_api_key
          value: "OBSOLETE"
        - name: schema_service_url
          value: http://schema-service/api/schema-service/v1
        - name: storage_service_url
          value: http://storage/api/storage/v2
        - name: STORAGE_SCHEMA_HOST
          value: http://storage/api/storage/v2/schemas
        - name: STORAGE_QUERY_RECORD_FOR_CONVERSION_HOST
          value: http://storage/api/storage/v2/query/records:batch
        - name: STORAGE_QUERY_RECORD_HOST
          value: http://storage/api/storage/v2/query/records