agones.dev/agones@v1.53.0/install/helm/agones/templates/ping.yaml (about) 1 # Copyright 2018 Google LLC All Rights Reserved. 2 # 3 # Licensed under the Apache License, Version 2.0 (the "License"); 4 # you may not use this file except in compliance with the License. 5 # You may obtain a copy of the License at 6 # 7 # http://www.apache.org/licenses/LICENSE-2.0 8 # 9 # Unless required by applicable law or agreed to in writing, software 10 # distributed under the License is distributed on an "AS IS" BASIS, 11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 # See the License for the specific language governing permissions and 13 # limitations under the License. 14 15 {{- if .Values.agones.ping.install }} 16 apiVersion: apps/v1 17 kind: Deployment 18 metadata: 19 name: agones-ping 20 namespace: {{ .Release.Namespace }} 21 labels: 22 component: ping 23 app: {{ template "agones.name" . }} 24 chart: {{ template "agones.chart" . }} 25 release: {{ .Release.Name }} 26 heritage: {{ .Release.Service }} 27 spec: 28 {{- if .Values.agones.ping.updateStrategy }} 29 strategy: 30 {{- toYaml .Values.agones.ping.updateStrategy | nindent 4}} 31 {{- end }} 32 selector: 33 matchLabels: 34 agones.dev/role: ping 35 app: {{ template "agones.name" . }} 36 release: {{ .Release.Name }} 37 heritage: {{ .Release.Service }} 38 replicas: {{ .Values.agones.ping.replicas }} 39 template: 40 metadata: 41 labels: 42 agones.dev/role: ping 43 app: {{ template "agones.name" . }} 44 release: {{ .Release.Name }} 45 heritage: {{ .Release.Service }} 46 {{- if .Values.agones.ping.annotations }} 47 annotations: 48 {{- toYaml .Values.agones.ping.annotations | nindent 8 }} 49 {{- end }} 50 spec: 51 {{- if .Values.agones.ping.topologySpreadConstraints }} 52 topologySpreadConstraints: 53 {{- toYaml .Values.agones.ping.topologySpreadConstraints | nindent 8 }} 54 {{- end }} 55 affinity: 56 {{- if .Values.agones.ping.affinity }} 57 {{- if .Values.agones.requireDedicatedNodes }} 58 {{- fail "agones.ping.affinity and agones.requireDedicatedNodes cannot be set at the same time!" }} 59 {{- end}} 60 {{- end}} 61 {{- if .Values.agones.ping.affinity }} 62 {{ toYaml .Values.agones.ping.affinity | indent 8 }} 63 {{- else}} 64 nodeAffinity: 65 {{- if .Values.agones.requireDedicatedNodes }} 66 requiredDuringSchedulingIgnoredDuringExecution: 67 nodeSelectorTerms: 68 - matchExpressions: 69 {{- else}} 70 preferredDuringSchedulingIgnoredDuringExecution: 71 - weight: 1 72 preference: 73 matchExpressions: 74 {{- end }} 75 - key: agones.dev/agones-system 76 operator: Exists 77 {{- end }} 78 {{- if .Values.agones.ping.nodeSelector }} 79 nodeSelector: 80 {{ toYaml .Values.agones.ping.nodeSelector | indent 8 }} 81 {{- end }} 82 {{- if .Values.agones.ping.tolerations }} 83 tolerations: 84 {{ toYaml .Values.agones.ping.tolerations | indent 8 }} 85 {{- end }} 86 {{- if .Values.agones.createPriorityClass }} 87 priorityClassName: {{ .Values.agones.priorityClassName }} 88 {{- end }} 89 containers: 90 - name: agones-ping 91 image: "{{ .Values.agones.image.registry }}/{{ .Values.agones.image.ping.name}}:{{ default .Values.agones.image.tag .Values.agones.image.ping.tag }}" 92 imagePullPolicy: {{ .Values.agones.image.ping.pullPolicy }} 93 securityContext: 94 runAsNonRoot: true 95 runAsUser: 1000 96 allowPrivilegeEscalation: false 97 {{- if .Values.agones.ping.resources }} 98 resources: 99 {{ toYaml .Values.agones.ping.resources | indent 12 }} 100 {{- end }} 101 livenessProbe: 102 httpGet: 103 port: 8080 104 path: /live 105 initialDelaySeconds: {{ .Values.agones.ping.healthCheck.initialDelaySeconds }} 106 periodSeconds: {{ .Values.agones.ping.healthCheck.periodSeconds }} 107 failureThreshold: {{ .Values.agones.ping.healthCheck.failureThreshold }} 108 timeoutSeconds: {{ .Values.agones.ping.healthCheck.timeoutSeconds }} 109 env: 110 - name: HTTP_RESPONSE 111 value: {{ .Values.agones.ping.http.response | quote }} 112 - name: UDP_RATE_LIMIT 113 value: {{ .Values.agones.ping.udp.rateLimit | quote }} 114 - name: FEATURE_GATES 115 value: {{ .Values.agones.featureGates | quote }} 116 {{- if .Values.agones.image.controller.pullSecret }} 117 imagePullSecrets: 118 - name: {{.Values.agones.image.controller.pullSecret}} 119 {{- end }} 120 {{- if .Values.agones.ping.pdb.enabled }} 121 --- 122 apiVersion: policy/v1 123 kind: PodDisruptionBudget 124 metadata: 125 name: agones-ping-pdb 126 spec: 127 {{- if .Values.agones.ping.pdb.minAvailable }} 128 {{- if .Values.agones.ping.pdb.maxUnavailable }} 129 {{- fail "minAvailable and maxUnavailable are mutually exclusive!" }} 130 {{- end}} 131 {{- end}} 132 minAvailable: {{ .Values.agones.ping.pdb.minAvailable }} 133 maxUnavailable: {{ .Values.agones.ping.pdb.maxUnavailable }} 134 selector: 135 matchLabels: 136 agones.dev/role: ping 137 app: {{ template "agones.name" . }} 138 release: {{ .Release.Name }} 139 heritage: {{ .Release.Service }} 140 {{- end }} 141 {{- if .Values.agones.ping.http.expose }} 142 --- 143 apiVersion: v1 144 kind: Service 145 metadata: 146 name: agones-ping-http-service 147 namespace: {{ .Release.Namespace }} 148 labels: 149 component: ping 150 app: {{ template "agones.name" . }} 151 chart: {{ template "agones.chart" . }} 152 release: {{ .Release.Name }} 153 heritage: {{ .Release.Service }} 154 {{- if .Values.agones.ping.http.annotations }} 155 annotations: 156 {{ toYaml .Values.agones.ping.http.annotations | indent 4 }} 157 {{- end }} 158 spec: 159 selector: 160 agones.dev/role: ping 161 {{- if .Values.agones.ping.http.ipFamilyPolicy }} 162 ipFamilyPolicy: {{ .Values.agones.ping.http.ipFamilyPolicy }} 163 {{- end }} 164 {{- if .Values.agones.ping.http.ipFamilies }} 165 ipFamilies: {{ toYaml .Values.agones.ping.http.ipFamilies | nindent 4 }} 166 {{- end }} 167 ports: 168 - port: {{ .Values.agones.ping.http.port }} 169 name: http 170 targetPort: 8080 171 {{- if eq .Values.agones.ping.http.serviceType "NodePort" }} 172 nodePort: {{ .Values.agones.ping.http.nodePort }} 173 {{- end }} 174 protocol: TCP 175 type: {{ .Values.agones.ping.http.serviceType }} 176 {{- if eq .Values.agones.ping.http.serviceType "LoadBalancer" }} 177 {{- if .Values.agones.ping.http.loadBalancerIP }} 178 loadBalancerIP: {{ .Values.agones.ping.http.loadBalancerIP }} 179 {{- end }} 180 externalTrafficPolicy: {{ .Values.agones.ping.http.externalTrafficPolicy }} 181 {{- if .Values.agones.ping.http.loadBalancerSourceRanges }} 182 loadBalancerSourceRanges: 183 {{ toYaml .Values.agones.ping.http.loadBalancerSourceRanges | indent 4 }} 184 {{- end }} 185 {{- end }} 186 {{- end }} 187 188 {{- if .Values.agones.ping.udp.expose }} 189 --- 190 apiVersion: v1 191 kind: Service 192 metadata: 193 name: agones-ping-udp-service 194 namespace: {{ .Release.Namespace }} 195 labels: 196 component: ping 197 app: {{ template "agones.name" . }} 198 chart: {{ template "agones.chart" . }} 199 release: {{ .Release.Name }} 200 heritage: {{ .Release.Service }} 201 {{- if .Values.agones.ping.udp.annotations }} 202 annotations: 203 {{ toYaml .Values.agones.ping.udp.annotations | indent 4 }} 204 {{- end }} 205 spec: 206 selector: 207 agones.dev/role: ping 208 {{- if .Values.agones.ping.udp.ipFamilyPolicy }} 209 ipFamilyPolicy: {{ .Values.agones.ping.udp.ipFamilyPolicy }} 210 {{- end }} 211 {{- if .Values.agones.ping.udp.ipFamilies }} 212 ipFamilies: {{ toYaml .Values.agones.ping.udp.ipFamilies | nindent 4 }} 213 {{- end }} 214 ports: 215 - port: {{ .Values.agones.ping.udp.port }} 216 name: udp 217 targetPort: 8080 218 protocol: UDP 219 {{- if eq .Values.agones.ping.udp.serviceType "NodePort" }} 220 nodePort: {{ .Values.agones.ping.udp.nodePort }} 221 {{- end }} 222 type: {{ .Values.agones.ping.udp.serviceType }} 223 {{- if eq .Values.agones.ping.udp.serviceType "LoadBalancer" }} 224 {{- if .Values.agones.ping.udp.loadBalancerIP }} 225 loadBalancerIP: {{ .Values.agones.ping.udp.loadBalancerIP }} 226 {{- end }} 227 externalTrafficPolicy: {{ .Values.agones.ping.udp.externalTrafficPolicy }} 228 {{- if .Values.agones.ping.udp.loadBalancerSourceRanges }} 229 loadBalancerSourceRanges: 230 {{ toYaml .Values.agones.ping.udp.loadBalancerSourceRanges | indent 4 }} 231 {{- end }} 232 {{- end }} 233 {{- end }} 234 235 {{- end }}