forked from crossplane-contrib/resource-state-metrics
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path05-deployment.yaml.gotmpl
More file actions
82 lines (81 loc) · 2.73 KB
/
05-deployment.yaml.gotmpl
File metadata and controls
82 lines (81 loc) · 2.73 KB
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
# code: language=yaml
# yaml-language-server: $schema=../../.up/json/models/index.schema.json
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: resource-state-metrics
namespace: {{ $xr.spec.parameters.namespace.name }}
annotations:
{{ setResourceNameAnnotation "deployment" }}
labels:
app.kubernetes.io/component: exporter
app.kubernetes.io/name: resource-state-metrics
app.kubernetes.io/version: 0.0.1
spec:
replicas: {{ $xr.spec.parameters.deployment.replicas }}
selector:
matchLabels:
app.kubernetes.io/name: resource-state-metrics
template:
metadata:
{{- with $xr.spec.parameters.deployment.podMetadata.annotations }}
annotations:
{{- range $k, $v := . }}
{{ $k }}: {{ $v }}
{{- end }}
{{- end }}
labels:
app.kubernetes.io/component: exporter
app.kubernetes.io/name: resource-state-metrics
app.kubernetes.io/version: 0.0.1
{{- range $k, $v := $xr.spec.parameters.deployment.podMetadata.labels }}
{{ $k }}: {{ $v }}
{{- end }}
spec:
automountServiceAccountToken: true
serviceAccountName: resource-state-metrics
nodeSelector:
kubernetes.io/os: linux
containers:
- name: resource-state-metrics
image: {{ $xr.spec.parameters.deployment.image.repository }}:{{ $xr.spec.parameters.deployment.image.tag }}
args:
- --main-host=0.0.0.0
- --main-port={{ $xr.spec.parameters.service.metricsPort }}
- --self-host=0.0.0.0
- --self-port={{ $xr.spec.parameters.service.telemetryPort }}
ports:
- name: http-metrics
containerPort: {{ $xr.spec.parameters.service.metricsPort }}
- name: telemetry
containerPort: {{ $xr.spec.parameters.service.telemetryPort }}
livenessProbe:
httpGet:
path: /livez
port: http-metrics
initialDelaySeconds: 5
timeoutSeconds: 5
readinessProbe:
httpGet:
path: /readyz
port: telemetry
initialDelaySeconds: 5
timeoutSeconds: 5
resources:
limits:
cpu: {{ $xr.spec.parameters.deployment.resources.limits.cpu }}
memory: {{ $xr.spec.parameters.deployment.resources.limits.memory }}
requests:
cpu: {{ $xr.spec.parameters.deployment.resources.requests.cpu }}
memory: {{ $xr.spec.parameters.deployment.resources.requests.memory }}
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault