-
Notifications
You must be signed in to change notification settings - Fork 0
/
operator.yaml
133 lines (133 loc) · 3.01 KB
/
operator.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
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: cassette-system
namespace: cassette-operator
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: cassette-system
namespace: cassette-operator
rules:
- apiGroups:
- cassette.ulagbulag.io
resources:
- cassettes
- cassettecomponents
verbs:
- "*"
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: cassette-system
namespace: cassette-operator
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: cassette-system
subjects:
- apiGroup: ""
kind: ServiceAccount
name: cassette-system
namespace: cassette
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: cassette-operator:cassette-system
rules:
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- apply
- create
- get
- patch
- replace
- apiGroups:
- cassette.ulagbulag.io
resources:
- cassettes
- cassettecomponents
verbs:
- "*"
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: cassette-operator:cassette-system
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cassette-operator:cassette-system
subjects:
- apiGroup: ""
kind: ServiceAccount
name: cassette-system
namespace: cassette-operator
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: operator
namespace: cassette-operator
labels:
name: operator
serviceType: internal
spec:
replicas: 1
strategy:
rollingUpdate:
maxUnavailable: 1
selector:
matchLabels:
name: operator
template:
metadata:
annotations:
instrumentation.opentelemetry.io/inject-sdk: "true"
labels:
name: operator
serviceType: internal
spec:
affinity:
nodeAffinity:
# KISS normal control plane nodes should be preferred
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
preference:
matchExpressions:
- key: node-role.kubernetes.io/kiss-ephemeral-control-plane
operator: DoesNotExist
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: node-role.kubernetes.io/kiss
operator: In
values:
- ControlPlane
securityContext:
seccompProfile:
type: RuntimeDefault
serviceAccount: cassette-system
containers:
- name: operator
image: quay.io/ulagbulag/cassette-server:latest
imagePullPolicy: Always
command:
- cassette-operator
env:
- name: RUST_LOG
value: INFO
resources:
requests:
cpu: 30m
memory: 20Mi
limits:
cpu: 100m
memory: 100Mi