# Copyright 2019 Copyright (c) 2019 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file.
#
# 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.

---
ingresscontroller: (( &temporary ))
env: (( &temporary ))
landscape: (( &temporary ))
settings: (( &temporary ))

temp:
  <<: (( &temporary ))
  command: 
    - "kubectl"
    - "--kubeconfig"
    - (( lookup_file(landscape.clusters.[0].kubeconfig, env.ROOTDIR).[0] ))
    - "-n"
    - (( .ingresscontroller.namespace ))
    - "get"
    - "service"
    - (( .ingresscontroller.values.name ))
    - "-o"
    - "json"
  target: (( sync( exec_uncached( command ), defined(value.status.loadBalancer.ingress.[0]), value.status.loadBalancer.ingress.[0], 120 ) ))

export:
  type: (( defined( .temp.target.ip ) ? "A" :"CNAME" ))
  address: (( .temp.target.ip || .temp.target.hostname ))
  ingress_domain: (( .settings.ingress_domain ))
