...
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: emissary
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.emissary
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: emissary
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---
77apiVersion: v1
78kind: Service
79metadata:
80 labels:
81 product: aes
82 name: emissary-ingress-agent
83 namespace: emissary
84spec:
85 ports:
86 - name: http
87 port: 80
88 protocol: TCP
89 targetPort: http
90 selector:
91 app.kubernetes.io/instance: emissary-ingress
92 app.kubernetes.io/name: emissary-ingress-agent
93---
94aggregationRule:
95 clusterRoleSelectors:
96 - matchLabels:
97 rbac.getambassador.io/role-group: emissary-ingress
98apiVersion: rbac.authorization.k8s.io/v1
99kind: ClusterRole
100metadata:
101 labels:
102 app.kubernetes.io/instance: emissary-ingress
103 app.kubernetes.io/managed-by: getambassador.io
104 app.kubernetes.io/name: emissary-ingress
105 app.kubernetes.io/part-of: emissary-ingress
106 product: aes
107 name: emissary-ingress
108rules: []
109---
110apiVersion: v1
111kind: ServiceAccount
112metadata:
113 labels:
114 app.kubernetes.io/instance: emissary-ingress
115 app.kubernetes.io/managed-by: getambassador.io
116 app.kubernetes.io/name: emissary-ingress
117 app.kubernetes.io/part-of: emissary-ingress
118 product: aes
119 name: emissary-ingress
120 namespace: emissary
121---
122apiVersion: rbac.authorization.k8s.io/v1
123kind: ClusterRoleBinding
124metadata:
125 labels:
126 app.kubernetes.io/instance: emissary-ingress
127 app.kubernetes.io/managed-by: getambassador.io
128 app.kubernetes.io/name: emissary-ingress
129 app.kubernetes.io/part-of: emissary-ingress
130 product: aes
131 name: emissary-ingress
132roleRef:
133 apiGroup: rbac.authorization.k8s.io
134 kind: ClusterRole
135 name: emissary-ingress
136subjects:
137- kind: ServiceAccount
138 name: emissary-ingress
139 namespace: emissary
140---
141apiVersion: rbac.authorization.k8s.io/v1
142kind: ClusterRole
143metadata:
144 labels:
145 app.kubernetes.io/instance: emissary-ingress
146 app.kubernetes.io/managed-by: getambassador.io
147 app.kubernetes.io/name: emissary-ingress
148 app.kubernetes.io/part-of: emissary-ingress
149 product: aes
150 rbac.getambassador.io/role-group: emissary-ingress
151 name: emissary-ingress-crd
152rules:
153- apiGroups:
154 - apiextensions.k8s.io
155 resources:
156 - customresourcedefinitions
157 verbs:
158 - get
159 - list
160 - watch
161 - delete
162---
163apiVersion: rbac.authorization.k8s.io/v1
164kind: ClusterRole
165metadata:
166 labels:
167 app.kubernetes.io/instance: emissary-ingress
168 app.kubernetes.io/managed-by: getambassador.io
169 app.kubernetes.io/name: emissary-ingress
170 app.kubernetes.io/part-of: emissary-ingress
171 product: aes
172 rbac.getambassador.io/role-group: emissary-ingress
173 name: emissary-ingress-watch
174rules:
175- apiGroups:
176 - ""
177 resources:
178 - namespaces
179 - services
180 - secrets
181 - configmaps
182 - endpoints
183 verbs:
184 - get
185 - list
186 - watch
187- apiGroups:
188 - getambassador.io
189 resources:
190 - '*'
191 verbs:
192 - get
193 - list
194 - watch
195 - update
196 - patch
197 - create
198 - delete
199- apiGroups:
200 - getambassador.io
201 resources:
202 - mappings/status
203 verbs:
204 - update
205- apiGroups:
206 - networking.internal.knative.dev
207 resources:
208 - clusteringresses
209 - ingresses
210 verbs:
211 - get
212 - list
213 - watch
214- apiGroups:
215 - networking.x-k8s.io
216 resources:
217 - '*'
218 verbs:
219 - get
220 - list
221 - watch
222- apiGroups:
223 - networking.internal.knative.dev
224 resources:
225 - ingresses/status
226 - clusteringresses/status
227 verbs:
228 - update
229- apiGroups:
230 - extensions
231 - networking.k8s.io
232 resources:
233 - ingresses
234 - ingressclasses
235 verbs:
236 - get
237 - list
238 - watch
239- apiGroups:
240 - extensions
241 - networking.k8s.io
242 resources:
243 - ingresses/status
244 verbs:
245 - update
246---
247apiVersion: apps/v1
248kind: Deployment
249metadata:
250 labels:
251 app.kubernetes.io/instance: emissary-ingress
252 app.kubernetes.io/managed-by: getambassador.io
253 app.kubernetes.io/name: emissary-ingress
254 app.kubernetes.io/part-of: emissary-ingress
255 product: aes
256 name: emissary-ingress
257 namespace: emissary
258spec:
259 progressDeadlineSeconds: 600
260 replicas: 3
261 selector:
262 matchLabels:
263 app.kubernetes.io/instance: emissary-ingress
264 app.kubernetes.io/name: emissary-ingress
265 strategy:
266 type: RollingUpdate
267 template:
268 metadata:
269 annotations:
270 consul.hashicorp.com/connect-inject: "false"
271 sidecar.istio.io/inject: "false"
272 labels:
273 app.kubernetes.io/instance: emissary-ingress
274 app.kubernetes.io/managed-by: getambassador.io
275 app.kubernetes.io/name: emissary-ingress
276 app.kubernetes.io/part-of: emissary-ingress
277 product: aes
278 profile: main
279 spec:
280 affinity:
281 podAntiAffinity:
282 preferredDuringSchedulingIgnoredDuringExecution:
283 - podAffinityTerm:
284 labelSelector:
285 matchLabels:
286 service: ambassador
287 topologyKey: kubernetes.io/hostname
288 weight: 100
289 containers:
290 - env:
291 - name: AMBASSADOR_GRPC_METRICS_SINK
292 value: emissary-ingress-agent:80
293 - name: HOST_IP
294 valueFrom:
295 fieldRef:
296 fieldPath: status.hostIP
297 - name: AMBASSADOR_NAMESPACE
298 valueFrom:
299 fieldRef:
300 fieldPath: metadata.namespace
301 - name: AGENT_CONFIG_RESOURCE_NAME
302 value: emissary-ingress-agent-cloud-token
303 image: $imageRepo$:$version$
304 imagePullPolicy: IfNotPresent
305 livenessProbe:
306 failureThreshold: 3
307 httpGet:
308 path: /ambassador/v0/check_alive
309 port: admin
310 initialDelaySeconds: 30
311 periodSeconds: 3
312 name: ambassador
313 ports:
314 - containerPort: 8080
315 name: http
316 - containerPort: 8443
317 name: https
318 - containerPort: 8877
319 name: admin
320 readinessProbe:
321 failureThreshold: 3
322 httpGet:
323 path: /ambassador/v0/check_ready
324 port: admin
325 initialDelaySeconds: 30
326 periodSeconds: 3
327 resources:
328 limits:
329 cpu: 1
330 memory: 400Mi
331 requests:
332 cpu: 200m
333 memory: 100Mi
334 securityContext:
335 allowPrivilegeEscalation: false
336 volumeMounts:
337 - mountPath: /tmp/ambassador-pod-info
338 name: ambassador-pod-info
339 readOnly: true
340 dnsPolicy: ClusterFirst
341 hostNetwork: false
342 imagePullSecrets: []
343 restartPolicy: Always
344 securityContext:
345 runAsUser: 8888
346 serviceAccountName: emissary-ingress
347 terminationGracePeriodSeconds: 0
348 volumes:
349 - downwardAPI:
350 items:
351 - fieldRef:
352 fieldPath: metadata.labels
353 path: labels
354 name: ambassador-pod-info
355---
356apiVersion: v1
357kind: ServiceAccount
358metadata:
359 labels:
360 app.kubernetes.io/instance: emissary-ingress
361 app.kubernetes.io/managed-by: getambassador.io
362 app.kubernetes.io/name: emissary-ingress-agent
363 app.kubernetes.io/part-of: emissary-ingress
364 product: aes
365 name: emissary-ingress-agent
366 namespace: emissary
367---
368apiVersion: rbac.authorization.k8s.io/v1
369kind: ClusterRoleBinding
370metadata:
371 labels:
372 app.kubernetes.io/instance: emissary-ingress
373 app.kubernetes.io/managed-by: getambassador.io
374 app.kubernetes.io/name: emissary-ingress-agent
375 app.kubernetes.io/part-of: emissary-ingress
376 product: aes
377 name: emissary-ingress-agent
378roleRef:
379 apiGroup: rbac.authorization.k8s.io
380 kind: ClusterRole
381 name: emissary-ingress-agent
382subjects:
383- kind: ServiceAccount
384 name: emissary-ingress-agent
385 namespace: emissary
386---
387aggregationRule:
388 clusterRoleSelectors:
389 - matchLabels:
390 rbac.getambassador.io/role-group: emissary-ingress-agent
391apiVersion: rbac.authorization.k8s.io/v1
392kind: ClusterRole
393metadata:
394 labels:
395 app.kubernetes.io/instance: emissary-ingress
396 app.kubernetes.io/managed-by: getambassador.io
397 app.kubernetes.io/name: emissary-ingress-agent
398 app.kubernetes.io/part-of: emissary-ingress
399 product: aes
400 name: emissary-ingress-agent
401rules: []
402---
403apiVersion: rbac.authorization.k8s.io/v1
404kind: ClusterRole
405metadata:
406 labels:
407 app.kubernetes.io/instance: emissary-ingress
408 app.kubernetes.io/managed-by: getambassador.io
409 app.kubernetes.io/name: emissary-ingress-agent
410 app.kubernetes.io/part-of: emissary-ingress
411 product: aes
412 rbac.getambassador.io/role-group: emissary-ingress-agent
413 name: emissary-ingress-agent-pods
414rules:
415- apiGroups:
416 - ""
417 resources:
418 - pods
419 verbs:
420 - get
421 - list
422 - watch
423---
424apiVersion: rbac.authorization.k8s.io/v1
425kind: ClusterRole
426metadata:
427 labels:
428 app.kubernetes.io/instance: emissary-ingress
429 app.kubernetes.io/managed-by: getambassador.io
430 app.kubernetes.io/name: emissary-ingress-agent
431 app.kubernetes.io/part-of: emissary-ingress
432 product: aes
433 rbac.getambassador.io/role-group: emissary-ingress-agent
434 name: emissary-ingress-agent-rollouts
435rules:
436- apiGroups:
437 - argoproj.io
438 resources:
439 - rollouts
440 - rollouts/status
441 verbs:
442 - get
443 - list
444 - watch
445 - patch
446---
447apiVersion: rbac.authorization.k8s.io/v1
448kind: ClusterRole
449metadata:
450 labels:
451 app.kubernetes.io/instance: emissary-ingress
452 app.kubernetes.io/managed-by: getambassador.io
453 app.kubernetes.io/name: emissary-ingress-agent
454 app.kubernetes.io/part-of: emissary-ingress
455 product: aes
456 rbac.getambassador.io/role-group: emissary-ingress-agent
457 name: emissary-ingress-agent-applications
458rules:
459- apiGroups:
460 - argoproj.io
461 resources:
462 - applications
463 verbs:
464 - get
465 - list
466 - watch
467---
468apiVersion: rbac.authorization.k8s.io/v1
469kind: ClusterRole
470metadata:
471 labels:
472 app.kubernetes.io/instance: emissary-ingress
473 app.kubernetes.io/managed-by: getambassador.io
474 app.kubernetes.io/name: emissary-ingress-agent
475 app.kubernetes.io/part-of: emissary-ingress
476 product: aes
477 rbac.getambassador.io/role-group: emissary-ingress-agent
478 name: emissary-ingress-agent-deployments
479rules:
480- apiGroups:
481 - apps
482 - extensions
483 resources:
484 - deployments
485 verbs:
486 - get
487 - list
488 - watch
489---
490apiVersion: rbac.authorization.k8s.io/v1
491kind: ClusterRole
492metadata:
493 labels:
494 app.kubernetes.io/instance: emissary-ingress
495 app.kubernetes.io/managed-by: getambassador.io
496 app.kubernetes.io/name: emissary-ingress-agent
497 app.kubernetes.io/part-of: emissary-ingress
498 product: aes
499 rbac.getambassador.io/role-group: emissary-ingress-agent
500 name: emissary-ingress-agent-endpoints
501rules:
502- apiGroups:
503 - ""
504 resources:
505 - endpoints
506 verbs:
507 - get
508 - list
509 - watch
510---
511apiVersion: rbac.authorization.k8s.io/v1
512kind: ClusterRole
513metadata:
514 labels:
515 app.kubernetes.io/instance: emissary-ingress
516 app.kubernetes.io/managed-by: getambassador.io
517 app.kubernetes.io/name: emissary-ingress-agent
518 app.kubernetes.io/part-of: emissary-ingress
519 product: aes
520 rbac.getambassador.io/role-group: emissary-ingress-agent
521 name: emissary-ingress-agent-configmaps
522rules:
523- apiGroups:
524 - ""
525 resources:
526 - configmaps
527 verbs:
528 - get
529 - list
530 - watch
531---
532apiVersion: rbac.authorization.k8s.io/v1
533kind: Role
534metadata:
535 labels:
536 app.kubernetes.io/instance: emissary-ingress
537 app.kubernetes.io/managed-by: getambassador.io
538 app.kubernetes.io/name: emissary-ingress-agent
539 app.kubernetes.io/part-of: emissary-ingress
540 product: aes
541 name: emissary-ingress-agent-config
542 namespace: emissary
543rules:
544- apiGroups:
545 - ""
546 resources:
547 - configmaps
548 verbs:
549 - get
550 - list
551 - watch
552---
553apiVersion: rbac.authorization.k8s.io/v1
554kind: RoleBinding
555metadata:
556 labels:
557 app.kubernetes.io/instance: emissary-ingress
558 app.kubernetes.io/managed-by: getambassador.io
559 app.kubernetes.io/name: emissary-ingress-agent
560 app.kubernetes.io/part-of: emissary-ingress
561 product: aes
562 name: emissary-ingress-agent-config
563 namespace: emissary
564roleRef:
565 apiGroup: rbac.authorization.k8s.io
566 kind: Role
567 name: emissary-ingress-agent-config
568subjects:
569- kind: ServiceAccount
570 name: emissary-ingress-agent
571 namespace: emissary
572---
573apiVersion: apps/v1
574kind: Deployment
575metadata:
576 labels:
577 app.kubernetes.io/instance: emissary-ingress
578 app.kubernetes.io/managed-by: getambassador.io
579 app.kubernetes.io/name: emissary-ingress-agent
580 app.kubernetes.io/part-of: emissary-ingress
581 product: aes
582 name: emissary-ingress-agent
583 namespace: emissary
584spec:
585 progressDeadlineSeconds: 600
586 replicas: 1
587 selector:
588 matchLabels:
589 app.kubernetes.io/instance: emissary-ingress
590 app.kubernetes.io/name: emissary-ingress-agent
591 template:
592 metadata:
593 labels:
594 app.kubernetes.io/instance: emissary-ingress
595 app.kubernetes.io/managed-by: getambassador.io
596 app.kubernetes.io/name: emissary-ingress-agent
597 app.kubernetes.io/part-of: emissary-ingress
598 product: aes
599 spec:
600 containers:
601 - command:
602 - agent
603 env:
604 - name: AGENT_NAMESPACE
605 valueFrom:
606 fieldRef:
607 fieldPath: metadata.namespace
608 - name: AGENT_CONFIG_RESOURCE_NAME
609 value: emissary-ingress-agent-cloud-token
610 - name: RPC_CONNECTION_ADDRESS
611 value: https://app.getambassador.io/
612 - name: AES_SNAPSHOT_URL
613 value: http://emissary-ingress-admin.emissary:8005/snapshot-external
614 image: $imageRepo$:$version$
615 imagePullPolicy: IfNotPresent
616 name: agent
617 ports:
618 - containerPort: 8080
619 name: http
620 serviceAccountName: emissary-ingress-agent
View as plain text