#! Copyright 2020-2021 the Pinniped contributors. All Rights Reserved. #! SPDX-License-Identifier: Apache-2.0 #@ load("@ytt:data", "data") #@ load("helpers.lib.yaml", "labels", "deploymentPodLabel", "namespace", "defaultResourceName", "defaultResourceNameWithSuffix") #@ if data.values.service_http_nodeport_port or data.values.service_https_nodeport_port: --- apiVersion: v1 kind: Service metadata: name: #@ defaultResourceNameWithSuffix("nodeport") namespace: #@ namespace() labels: #@ labels() #! prevent kapp from altering the selector of our services to match kubectl behavior annotations: kapp.k14s.io/disable-default-label-scoping-rules: "" spec: type: NodePort selector: #@ deploymentPodLabel() ports: #@ if data.values.service_http_nodeport_port: - name: http protocol: TCP port: #@ data.values.service_http_nodeport_port targetPort: 8080 #@ if data.values.service_http_nodeport_nodeport: nodePort: #@ data.values.service_http_nodeport_nodeport #@ end #@ end #@ if data.values.service_https_nodeport_port: - name: https protocol: TCP port: #@ data.values.service_https_nodeport_port targetPort: 8443 #@ if data.values.service_https_nodeport_nodeport: nodePort: #@ data.values.service_https_nodeport_nodeport #@ end #@ end #@ end #@ if data.values.service_http_clusterip_port or data.values.service_https_clusterip_port: --- apiVersion: v1 kind: Service metadata: name: #@ defaultResourceNameWithSuffix("clusterip") namespace: #@ namespace() labels: #@ labels() #! prevent kapp from altering the selector of our services to match kubectl behavior annotations: kapp.k14s.io/disable-default-label-scoping-rules: "" spec: type: ClusterIP selector: #@ deploymentPodLabel() ports: #@ if data.values.service_http_clusterip_port: - name: http protocol: TCP port: #@ data.values.service_http_clusterip_port targetPort: 8080 #@ end #@ if data.values.service_https_clusterip_port: - name: https protocol: TCP port: #@ data.values.service_https_clusterip_port targetPort: 8443 #@ end #@ end #@ if data.values.service_http_loadbalancer_port or data.values.service_https_loadbalancer_port: --- apiVersion: v1 kind: Service metadata: name: #@ defaultResourceNameWithSuffix("loadbalancer") namespace: #@ namespace() labels: #@ labels() #! prevent kapp from altering the selector of our services to match kubectl behavior annotations: kapp.k14s.io/disable-default-label-scoping-rules: "" spec: type: LoadBalancer selector: #@ deploymentPodLabel() #@ if data.values.service_loadbalancer_ip: loadBalancerIP: #@ data.values.service_loadbalancer_ip #@ end ports: #@ if data.values.service_http_loadbalancer_port: - name: http protocol: TCP port: #@ data.values.service_http_loadbalancer_port targetPort: 8080 #@ end #@ if data.values.service_https_loadbalancer_port: - name: https protocol: TCP port: #@ data.values.service_https_loadbalancer_port targetPort: 8443 #@ end #@ end