-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdeploy.yaml
361 lines (361 loc) · 10.7 KB
/
deploy.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
kind: Deployment
apiVersion: apps/v1
metadata:
name: sentry-operator
namespace: sentry
labels:
app: sentry-operator
spec:
replicas: 1
selector:
matchLabels:
app: sentry-operator
template:
metadata:
name: sentry-operator
labels:
app: sentry-operator
spec:
containers:
- name: sentry-operator
image: kanadaj/sentry-operator:latest
imagePullPolicy: IfNotPresent
env:
- name: ASPNETCORE_URLS
value: http://+:5000
ports:
- name: http
containerPort: 5000
restartPolicy: Always
serviceAccountName: sentry-operator
---
apiVersion: v1
kind: Service
metadata:
name: sentry-operator
labels:
app: sentry-operator
spec:
ports:
- name: http
port: 5000
targetPort: 5000
selector:
app: sentry-operator
type: ClusterIP
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: operator-role
rules:
- apiGroups:
- sentry.io
- coordination.k8s.io
resources:
- sentrydeployments
- leases
verbs:
- '*'
- apiGroups:
- ""
- apps
resources:
- pods
- deployments
- services
- secrets
- configmaps
verbs:
- create
- get
- list
- patch
- update
- delete
- apiGroups:
- ""
resources:
- events
verbs:
- create
- get
- list
- update
- apiGroups:
- admissionregistration.k8s.io
resources:
- validatingwebhookconfigurations
- mutatingwebhookconfigurations
verbs:
- create
- get
- patch
- update
- delete
- apiGroups:
- sentry.io
resources:
- sentrydeployments/status
verbs:
- get
- patch
- update
- apiGroups:
- ""
resources:
- pods/status
verbs:
- get
- patch
- update
- apiGroups:
- apps
resources:
- deployments/status
verbs:
- get
- patch
- update
- apiGroups:
- ""
resources:
- services/status
verbs:
- get
- patch
- update
- apiGroups:
- cert-manager.io
nonResourceURLs: []
resources:
- certificates
verbs:
- create
- get
- patch
- delete
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: sentry-operator
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: sentry-operator
subjects:
- kind: ServiceAccount
name: sentry-operator
namespace: sentry
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: sentrydeployments.sentry.io
spec:
group: sentry.io
names:
kind: SentryDeployment
listKind: SentryDeploymentList
plural: sentrydeployments
singular: sentrydeployment
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
properties:
status:
description: Status object for the entity.
properties:
status:
type: string
message:
nullable: true
type: string
lastVersion:
nullable: true
type: string
type: object
spec:
description: Specification of the kubernetes object.
properties:
version:
description: The version of sentry to use; defaults to 23.6.1. Make sure to either use a version tag or 'nightly'
nullable: true
type: string
dockerComposeUrl:
description: The URL of the docker-compose.yml file; if specified we will use the version for the images but the docker-compose for the container architecture
nullable: true
type: string
config:
description: The config for the Sentry deployment
nullable: true
properties:
eventRetentionDays:
description: The amount of days to keep events for
format: int32
type: integer
bind:
description: You can either use a port number or an IP:PORT combo for SENTRY_BIND
type: string
image:
description: The image to use for Sentry
nullable: true
type: string
snubaImage:
description: The image to use for Snuba
nullable: true
type: string
relayImage:
description: The image to use for Relay
nullable: true
type: string
symbolicatorImage:
description: The image to use for Symbolicator
nullable: true
type: string
vroomImage:
description: The image to use for Vroom
nullable: true
type: string
wal2JsonVersion:
description: The version of Wal2Json to use
type: string
healthCheckInterval:
description: The interval to use for health checks
type: string
healthCheckTimeout:
description: The timeout to use for health checks
type: string
healthCheckRetries:
description: The amount of retries to use for health checks
type: string
postgres:
description: The config for the Postgres database
nullable: true
properties:
engine:
nullable: true
type: string
name:
nullable: true
type: string
user:
nullable: true
type: string
password:
nullable: true
type: string
host:
nullable: true
type: string
port:
nullable: true
type: string
type: object
redis:
description: The config for redis
items:
properties:
host:
nullable: true
type: string
password:
nullable: true
type: string
port:
nullable: true
type: string
database:
nullable: true
type: string
type: object
nullable: true
type: array
additionalFeatureFlags:
description: Additional feature flags to enable
items:
type: string
nullable: true
type: array
additionalPythonPackages:
description: Additional Python packages to install
items:
type: string
nullable: true
type: array
mail:
description: The config for mail
nullable: true
properties:
host:
type: string
port:
format: int32
type: integer
username:
type: string
password:
type: string
useTLS:
type: boolean
useSSL:
type: boolean
from:
nullable: true
type: string
mailgunApiKey:
nullable: true
type: string
type: object
type: object
replicas:
description: Override each container's number of replicas here by name
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
environment:
description: Override environmental variables here; this is applied to all containers with matching env vars
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
resources:
description: Override the default resource limits
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
certificate:
nullable: true
properties:
install:
nullable: true
type: boolean
certificateCRDName:
description: Override the name of the Certificate CRD generated
nullable: true
type: string
issuerName:
description: Override the name of the issuer
nullable: true
type: string
issuerKind:
description: Override the kind of the issuer
type: string
secretName:
description: Override the name of the certificate secret
nullable: true
type: string
customHosts:
description: Add additional hosts to the certificate
items:
type: string
type: array
type: object
type: object
type: object
served: true
storage: true
subresources:
status: {}