...
1---
2apiVersion: rbac.authorization.k8s.io/v1
3kind: ClusterRole
4metadata:
5 name: ambassador-consul-connect
6rules:
7 - apiGroups: [""]
8 resources:
9 - secrets
10 verbs: ["get", "list", "create", "delete", "patch"]
11---
12apiVersion: v1
13kind: ServiceAccount
14metadata:
15 name: ambassador-consul-connect
16 namespace: ambassador
17---
18apiVersion: rbac.authorization.k8s.io/v1
19kind: ClusterRoleBinding
20metadata:
21 name: ambassador-consul-connect
22roleRef:
23 apiGroup: rbac.authorization.k8s.io
24 kind: ClusterRole
25 name: ambassador-consul-connect
26subjects:
27 - kind: ServiceAccount
28 name: ambassador-consul-connect
29 namespace: ambassador
30---
31apiVersion: getambassador.io/v3alpha1
32kind: TLSContext
33metadata:
34 name: ambassador-consul
35 namespace: ambassador
36spec:
37 hosts: []
38 secret: ambassador-consul-connect
39---
40apiVersion: v1
41kind: Service
42metadata:
43 name: ambassador-consul-connector
44 namespace: ambassador
45 annotations:
46 a8r.io/owner: "Ambassador Labs"
47 a8r.io/repository: github.com/datawire/ambassador
48 a8r.io/description: "The Ambassador Edge Stack Consul Connect integration."
49 a8r.io/documentation: https://www.getambassador.io/docs/edge-stack/latest/
50 a8r.io/chat: http://a8r.io/Slack
51 a8r.io/bugs: https://github.com/datawire/ambassador/issues
52 a8r.io/support: https://www.getambassador.io/about-us/support/
53 a8r.io/dependencies: "consul-server.default"
54spec:
55 ports:
56 - name: ambassador-consul-connector
57 port: 80
58 selector:
59 component: consul-connect
60---
61apiVersion: apps/v1
62kind: Deployment
63metadata:
64 name: ambassador-consul-connect-integration
65 namespace: ambassador
66 labels:
67 app: ambassador
68 component: consul-connect
69spec:
70 replicas: 1
71 selector:
72 matchLabels:
73 app: ambassador
74 component: consul-connect
75 strategy:
76 type: RollingUpdate
77 template:
78 metadata:
79 labels:
80 app: ambassador
81 component: consul-connect
82 annotations:
83 "consul.hashicorp.com/connect-inject": "false"
84 spec:
85 serviceAccountName: ambassador-consul-connect
86 terminationGracePeriodSeconds: 0
87 containers:
88 - name: consul-connect-integration
89 image: docker.io/datawire/aes:$version$
90 command: [ "consul_connect_integration" ]
91 resources:
92 limits:
93 cpu: 200m
94 memory: 200Mi
95 requests:
96 cpu: 100m
97 memory: 50Mi
98 env:
99 # Consul runs as a DaemonSet on each Node therefore we need to talk to the Host machine.
100 # See: https://www.consul.io/docs/platform/k8s/run.html#architecture
101 - name: _CONSUL_HOST
102 valueFrom:
103 fieldRef:
104 fieldPath: status.hostIP
105 - name: _AMBASSADOR_TLS_SECRET_NAMESPACE
106 valueFrom:
107 fieldRef:
108 fieldPath: metadata.namespace
View as plain text