Skip to content

Commit bf7de82

Browse files
author
Jeff Peeler
committed
fix(ocp): add csv and deployment for package server
This allows CVO upgrades to work properly. Since this only affects OpenShift installs, the new templates are only used with that install type.
1 parent 9febd60 commit bf7de82

File tree

6 files changed

+143
-0
lines changed

6 files changed

+143
-0
lines changed
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
{{ if (.Values.installType) and eq .Values.installType "ocp" }}
2+
# keep in sync with _packageserver.clusterserviceversion.yaml
3+
apiVersion: operators.coreos.com/v1alpha1
4+
kind: ClusterServiceVersion
5+
metadata:
6+
name: packageserver.v{{ .Chart.Version }}
7+
namespace: {{ .Values.namespace }}
8+
spec:
9+
displayName: Package Server
10+
description: Represents an Operator package that is available from a given CatalogSource which will resolve to a ClusterServiceVersion.
11+
minKubeVersion: {{ .Values.minKubeVersion }}
12+
keywords: ['packagemanifests', 'olm', 'packages']
13+
maintainers:
14+
- name: Red Hat
15+
16+
provider:
17+
name: Red Hat
18+
links:
19+
- name: Package Server
20+
url: https://github.com/operator-framework/operator-lifecycle-manager/tree/master/pkg/package-server
21+
installModes:
22+
- type: OwnNamespace
23+
supported: true
24+
- type: SingleNamespace
25+
supported: true
26+
- type: MultiNamespace
27+
supported: true
28+
- type: AllNamespaces
29+
supported: true
30+
install:
31+
strategy: deployment
32+
spec:
33+
clusterPermissions:
34+
- serviceAccountName: packageserver
35+
rules:
36+
- apiGroups:
37+
- ""
38+
resources:
39+
- configmaps
40+
verbs:
41+
- get
42+
- list
43+
- watch
44+
- apiGroups:
45+
- operators.coreos.com
46+
resources:
47+
- catalogsources
48+
verbs:
49+
- get
50+
- list
51+
- watch
52+
- apiGroups:
53+
- packages.apps.redhat.com
54+
resources:
55+
- packagemanifests
56+
verbs:
57+
- get
58+
- list
59+
deployments:
60+
- name: packageserver
61+
{{- include "packageserver.deployment-spec" . | indent 8 }}
62+
maturity: alpha
63+
version: {{ .Chart.Version }}
64+
apiservicedefinitions:
65+
owned:
66+
- group: packages.apps.redhat.com
67+
version: v1alpha1
68+
kind: PackageManifest
69+
name: packagemanifest
70+
displayName: PackageManifest
71+
description: A PackageManifest is a resource generated from existing CatalogSources and their ConfigMaps
72+
deploymentName: packageserver
73+
containerPort: {{ .Values.package.service.internalPort }}
74+
{{ end }}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{{ if (.Values.installType) and eq .Values.installType "ocp" }}
2+
apiVersion: apps/v1
3+
kind: Deployment
4+
metadata:
5+
name: packageserver
6+
namespace: {{ .Values.namespace }}
7+
labels:
8+
app: packageserver
9+
{{- include "packageserver.deployment-spec" . }}
10+
{{ end }}
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
{{- define "packageserver.deployment-spec" }}
2+
spec:
3+
strategy:
4+
type: RollingUpdate
5+
replicas: {{ .Values.package.replicaCount }}
6+
selector:
7+
matchLabels:
8+
app: packageserver
9+
template:
10+
metadata:
11+
labels:
12+
app: packageserver
13+
spec:
14+
serviceAccountName: packageserver
15+
{{- if .Values.olm.nodeSelector }}
16+
nodeSelector:
17+
{{ toYaml .Values.package.nodeSelector | indent 18 }}
18+
{{- end }}
19+
{{- if .Values.olm.tolerations }}
20+
tolerations:
21+
{{ toYaml .Values.package.tolerations | indent 18 }}
22+
{{- end }}
23+
containers:
24+
- name: packageserver
25+
command:
26+
- /bin/package-server
27+
- -v=4
28+
{{- if .Values.watchedNamespaces }}
29+
- --watched-namespaces
30+
- {{ .Values.watchedNamespaces }}
31+
{{- end }}
32+
- --secure-port
33+
- {{ .Values.package.service.internalPort | quote }}
34+
- --global-namespace
35+
- {{ .Values.namespace }}
36+
{{- if .Values.debug }}
37+
- --debug
38+
{{- end }}
39+
{{- if .Values.package.commandArgs }}
40+
- {{ .Values.package.commandArgs }}
41+
{{- end }}
42+
image: {{ .Values.package.image.ref }}
43+
imagePullPolicy: {{ .Values.package.image.pullPolicy }}
44+
ports:
45+
- containerPort: {{ .Values.package.service.internalPort }}
46+
livenessProbe:
47+
httpGet:
48+
scheme: HTTPS
49+
path: /healthz
50+
port: {{ .Values.package.service.internalPort }}
51+
readinessProbe:
52+
httpGet:
53+
scheme: HTTPS
54+
path: /healthz
55+
port: {{ .Values.package.service.internalPort }}
56+
{{- end }}

deploy/ocp/values.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
installType: ocp
12
rbacApiVersion: rbac.authorization.k8s.io
23
namespace: openshift-operator-lifecycle-manager
34
catalog_namespace: openshift-operator-lifecycle-manager

deploy/okd/values.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
installType: okd
12
rbacApiVersion: rbac.authorization.k8s.io
23
namespace: openshift-operator-lifecycle-manager
34
catalog_namespace: openshift-operator-lifecycle-manager

deploy/upstream/values.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
installType: upstream
12
rbacApiVersion: rbac.authorization.k8s.io
23
namespace: olm
34
catalog_namespace: olm

0 commit comments

Comments
 (0)