# Copyright 2018-present Open Networking Foundation
# Copyright 2018-present  Edgecore Networks 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: redfish-importer
  labels:
    app: redfish-importer
    chart: redfish-importer
spec:
  replicas: 1
  selector:
    matchLabels:
      app: redfish-importer
  template:
    metadata:
      labels:
        app: redfish-importer
    spec:
      containers:
        - name: redfish-importer
          image: opencord/device-management:master
          imagePullPolicy: Always
          ports:
            - containerPort: 50051
              name: importer
          command: ["./main"]
          args: ["--kafka", "voltha-infra-kafka.infra.svc:9092"]

---

apiVersion: v1
kind: Service
metadata:
  name: redfish-importer
spec:
  ports:
    - name: redfish-importer
      port: 31085
      targetPort: 50051
  selector:
    app: redfish-importer

---

apiVersion: apps/v1
kind: Deployment
metadata:
  name: redfish-demotest
  labels:
    app: redfish-demotest
    chart: redfish-demotest
spec:
  replicas: 1
  selector:
    matchLabels:
      app: redfish-demotest
  template:
    metadata:
      labels:
        app: redfish-demotest
    spec:
      containers:
        - name: redfish-demotest
          image: opencord/redfish-importer-demotest:master
          imagePullPolicy: Always
          ports:
            - containerPort: 9999
              name: demotest
          command: ["./demotest"]
          args: ["--kafka", "voltha-infra-kafka.infra.svc:9092", "--importer", "redfish-importer:31085"]

---

apiVersion: v1
kind: Service
metadata:
  name: redfish-demotest
spec:
  ports:
    - name: redfish-demotest
      port: 9999
      targetPort: 9999
  selector:
    app: redfish-demotest
