efaca05999
This makes it so that our service selector will match exactly the YAML we specify instead of including an extra "kapp.k14s.io/app" key. This will take us closer to the standard kubectl behavior which is desirable since we want to avoid future bugs that only manifest when kapp is not used. Signed-off-by: Monis Khan <mok@vmware.com>
102 lines
3.1 KiB
YAML
102 lines
3.1 KiB
YAML
#! 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
|