Skip to content

Commit 0f001fc

Browse files
authored
Merge pull request redhat-openshift-ecosystem#5532 from jordigilh/version_0.0.1
operator odf-node-recovery-operator (0.0.1)
2 parents b2f3614 + 1a05684 commit 0f001fc

7 files changed

+612
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
creationTimestamp: null
5+
labels:
6+
app.kubernetes.io/component: kube-rbac-proxy
7+
app.kubernetes.io/created-by: odf-node-recovery-operator
8+
app.kubernetes.io/instance: controller-manager-metrics-service
9+
app.kubernetes.io/managed-by: kustomize
10+
app.kubernetes.io/name: service
11+
app.kubernetes.io/part-of: odf-node-recovery-operator
12+
control-plane: controller-manager
13+
name: odf-node-recovery-operator-controller-manager-metrics-service
14+
spec:
15+
ports:
16+
- name: https
17+
port: 8443
18+
protocol: TCP
19+
targetPort: https
20+
selector:
21+
control-plane: controller-manager
22+
status:
23+
loadBalancer: {}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: ClusterRole
3+
metadata:
4+
creationTimestamp: null
5+
labels:
6+
app.kubernetes.io/component: kube-rbac-proxy
7+
app.kubernetes.io/created-by: odf-node-recovery-operator
8+
app.kubernetes.io/instance: metrics-reader
9+
app.kubernetes.io/managed-by: kustomize
10+
app.kubernetes.io/name: clusterrole
11+
app.kubernetes.io/part-of: odf-node-recovery-operator
12+
name: odf-node-recovery-operator-metrics-reader
13+
rules:
14+
- nonResourceURLs:
15+
- /metrics
16+
verbs:
17+
- get
Lines changed: 310 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,310 @@
1+
apiVersion: operators.coreos.com/v1alpha1
2+
kind: ClusterServiceVersion
3+
metadata:
4+
annotations:
5+
alm-examples: |-
6+
[
7+
{
8+
"apiVersion": "odf.openshift.io/v1alpha1",
9+
"kind": "NodeRecovery",
10+
"metadata": {
11+
"labels": {
12+
"app.kubernetes.io/created-by": "odf-node-recovery-operator",
13+
"app.kubernetes.io/instance": "noderecovery-sample",
14+
"app.kubernetes.io/managed-by": "kustomize",
15+
"app.kubernetes.io/name": "noderecovery",
16+
"app.kubernetes.io/part-of": "odf-node-recovery-operator"
17+
},
18+
"name": "noderecovery-sample"
19+
},
20+
"spec": null
21+
}
22+
]
23+
capabilities: Basic Install
24+
categories: Storage,OpenShift Optional
25+
containerImage: quay.io/jordigilh/odf-node-recovery-controller:0.0.1
26+
createdAt: "2024-11-21T11:07:28Z"
27+
description: ODF Node Recovery is an operator that assist in the recovery of and
28+
ODF cluster that has a device replaced
29+
operators.operatorframework.io/builder: operator-sdk-v1.37.0
30+
operators.operatorframework.io/project_layout: go.kubebuilder.io/v4
31+
repository: https://github.com/jordigilh/odf-node-recovery-operator
32+
name: odf-node-recovery-operator.v0.0.1
33+
spec:
34+
apiservicedefinitions: {}
35+
customresourcedefinitions:
36+
owned:
37+
- kind: NodeRecovery
38+
name: noderecoveries.odf.openshift.io
39+
version: v1alpha1
40+
description: NodeRecovery is the Schema for the noderecoveries API.
41+
description: ODF Node Recovery is an operator that assist in the recovery of and
42+
ODF cluster that has a device replaced, following the steps defined in https://docs.redhat.com/en/documentation/red_hat_openshift_data_foundation/4.12/html-single/replacing_devices
43+
displayName: ODF Node Recovery Operator
44+
icon:
45+
- base64data: PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOTIgMTQ1Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2UwMDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPlJlZEhhdC1Mb2dvLUhhdC1Db2xvcjwvdGl0bGU+PHBhdGggZD0iTTE1Ny43Nyw2Mi42MWExNCwxNCwwLDAsMSwuMzEsMy40MmMwLDE0Ljg4LTE4LjEsMTcuNDYtMzAuNjEsMTcuNDZDNzguODMsODMuNDksNDIuNTMsNTMuMjYsNDIuNTMsNDRhNi40Myw2LjQzLDAsMCwxLC4yMi0xLjk0bC0zLjY2LDkuMDZhMTguNDUsMTguNDUsMCwwLDAtMS41MSw3LjMzYzAsMTguMTEsNDEsNDUuNDgsODcuNzQsNDUuNDgsMjAuNjksMCwzNi40My03Ljc2LDM2LjQzLTIxLjc3LDAtMS4wOCwwLTEuOTQtMS43My0xMC4xM1oiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMjcuNDcsODMuNDljMTIuNTEsMCwzMC42MS0yLjU4LDMwLjYxLTE3LjQ2YTE0LDE0LDAsMCwwLS4zMS0zLjQybC03LjQ1LTMyLjM2Yy0xLjcyLTcuMTItMy4yMy0xMC4zNS0xNS43My0xNi42QzEyNC44OSw4LjY5LDEwMy43Ni41LDk3LjUxLjUsOTEuNjkuNSw5MCw4LDgzLjA2LDhjLTYuNjgsMC0xMS42NC01LjYtMTcuODktNS42LTYsMC05LjkxLDQuMDktMTIuOTMsMTIuNSwwLDAtOC40MSwyMy43Mi05LjQ5LDI3LjE2QTYuNDMsNi40MywwLDAsMCw0Mi41Myw0NGMwLDkuMjIsMzYuMywzOS40NSw4NC45NCwzOS40NU0xNjAsNzIuMDdjMS43Myw4LjE5LDEuNzMsOS4wNSwxLjczLDEwLjEzLDAsMTQtMTUuNzQsMjEuNzctMzYuNDMsMjEuNzdDNzguNTQsMTA0LDM3LjU4LDc2LjYsMzcuNTgsNTguNDlhMTguNDUsMTguNDUsMCwwLDEsMS41MS03LjMzQzIyLjI3LDUyLC41LDU1LC41LDc0LjIyYzAsMzEuNDgsNzQuNTksNzAuMjgsMTMzLjY1LDcwLjI4LDQ1LjI4LDAsNTYuNy0yMC40OCw1Ni43LTM2LjY1LDAtMTIuNzItMTEtMjcuMTYtMzAuODMtMzUuNzgiLz48L3N2Zz4=
46+
mediatype: image/svg+xml
47+
install:
48+
spec:
49+
clusterPermissions:
50+
- rules:
51+
- apiGroups:
52+
- ""
53+
resources:
54+
- events
55+
verbs:
56+
- create
57+
- patch
58+
- apiGroups:
59+
- ""
60+
resources:
61+
- nodes
62+
verbs:
63+
- get
64+
- update
65+
- apiGroups:
66+
- ""
67+
resources:
68+
- persistentvolumeclaims
69+
- persistentvolumes
70+
verbs:
71+
- get
72+
- list
73+
- watch
74+
- apiGroups:
75+
- ""
76+
resources:
77+
- pods
78+
verbs:
79+
- delete
80+
- deletecollection
81+
- get
82+
- list
83+
- watch
84+
- apiGroups:
85+
- ""
86+
resources:
87+
- pods/exec
88+
verbs:
89+
- create
90+
- apiGroups:
91+
- apps
92+
resources:
93+
- deployments
94+
verbs:
95+
- get
96+
- list
97+
- update
98+
- watch
99+
- apiGroups:
100+
- batch
101+
resources:
102+
- jobs
103+
verbs:
104+
- delete
105+
- get
106+
- apiGroups:
107+
- config.openshift.io
108+
resources:
109+
- clusterversions
110+
verbs:
111+
- get
112+
- list
113+
- watch
114+
- apiGroups:
115+
- ocs.openshift.io
116+
resources:
117+
- ocsinitializations
118+
- storageclusters
119+
verbs:
120+
- get
121+
- list
122+
- update
123+
- watch
124+
- apiGroups:
125+
- odf.openshift.io
126+
resources:
127+
- noderecoveries
128+
verbs:
129+
- create
130+
- delete
131+
- get
132+
- list
133+
- patch
134+
- update
135+
- watch
136+
- apiGroups:
137+
- odf.openshift.io
138+
resources:
139+
- noderecoveries/finalizers
140+
verbs:
141+
- update
142+
- apiGroups:
143+
- odf.openshift.io
144+
resources:
145+
- noderecoveries/status
146+
verbs:
147+
- get
148+
- patch
149+
- update
150+
- apiGroups:
151+
- template.openshift.io
152+
resources:
153+
- templates
154+
verbs:
155+
- get
156+
- apiGroups:
157+
- authentication.k8s.io
158+
resources:
159+
- tokenreviews
160+
verbs:
161+
- create
162+
- apiGroups:
163+
- authorization.k8s.io
164+
resources:
165+
- subjectaccessreviews
166+
verbs:
167+
- create
168+
serviceAccountName: odf-node-recovery-operator-controller-manager
169+
deployments:
170+
- label:
171+
app.kubernetes.io/component: manager
172+
app.kubernetes.io/created-by: odf-node-recovery-operator
173+
app.kubernetes.io/instance: controller-manager
174+
app.kubernetes.io/managed-by: kustomize
175+
app.kubernetes.io/name: deployment
176+
app.kubernetes.io/part-of: odf-node-recovery-operator
177+
control-plane: controller-manager
178+
name: odf-node-recovery-operator-controller-manager
179+
spec:
180+
replicas: 1
181+
selector:
182+
matchLabels:
183+
control-plane: controller-manager
184+
strategy: {}
185+
template:
186+
metadata:
187+
annotations:
188+
kubectl.kubernetes.io/default-container: manager
189+
labels:
190+
control-plane: controller-manager
191+
spec:
192+
containers:
193+
- args:
194+
- --secure-listen-address=0.0.0.0:8443
195+
- --upstream=http://127.0.0.1:8080/
196+
- --logtostderr=true
197+
- --v=0
198+
image: gcr.io/kubebuilder/kube-rbac-proxy:v0.15.0
199+
name: kube-rbac-proxy
200+
ports:
201+
- containerPort: 8443
202+
name: https
203+
protocol: TCP
204+
resources:
205+
limits:
206+
cpu: 500m
207+
memory: 128Mi
208+
requests:
209+
cpu: 5m
210+
memory: 64Mi
211+
securityContext:
212+
allowPrivilegeEscalation: false
213+
capabilities:
214+
drop:
215+
- ALL
216+
- args:
217+
- --health-probe-bind-address=:8081
218+
- --metrics-bind-address=127.0.0.1:8080
219+
- --leader-elect
220+
command:
221+
- /manager
222+
image: quay.io/jordigilh/odf-node-recovery-controller:latest
223+
livenessProbe:
224+
httpGet:
225+
path: /healthz
226+
port: 8081
227+
initialDelaySeconds: 15
228+
periodSeconds: 20
229+
name: manager
230+
readinessProbe:
231+
httpGet:
232+
path: /readyz
233+
port: 8081
234+
initialDelaySeconds: 5
235+
periodSeconds: 10
236+
resources:
237+
limits:
238+
cpu: 500m
239+
memory: 128Mi
240+
requests:
241+
cpu: 10m
242+
memory: 64Mi
243+
securityContext:
244+
allowPrivilegeEscalation: false
245+
capabilities:
246+
drop:
247+
- ALL
248+
securityContext:
249+
runAsNonRoot: true
250+
serviceAccountName: odf-node-recovery-operator-controller-manager
251+
terminationGracePeriodSeconds: 10
252+
permissions:
253+
- rules:
254+
- apiGroups:
255+
- ""
256+
resources:
257+
- configmaps
258+
verbs:
259+
- get
260+
- list
261+
- watch
262+
- create
263+
- update
264+
- patch
265+
- delete
266+
- apiGroups:
267+
- coordination.k8s.io
268+
resources:
269+
- leases
270+
verbs:
271+
- get
272+
- list
273+
- watch
274+
- create
275+
- update
276+
- patch
277+
- delete
278+
- apiGroups:
279+
- ""
280+
resources:
281+
- events
282+
verbs:
283+
- create
284+
- patch
285+
serviceAccountName: odf-node-recovery-operator-controller-manager
286+
strategy: deployment
287+
installModes:
288+
- supported: false
289+
type: OwnNamespace
290+
- supported: false
291+
type: SingleNamespace
292+
- supported: false
293+
type: MultiNamespace
294+
- supported: true
295+
type: AllNamespaces
296+
keywords:
297+
- odf
298+
- node recovery
299+
links:
300+
- name: GitHub Repository
301+
url: https://github.com/jordigilh/odf-node-recovery-operator
302+
maintainers:
303+
304+
name: Red Hat
305+
maturity: alpha
306+
minKubeVersion: 1.25.0
307+
provider:
308+
name: Red Hat, Inc.
309+
url: www.redhat.com
310+
version: 0.0.1

0 commit comments

Comments
 (0)