# Copyright 2020-present Open Networking Foundation
#
# 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: bbsim-sadis-server
spec:
  ports:
    - name: http
      port: 58080
      targetPort: 8080
  selector:
    app: bbsim-sadis-server-dev
---
apiVersion: v1
kind: Pod
metadata:
  name: bbsim-sadis-server
  labels:
    app: bbsim-sadis-server-dev
spec:
  containers:
    - name: server
      image:  matteoscandolo/bbsim-sadis-server:master
      imagePullPolicy: "Always"
      command: [ "/app/bbsim-sadis-server" ]
      args: [
          "-kubeconfig", "/etc/kube/kube_config",
          "-log_level", "INFO",
          "-log_format", "console",
      ]
      env:
        - name: SLEEP_TIME
          value: 5s
      volumeMounts:
        - name: kube-config-volume
          mountPath: /etc/kube
  volumes:
    - name: kube-config-volume
      configMap:
        # Provide the name of the ConfigMap containing the files you want
        # to add to the container
        name: kube-config
  restartPolicy: Never
