...
1# GENERATED FILE: edits made by hand will not be preserved.
2---
3apiVersion: v1
4kind: Service
5metadata:
6 annotations:
7 a8r.io/bugs: https://github.com/datawire/ambassador/issues
8 a8r.io/chat: http://a8r.io/Slack
9 a8r.io/dependencies: None
10 a8r.io/description: The Ambassador Edge Stack admin service for internal use and
11 health checks.
12 a8r.io/documentation: https://www.getambassador.io/docs/edge-stack/latest/
13 a8r.io/owner: Ambassador Labs
14 a8r.io/repository: github.com/datawire/ambassador
15 a8r.io/support: https://www.getambassador.io/about-us/support/
16 labels:
17 app.kubernetes.io/instance: emissary-ingress
18 app.kubernetes.io/managed-by: getambassador.io
19 app.kubernetes.io/name: emissary-ingress
20 app.kubernetes.io/part-of: emissary-ingress
21 product: aes
22 service: ambassador-admin
23 name: emissary-ingress-admin
24 namespace: default
25spec:
26 ports:
27 - name: ambassador-admin
28 port: 8877
29 protocol: TCP
30 targetPort: admin
31 - name: ambassador-snapshot
32 port: 8005
33 protocol: TCP
34 targetPort: 8005
35 selector:
36 app.kubernetes.io/instance: emissary-ingress
37 app.kubernetes.io/name: emissary-ingress
38 type: NodePort
39---
40apiVersion: v1
41kind: Service
42metadata:
43 annotations:
44 a8r.io/bugs: https://github.com/datawire/ambassador/issues
45 a8r.io/chat: http://a8r.io/Slack
46 a8r.io/dependencies: emissary-ingress-redis.default
47 a8r.io/description: The Ambassador Edge Stack goes beyond traditional API Gateways
48 and Ingress Controllers with the advanced edge features needed to support developer
49 self-service and full-cycle development.
50 a8r.io/documentation: https://www.getambassador.io/docs/edge-stack/latest/
51 a8r.io/owner: Ambassador Labs
52 a8r.io/repository: github.com/datawire/ambassador
53 a8r.io/support: https://www.getambassador.io/about-us/support/
54 labels:
55 app.kubernetes.io/component: ambassador-service
56 app.kubernetes.io/instance: emissary-ingress
57 app.kubernetes.io/managed-by: getambassador.io
58 app.kubernetes.io/name: emissary-ingress
59 app.kubernetes.io/part-of: emissary-ingress
60 product: aes
61 name: emissary-ingress
62 namespace: default
63spec:
64 ports:
65 - name: http
66 port: 80
67 targetPort: 8080
68 - name: https
69 port: 443
70 targetPort: 8443
71 selector:
72 app.kubernetes.io/instance: emissary-ingress
73 app.kubernetes.io/name: emissary-ingress
74 profile: main
75 type: LoadBalancer
76---
77aggregationRule:
78 clusterRoleSelectors:
79 - matchLabels:
80 rbac.getambassador.io/role-group: emissary-ingress
81apiVersion: rbac.authorization.k8s.io/v1
82kind: ClusterRole
83metadata:
84 labels:
85 app.kubernetes.io/instance: emissary-ingress
86 app.kubernetes.io/managed-by: getambassador.io
87 app.kubernetes.io/name: emissary-ingress
88 app.kubernetes.io/part-of: emissary-ingress
89 product: aes
90 name: emissary-ingress
91rules: []
92---
93apiVersion: v1
94kind: ServiceAccount
95metadata:
96 labels:
97 app.kubernetes.io/instance: emissary-ingress
98 app.kubernetes.io/managed-by: getambassador.io
99 app.kubernetes.io/name: emissary-ingress
100 app.kubernetes.io/part-of: emissary-ingress
101 product: aes
102 name: emissary-ingress
103 namespace: default
104---
105apiVersion: rbac.authorization.k8s.io/v1
106kind: ClusterRoleBinding
107metadata:
108 labels:
109 app.kubernetes.io/instance: emissary-ingress
110 app.kubernetes.io/managed-by: getambassador.io
111 app.kubernetes.io/name: emissary-ingress
112 app.kubernetes.io/part-of: emissary-ingress
113 product: aes
114 name: emissary-ingress
115roleRef:
116 apiGroup: rbac.authorization.k8s.io
117 kind: ClusterRole
118 name: emissary-ingress
119subjects:
120- kind: ServiceAccount
121 name: emissary-ingress
122 namespace: default
123---
124apiVersion: rbac.authorization.k8s.io/v1
125kind: ClusterRole
126metadata:
127 labels:
128 app.kubernetes.io/instance: emissary-ingress
129 app.kubernetes.io/managed-by: getambassador.io
130 app.kubernetes.io/name: emissary-ingress
131 app.kubernetes.io/part-of: emissary-ingress
132 product: aes
133 rbac.getambassador.io/role-group: emissary-ingress
134 name: emissary-ingress-crd
135rules:
136- apiGroups:
137 - apiextensions.k8s.io
138 resources:
139 - customresourcedefinitions
140 verbs:
141 - get
142 - list
143 - watch
144 - delete
145---
146apiVersion: rbac.authorization.k8s.io/v1
147kind: ClusterRole
148metadata:
149 labels:
150 app.kubernetes.io/instance: emissary-ingress
151 app.kubernetes.io/managed-by: getambassador.io
152 app.kubernetes.io/name: emissary-ingress
153 app.kubernetes.io/part-of: emissary-ingress
154 product: aes
155 rbac.getambassador.io/role-group: emissary-ingress
156 name: emissary-ingress-watch
157rules:
158- apiGroups:
159 - ""
160 resources:
161 - namespaces
162 - services
163 - secrets
164 - configmaps
165 - endpoints
166 verbs:
167 - get
168 - list
169 - watch
170- apiGroups:
171 - getambassador.io
172 resources:
173 - '*'
174 verbs:
175 - get
176 - list
177 - watch
178 - update
179 - patch
180 - create
181 - delete
182- apiGroups:
183 - getambassador.io
184 resources:
185 - mappings/status
186 verbs:
187 - update
188- apiGroups:
189 - networking.internal.knative.dev
190 resources:
191 - clusteringresses
192 - ingresses
193 verbs:
194 - get
195 - list
196 - watch
197- apiGroups:
198 - networking.x-k8s.io
199 resources:
200 - '*'
201 verbs:
202 - get
203 - list
204 - watch
205- apiGroups:
206 - networking.internal.knative.dev
207 resources:
208 - ingresses/status
209 - clusteringresses/status
210 verbs:
211 - update
212- apiGroups:
213 - extensions
214 - networking.k8s.io
215 resources:
216 - ingresses
217 - ingressclasses
218 verbs:
219 - get
220 - list
221 - watch
222- apiGroups:
223 - extensions
224 - networking.k8s.io
225 resources:
226 - ingresses/status
227 verbs:
228 - update
229---
230apiVersion: apps/v1
231kind: Deployment
232metadata:
233 labels:
234 app.kubernetes.io/instance: emissary-ingress
235 app.kubernetes.io/managed-by: getambassador.io
236 app.kubernetes.io/name: emissary-ingress
237 app.kubernetes.io/part-of: emissary-ingress
238 product: aes
239 name: emissary-ingress
240 namespace: default
241spec:
242 progressDeadlineSeconds: 600
243 replicas: 3
244 selector:
245 matchLabels:
246 app.kubernetes.io/instance: emissary-ingress
247 app.kubernetes.io/name: emissary-ingress
248 strategy:
249 type: RollingUpdate
250 template:
251 metadata:
252 annotations:
253 consul.hashicorp.com/connect-inject: "false"
254 sidecar.istio.io/inject: "false"
255 labels:
256 app.kubernetes.io/instance: emissary-ingress
257 app.kubernetes.io/managed-by: getambassador.io
258 app.kubernetes.io/name: emissary-ingress
259 app.kubernetes.io/part-of: emissary-ingress
260 product: aes
261 profile: main
262 spec:
263 affinity:
264 podAntiAffinity:
265 preferredDuringSchedulingIgnoredDuringExecution:
266 - podAffinityTerm:
267 labelSelector:
268 matchLabels:
269 service: ambassador
270 topologyKey: kubernetes.io/hostname
271 weight: 100
272 containers:
273 - env:
274 - name: AMBASSADOR_GRPC_METRICS_SINK
275 value: emissary-ingress-agent:80
276 - name: HOST_IP
277 valueFrom:
278 fieldRef:
279 fieldPath: status.hostIP
280 - name: AMBASSADOR_NAMESPACE
281 valueFrom:
282 fieldRef:
283 fieldPath: metadata.namespace
284 - name: AGENT_CONFIG_RESOURCE_NAME
285 value: emissary-ingress-agent-cloud-token
286 image: $imageRepo$:$version$
287 imagePullPolicy: IfNotPresent
288 livenessProbe:
289 failureThreshold: 3
290 httpGet:
291 path: /ambassador/v0/check_alive
292 port: admin
293 initialDelaySeconds: 30
294 periodSeconds: 3
295 name: ambassador
296 ports:
297 - containerPort: 8080
298 name: http
299 - containerPort: 8443
300 name: https
301 - containerPort: 8877
302 name: admin
303 readinessProbe:
304 failureThreshold: 3
305 httpGet:
306 path: /ambassador/v0/check_ready
307 port: admin
308 initialDelaySeconds: 30
309 periodSeconds: 3
310 resources:
311 limits:
312 cpu: 1
313 memory: 400Mi
314 requests:
315 cpu: 200m
316 memory: 100Mi
317 securityContext:
318 allowPrivilegeEscalation: false
319 volumeMounts:
320 - mountPath: /tmp/ambassador-pod-info
321 name: ambassador-pod-info
322 readOnly: true
323 dnsPolicy: ClusterFirst
324 hostNetwork: false
325 imagePullSecrets: []
326 restartPolicy: Always
327 securityContext:
328 runAsUser: 8888
329 serviceAccountName: emissary-ingress
330 terminationGracePeriodSeconds: 0
331 volumes:
332 - downwardAPI:
333 items:
334 - fieldRef:
335 fieldPath: metadata.labels
336 path: labels
337 name: ambassador-pod-info
View as plain text