Skip to content

Commit dadb202

Browse files
committed
WIP: Add openshift resources
Signed-off-by: Todd Short <[email protected]>
1 parent 6352532 commit dadb202

12 files changed

+206
-1
lines changed

helm/olmv1/templates/_helpers.tpl

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,4 +64,14 @@ catalogd
6464
{{- else -}}
6565
olmv1
6666
{{- end -}}
67-
{{- end -}}
67+
{{- end -}}
68+
69+
{{/*
70+
When rendering with OpenShift, only one of the main components (catalogd, operatorController)
71+
should be enabled
72+
*/}}
73+
{{- if .Values.options.openshift.enabled -}}
74+
{{- if and .Values.options.catalogd.enabled .Values.options.operatorController.enabled -}}
75+
{{- fail "When rendering Openshift, only one of {catalogd, operatorController} should also be enabled" -}}
76+
{{- end -}}
77+
{{- end -}}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{{- if .Values.options.openshift.enabled -}}
2+
{{- if or .Values.options.catalogd.enabled .Values.options.operatorController.enabled -}}
3+
apiVersion: rbac.authorization.k8s.io/v1
4+
kind: Role
5+
metadata:
6+
annotations:
7+
{{- include "olmv1.annotations" . | nindent 4 }}
8+
labels:
9+
app.kubernetes.io/name: {{ include "olmv1.label.name" . }}
10+
{{- include "olmv1.labels" . | nindent 4 }}
11+
name: {{ include "olmv1.label.name" . -}}-metrics-monitor-role
12+
namespace: {{ .Values.namespaces.olmv1.name }}
13+
rules:
14+
- apiGroups:
15+
- ""
16+
resources:
17+
- services
18+
- endpoints
19+
- pods
20+
verbs:
21+
- get
22+
- list
23+
- watch
24+
{{- end -}}
25+
{{- end -}}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{{- if .Values.options.openshift.enabled -}}
2+
{{- if or .Values.options.catalogd.enabled .Values.options.operatorController.enabled -}}
3+
apiVersion: rbac.authorization.k8s.io/v1
4+
kind: RoleBinding
5+
metadata:
6+
annotations:
7+
{{- include "olmv1.annotations" . | nindent 4 }}
8+
labels:
9+
app.kubernetes.io/name: {{ include "olmv1.label.name" . }}
10+
{{- include "olmv1.labels" . | nindent 4 }}
11+
name: {{ include "olmv1.label.name" . -}}-metrics-monitor-rolebinding
12+
namespace: {{ .Values.namespaces.olmv1.name }}
13+
roleRef:
14+
apiGroup: rbac.authorization.k8s.io
15+
kind: Role
16+
name: {{ include "olmv1.label.name" . -}}-metrics-monitor-role
17+
subjects:
18+
- kind: ServiceAccount
19+
name: prometheus-k8s
20+
namespace: openshift-monitoring
21+
{{- end -}}
22+
{{- end -}}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{{- if .Values.options.openshift.enabled -}}
2+
{{- if or .Values.options.catalogd.enabled .Values.options.operatorController.enabled -}}
3+
apiVersion: monitoring.coreos.com/v1
4+
kind: ServiceMonitor
5+
metadata:
6+
annotations:
7+
{{- include "olmv1.annotations" . | nindent 4 }}
8+
labels:
9+
openshift.io/cluster-monitoring: 'true'
10+
app.kubernetes.io/name: {{ include "olmv1.label.name" . }}
11+
{{- include "olmv1.labels" . | nindent 4 }}
12+
name: {{ include "olmv1.label.name" . -}}-metrics-monitor
13+
namespace: {{ .Values.namespaces.olmv1.name }}
14+
spec:
15+
endpoints:
16+
- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
17+
interval: 30s
18+
path: /metrics
19+
port: metrics
20+
scheme: https
21+
tlsConfig:
22+
caFile: /etc/prometheus/configmaps/serving-certs-ca-bundle/service-ca.crt
23+
certFile: /etc/prometheus/secrets/metrics-client-certs/tls.crt
24+
keyFile: /etc/prometheus/secrets/metrics-client-certs/tls.key
25+
serverName: {{ include "olmv1.label.name" . -}}-service.{{ .Values.namespaces.olmv1.name }}.svc
26+
namespaceSelector:
27+
matchNames:
28+
- {{ .Values.namespaces.olmv1.name }}
29+
selector:
30+
matchLabels:
31+
app.kubernetes.io/name: {{ include "olmv1.label.name" . }}
32+
{{- end -}}
33+
{{- end -}}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{{- if and .Values.options.openshift.enabled .Values.options.catalogd.enabled -}}
2+
apiVersion: olm.operatorframework.io/v1
3+
kind: ClusterCatalog
4+
metadata:
5+
name: openshift-certified-operators
6+
spec:
7+
priority: -200
8+
source:
9+
type: Image
10+
image:
11+
pollIntervalMinutes: 10
12+
ref: registry.redhat.io/redhat/certified-operator-index:v4.19
13+
{{- end -}}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{{- if and .Values.options.openshift.enabled .Values.options.catalogd.enabled -}}
2+
apiVersion: olm.operatorframework.io/v1
3+
kind: ClusterCatalog
4+
metadata:
5+
name: openshift-community-operators
6+
spec:
7+
priority: -400
8+
source:
9+
type: Image
10+
image:
11+
pollIntervalMinutes: 10
12+
ref: registry.redhat.io/redhat/community-operator-index:v4.19
13+
{{- end -}}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{{- if .Values.options.openshift.enabled -}}
2+
{{- if or .Values.options.catalogd.enabled .Values.options.operatorController.enabled -}}
3+
# permissions to do leader election.
4+
apiVersion: rbac.authorization.k8s.io/v1
5+
kind: Role
6+
metadata:
7+
annotations:
8+
{{- include "olmv1.annotations" . | nindent 4 }}
9+
labels:
10+
app.kubernetes.io/name: {{ include "olmv1.label.name" . }}
11+
{{- include "olmv1.labels" . | nindent 4 }}
12+
name: {{ include "olmv1.label.name" . -}}-manager-role
13+
namespace: openshift-config
14+
rules:
15+
- apiGroups:
16+
- ""
17+
resources:
18+
- secrets
19+
verbs:
20+
- get
21+
- list
22+
- watch
23+
{{- end -}}
24+
{{- end -}}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{{- if .Values.options.openshift.enabled -}}
2+
{{- if or .Values.options.catalogd.enabled .Values.options.operatorController.enabled -}}
3+
apiVersion: rbac.authorization.k8s.io/v1
4+
kind: RoleBinding
5+
metadata:
6+
annotations:
7+
{{- include "olmv1.annotations" . | nindent 4 }}
8+
labels:
9+
app.kubernetes.io/name: {{ include "olmv1.label.name" . }}
10+
{{- include "olmv1.labels" . | nindent 4 }}
11+
name: {{ include "olmv1.label.name" . -}}-manager-rolebinding
12+
namespace: openshift-config
13+
roleRef:
14+
apiGroup: rbac.authorization.k8s.io
15+
kind: Role
16+
name: {{ include "olmv1.label.name" . -}}-manager-role
17+
subjects:
18+
- kind: ServiceAccount
19+
name: {{ include "olmv1.label.name" . -}}-controller-manager
20+
namespace: {{ .Values.namespaces.olmv1.name }}
21+
{{- end -}}
22+
{{- end -}}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{{- if and .Values.options.openshift.enabled .Values.options.catalogd.enabled -}}
2+
apiVersion: olm.operatorframework.io/v1
3+
kind: ClusterCatalog
4+
metadata:
5+
name: openshift-redhat-marketplace
6+
spec:
7+
priority: -300
8+
source:
9+
type: Image
10+
image:
11+
pollIntervalMinutes: 10
12+
ref: registry.redhat.io/redhat/redhat-marketplace-index:v4.19
13+
{{- end -}}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{{- if and .Values.options.openshift.enabled .Values.options.catalogd.enabled -}}
2+
apiVersion: olm.operatorframework.io/v1
3+
kind: ClusterCatalog
4+
metadata:
5+
name: openshift-redhat-operators
6+
spec:
7+
priority: -100
8+
source:
9+
type: Image
10+
image:
11+
pollIntervalMinutes: 10
12+
ref: registry.redhat.io/redhat/redhat-operator-index:v4.19
13+
{{- end -}}

0 commit comments

Comments
 (0)