Skip to content

Commit 460a472

Browse files
Akrogcschwede
authored andcommittedMay 19, 2020
Add script to generate form config options
There are too many drivers to add configuration options manually, so we leverage the Ember-CSI script that outputs detailed information about drivers to automatically generate the form fields and examples on the OLM catalog. The new script olvm-csv-gen.sh runs an Ember-CSI docker container to get the driver specific configuration options and the passes them to a Python script to generate the Cluster Service Version YAML file deploy/olm-catalog/next/ember-csi-operator.vX.Y.Z.clusterserviceversion.yaml In this file we'll have: - One example with all the configuration options for all the drivers (this is used for default values). - One example for each driver which its own configuration options. - The form options. The Python script has the capability to ignore some drivers (like the NFS ones we don't support), to ignore some configuration options (which are irrelevant form Ember-CSI), and it also adds missing configuration options (Cinder drivers are not properly reporting all the configuration options that are actually using). The form options will be generated on an independent group by default because the first console version that supports hiding fields is in OpenShift 4.4. If we want to generate the sample file for such a console we can set env variable CONSOLE_VERSION to 4.4 For development we can also generate out.yaml using a different template (template-dev.yaml) which will allow us to copy/paste it into the console (we have to change the resourceVersion field with the latest one that appears on the console). This patch also includes an example of what the generated file looks like.
1 parent 4024d6c commit 460a472

File tree

6 files changed

+10786
-0
lines changed

6 files changed

+10786
-0
lines changed
 

‎.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ tramp
2222
.org-id-locations
2323
*_archive
2424

25+
build/olm-catalog/out.yaml
2526
# flymake-mode
2627
*_flymake.*
2728

‎build/olm-catalog/olm-csv-gen.sh

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/bash
2+
# The Python script accepts CONSOLE_VERSION and DEVLOPMENT env variables
3+
TAG="${1:-master}"
4+
5+
if [[ -z "${DEVELOPMENT}" ]]; then
6+
dest=../../deploy/olm-catalog/next
7+
dest_file=${2:-$dest/ember-csi-operator.vX.Y.Z.clusterserviceversion.yaml}
8+
mkdir -p $dest
9+
else
10+
dest_file=./out.yaml
11+
fi
12+
13+
echo "Getting driver config from tag $TAG and writing result to $dest_file"
14+
docker run --rm embercsi/ember-csi:$TAG ember-list-drivers -d | python ./yaml-options-gen.py > $dest_file

‎build/olm-catalog/template-dev.yaml

+559
Large diffs are not rendered by default.

‎build/olm-catalog/template.yaml

+345
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,345 @@
1+
---
2+
apiVersion: operators.coreos.com/v1alpha1
3+
kind: ClusterServiceVersion
4+
metadata:
5+
annotations:
6+
containerImage: docker.io/embercsi/ember-csi-operator:latest
7+
categories: "Storage"
8+
capabilities: Basic Install
9+
description: |-
10+
Operator to deploy Ember-CSI, a multi-vendor CSI plugin driver supporting over 80 storage drivers in a single plugin to provide block and mount storage to container orchestration systems
11+
certified: "false"
12+
support: http://readthedocs.org/projects/ember-csi/
13+
repository: https://github.com/embercsi/ember-csi-operator
14+
createdAt: 2019-08-12:22:09:00
15+
# BEGIN AUTO GENERATED EXAMPLES
16+
${SAMPLE_CONFIG}
17+
# END AUTO GENERATED EXAMPLES
18+
name: ember-csi-operator.v0.0.1
19+
namespace: ember-csi
20+
spec:
21+
apiservicedefinitions: {}
22+
maturity: alpha
23+
version: 0.0.1
24+
minKubeVersion: 1.11.0
25+
description: |-
26+
Operator to deploy Ember-CSI, a multi-vendor CSI plugin driver supporting over 80 storage drivers in a single plugin to provide block and mount storage to container orchestration systems.
27+
displayName: Ember CSI Operator
28+
keywords: ['Ember-CSI', 'CSI']
29+
maintainers:
30+
- name: Gorka Eguileor
31+
email: geguileo@redhat.com
32+
- name: Christian Schwede
33+
email: cschwede@redhat.com
34+
- name: Kiran Thyagaraja
35+
email: kthyagar@redhat.com
36+
provider:
37+
name: Red Hat
38+
labels:
39+
operated-by: ember-csi.io
40+
selector:
41+
matchLabels:
42+
operated-by: ember-csi.io
43+
links:
44+
- name: Learn more about the project
45+
url: http://ember-csi.io/
46+
- name: Documentation
47+
url: http://readthedocs.org/projects/ember-csi/
48+
- name: Ember-CSI Source Code
49+
url: https://github.com/embercsi/ember-csi
50+
- name: Ember-CSI Operator Source Code
51+
url: https://github.com/embercsi/ember-csi-operator
52+
icon:
53+
- base64data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmlld0JveD0iMCAwIDEwNi41NDIzMiAxMzguNzkwODUiCiAgIGhlaWdodD0iMTM4Ljc5MDg1IgogICB3aWR0aD0iMTA2LjU0MjMyIgogICB4bWw6c3BhY2U9InByZXNlcnZlIgogICBpZD0ic3ZnNDc2NiIKICAgdmVyc2lvbj0iMS4xIj48bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGE0NzcyIj48cmRmOlJERj48Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+PGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+PGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPjxkYzp0aXRsZT48L2RjOnRpdGxlPjwvY2M6V29yaz48L3JkZjpSREY+PC9tZXRhZGF0YT48ZGVmcwogICAgIGlkPSJkZWZzNDc3MCI+PGNsaXBQYXRoCiAgICAgICBpZD0iY2xpcFBhdGg0NzgyIgogICAgICAgY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiPjxwYXRoCiAgICAgICAgIGlkPSJwYXRoNDc4MCIKICAgICAgICAgZD0iTSAwLDE1MCBIIDMwMCBWIDAgSCAwIFoiIC8+PC9jbGlwUGF0aD48L2RlZnM+PGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLjMzMzMzMzMsMCwwLC0xLjMzMzMzMzMsLTEwMS45OTEyNSwxODIuNzI5MikiCiAgICAgaWQ9Imc0Nzc0Ij48ZwogICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTMzLjU1MzI1MikiCiAgICAgICBpZD0iZzQ5MzUiPjxnCiAgICAgICAgIGlkPSJnNDc4NCIKICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQyLjAwMzksNzcuNjA3OSkiPjxwYXRoCiAgICAgICAgICAgZD0ibSAwLDAgYyAyLjY1NywtMC45ODMgMy4wOTgsLTIuNjA3IDMuOTE2LC00LjMxMiAwLjgxOCwtMS43MDUgMC44ODUsLTMuNjQxIDEuMTI0LC01LjUwOCAwLjIzOCwtMS44NjYgMC43MjYsLTMuODI3IDIuMTQ0LC01LjEyMSAxLjM3OSwtMS4yNTkgMy41NTUsLTEuNjUzIDUuMzQyLC0wLjk2OCAxLjc4NywwLjY4NyAzLjA5LDIuNDE1IDMuMTk4LDQuMjQ1IDAuMTE3LDEuOTgyIC0xLjI4NCw0LjgwMSAtMi42NSw2LjI4MiBDIDkuNzE5LC0xLjc0NCA1LjA4NSwtMC4zOTkgMCwwIgogICAgICAgICAgIHN0eWxlPSJmaWxsOiNlOWFhMjk7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiCiAgICAgICAgICAgaWQ9InBhdGg0Nzg2IiAvPjwvZz48ZwogICAgICAgICBpZD0iZzQ3ODgiCiAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4NS4xNDY1LDkwLjU5NTIpIj48cGF0aAogICAgICAgICAgIGQ9Im0gMCwwIGMgMy41MzMsLTYuMDk5IDUuMTQyLC0xMy4zNzQgNC43NDksLTIwLjU5NyAtMC41MiwtNy4yMDEgLTIuODkyLC0xNC40MzEgLTcuMjczLC0yMC4zNzUgLTEuMDA2LC0xLjU1MSAtMi4yODgsLTIuODgzIC0zLjQ4MiwtNC4yOTYgLTAuNjQxLC0wLjY2MyAtMS4zMzUsLTEuMjc1IC0yLjAwNSwtMS45MTQgLTAuMzQsLTAuMzE0IC0wLjY3LC0wLjYzOSAtMS4wMTksLTAuOTQyIGwgLTEuMDk3LC0wLjg1IGMgLTIuODU5LC0yLjM2NSAtNi4xNTEsLTQuMTYyIC05LjU1MiwtNS42NTMgbCAtMi42MSwtMC45OTMgYyAtMC44NzUsLTAuMzE4IC0xLjc5MywtMC41IC0yLjY5LC0wLjc1NCAtMS43ODYsLTAuNTUxIC0zLjY1MSwtMC43MTkgLTUuNDg3LC0xLjAzOCAtMy43MDIsLTAuMyAtNy40NjMsLTAuMzk4IC0xMS4xNDQsMC4yODYgbCAtMS4zODIsMC4yMTcgYyAtMC40NiwwLjA4IC0wLjkwNiwwLjIyNSAtMS4zNTksMC4zMzQgbCAtMi43MDcsMC43MTQgLTIuNjI2LDAuOTY3IGMgLTAuNDM2LDAuMTY3IC0wLjg3OCwwLjMxNyAtMS4zMDYsMC40OTkgbCAtMS4yNTgsMC42MTEgYyAtMy40MDYsMS41MjkgLTYuNDk5LDMuNjggLTkuMzIsNi4wODggbCAtMi4wMzQsMS45MDggYyAtMC42NjIsMC42NTEgLTEuMjQzLDEuMzggLTEuODY2LDIuMDY3IGwgLTAuOTE4LDEuMDQ2IGMgLTAuMjg3LDAuMzYzIC0wLjU1LDAuNzQ3IC0wLjgyNSwxLjEyIC0wLjUzOSwwLjc1NCAtMS4wOTcsMS40OTUgLTEuNjE2LDIuMjYgLTEuOTY0LDMuMTQyIC0zLjU4MSw2LjQ5OCAtNC42MTksMTAuMDQyIC0wLjk3NywzLjU0MyAtMS43MDMsNy4xODMgLTEuNjQyLDEwLjg0OCAtMC4wOTYsMy42NTEgMC4zOTcsNy4yOTggMS4zNDYsMTAuNzg5IDEuOTQyLDYuOTc0IDUuODQxLDEzLjMyNCAxMS4xMzksMTcuOTY2IC00LjQ4OCwtNS40MDkgLTcuNTY0LC0xMS44MTYgLTguNzQ2LC0xOC41MTcgLTAuNjE2LC0zLjMzNiAtMC44MjMsLTYuNzQ1IC0wLjQ2NSwtMTAuMDkxIDAuMTk5LC0zLjM1OCAxLjAwNiwtNi42MzUgMi4wNzQsLTkuNzc4IDQuNCwtMTIuNjE4IDE1Ljk1OCwtMjIuMTcyIDI4Ljk0MSwtMjQuMTYgMy4yMjMsLTAuNjQ3IDYuNTQyLC0wLjU3OSA5LjgxMiwtMC4zNjMgMS42MTcsMC4yNzUgMy4yNjgsMC4zODUgNC44NDUsMC44NjUgMC43OTEsMC4yMTggMS42MDYsMC4zNiAyLjM4LDAuNjM1IGwgMi4zMjgsMC44MTQgYyAzLjA0MywxLjIyMiA2LjAzMiwyLjcwNyA4LjY1LDQuNzQgbCAxLjAwOSwwLjcyNCBjIDAuMzIxLDAuMjYgMC42MjQsMC41NDMgMC45MzcsMC44MTQgbCAxLjg2NywxLjY0MiBjIDEuMTI5LDEuMjExIDIuMzY3LDIuMzQxIDMuMzQzLDMuNjk0IDQuMjE1LDUuMTc0IDYuODkzLDExLjU2OCA3Ljk0NywxOC4yNzcgQyAzLjMzOCwtMTMuNjE5IDIuNTI3LC02LjU2MiAwLDAiCiAgICAgICAgICAgc3R5bGU9ImZpbGw6I2UxNzUxYztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgICAgICBpZD0icGF0aDQ3OTAiIC8+PC9nPjxnCiAgICAgICAgIGlkPSJnNDc5MiIKICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQ4LjIzNzMsNDYuNTY5MykiPjxwYXRoCiAgICAgICAgICAgZD0ibSAwLDAgYyAxLjU3MSwtMC4xNjIgMy4xNTQsLTAuMjA5IDQuNzMyLC0wLjEzIDMuMzQ0LDAuMTY3IDYuNjUsMC45MSA5LjczMywyLjIxOSAyLjMzMSwwLjk4OCA2LjI1LDIuNjcyIDcuNjMyLDQuODY1IDIuMjcsMy42MDMgMi4wODQsOS4yMSAxLjQ4MywxMy4yNTQgLTEuNDc5LDkuOTYyIC05Ljk4NCwxOC40NyAtMTkuNTQ1LDIxLjc4OSA0LjI4OSwtMS40ODggOC4zOSwtNS43MzkgMTAuNzAyLC05LjY3OSAyLjUxMywtNC4yOCAyLjUzOCwtOC43MTQgMC44MzgsLTEzLjEyIC0yLjE1OCwtNS41OTIgLTcuMTU5LC04LjgxMyAtMTMuMDk5LC04LjgxMyAtNy4xNCwwIC0xMy44NzMsNS45MTIgLTE0LjIzLDEzLjIyNyAtMC40MDIsOC4yMzkgNi41NjgsMTYuNDIxIDExLjI2OSwyMi40NzggMTMuNzc5LDE3Ljc1OCAyLjgsNDQuMzg0IDIuNzk4LDQ0LjM4NyBDIDEuNDk1LDgwLjk1MyAtMC44MjYsNzIuMDMgLTcuMDYzLDY0LjcyIC0xMi41Nyw1OC4yNjUgLTE5LjU4OCw1Mi45NzQgLTIzLjgwOCw0NS40OTMgYyAtMS45NzgsLTMuNTA2IC0zLjM1NiwtNy4zNzEgLTMuODc3LC0xMS44NzcgLTAuODQyLC03LjI2OSAwLjg5OCwtMTQuODE0IDUuMTEzLC0yMC44MjcgQyAtMTcuNDI2LDUuNDQ4IC04Ljg0MSwwLjkwNyAwLDAiCiAgICAgICAgICAgc3R5bGU9ImZpbGw6I2IxNDkyZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgICAgICBpZD0icGF0aDQ3OTQiIC8+PC9nPjxnCiAgICAgICAgIGlkPSJnNDc5NiIKICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQ5LjU5NDIsNDYuNDYxOSkiPjxwYXRoCiAgICAgICAgICAgZD0ibSAwLDAgYyAwLjM5LC0wLjAyMiAwLjc3OCwtMC4wNCAxLjE2NCwtMC4wNDkgLTkuNTg2LDQuMDM1IC0xNC4zMTEsMTEuNTQ3IC0xNS4zMDIsMjAuNDI5IC0wLjUwNiw0LjU0MSAwLjkxMyw4Ljg5MSAzLjI3OSwxMi42ODMgMi4zNjQsNC44NjIgNi4xMiw5LjQwMiA5LjAxNywxMy4xMzUgMTMuNzc5LDE3Ljc1NyAyLjgsNDQuMzg0IDIuNzk5LDQ0LjM4NiBDIDAuMTM4LDgxLjA2MSAtMi4xODMsNzIuMTM4IC04LjQyLDY0LjgyNyAtMTMuOTI3LDU4LjM3MyAtMjAuOTQ1LDUzLjA4MSAtMjUuMTY1LDQ1LjYgYyAtMS45NzgsLTMuNTA2IC0zLjM1NiwtNy4zNzEgLTMuODc3LC0xMS44NzYgLTAuODQyLC03LjI3IDAuODk4LC0xNC44MTUgNS4xMTMsLTIwLjgyOCBDIC0xOC43ODMsNS41NTYgLTEwLjE5OCwxLjAxNSAtMS4zNTcsMC4xMDcgLTAuOTQ5LDAuMDY1IC0wLjU0MywwLjAzMyAtMC4xNDEsMC4wMDggLTAuMDk0LDAuMDA1IC0wLjA0NywwLjAwMyAwLDAiCiAgICAgICAgICAgc3R5bGU9ImZpbGw6I2Q3NzIzMDtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgICAgICBpZD0icGF0aDQ3OTgiIC8+PC9nPjxnCiAgICAgICAgIGlkPSJnNDgwMCIKICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTc0LjM5MjYsNTcuNDY4OCkiPjxwYXRoCiAgICAgICAgICAgZD0ibSAwLDAgYyA0LjQ5OSw1LjM3OCA1LjQ1NCwxMy45MzggNS40NDEsMTkuOTg4IC0wLjAxMiw2IC0xLjU1NywxMi4wNjEgLTUuMDM3LDE3LjI3NyAtMi44NTEsNC4yNzYgLTYuOTAxLDcuODcgLTEwLjI0LDExLjg4MSAtMy4zNCw0LjAxMiAtNi4wNDIsOC43NDggLTUuNTcsMTMuNjUxIC0yLjc5MiwtMy4wMDYgLTMuMzk0LC03LjAwNiAtMi42MTMsLTEwLjkyNCAwLjY4MywtMy40MjIgMi41MzcsLTYuNTczIDMuNzY4LC05Ljg0NCAwLjkxNywtMi40MzkgMS45MTUsLTQuODY2IDIuNDQ3LC03LjQyNiAwLjU4NSwtMi44MTYgMC4yOTMsLTUuMDQ1IC0wLjc1NSwtNy42NzkgMS41ODYsLTEuMzczIDMuMTYzLC0yLjk3NiA0LjI5NiwtNC43NTMgMS4xMzUsLTEuNzc3IDEuMzk4LC0zLjk1NCAyLjM5MiwtNS44MDQgMi4yNjYsLTQuMjIgMy4wMzcsLTkuMTE4IDIuNTQ2LC0xMy44OTgiCiAgICAgICAgICAgc3R5bGU9ImZpbGw6I2UwYTgzMjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgICAgICBpZD0icGF0aDQ4MDIiIC8+PC9nPjxnCiAgICAgICAgIGlkPSJnNDgwNCIKICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTYyLjc5OTgsMTAyLjU3MjMpIj48cGF0aAogICAgICAgICAgIGQ9Ik0gMCwwIEMgLTMuMjI5LDQuNjc4IC02LjkwOCwxMi4wMjggLTMuODEzLDE3LjY5NCAtNi42MDUsMTQuNjg4IC03LjIwNywxMC42ODcgLTYuNDI2LDYuNzcgYyAwLjY4MywtMy40MjMgMi41MzYsLTYuNTc0IDMuNzY4LC05Ljg0NSAwLjkxNywtMi40MzggMS45MTUsLTQuODY2IDIuNDQ3LC03LjQyNSAwLjU4NSwtMi44MTcgMC4yOTMsLTUuMDQ2IC0wLjc1NSwtNy42NzkgMS41ODYsLTEuMzc0IDMuMTYyLC0yLjk3NiA0LjI5NiwtNC43NTMgMS4xMzUsLTEuNzc4IDEuMzk4LC0zLjk1NCAyLjM5MiwtNS44MDQgMC4yMjEsLTAuNDEzIDAuNDI0LC0wLjgzNSAwLjYxOCwtMS4yNiBsIDEuMDcsLTAuMDYyIGMgMCwwIDIuMjc1LDcuOTYyIDEuMjcyLDE1LjE4MiBDIDcuODcsLTkuMDQzIDMuMjA2LC00LjY0NSAwLDAiCiAgICAgICAgICAgc3R5bGU9ImZpbGw6I2MzNTAyZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgICAgICBpZD0icGF0aDQ4MDYiIC8+PC9nPjxnCiAgICAgICAgIGlkPSJnNDgwOCIKICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwLjc1ODMsNDYuNDEzMSkiPjxwYXRoCiAgICAgICAgICAgZD0ibSAwLDAgYyAwLDAgMTQuMTcsMy42OTEgMTYuNjY5LDE4Ljc5MyAyLjE4NiwxMy4yMDUgLTkuMTM3LDIxLjE4MyAtMTUuMTU1LDIzLjM2IDAsMCAxMy4xNzgsMC44OTggMjAuMTIxLC02Ljg0OSBDIDI4LjU3OSwyNy41NTggMjguMTEsMTkuMDg2IDI0LjI4OCwxMi4wNzEgMjAuMjIxLDQuNjA4IDkuMDE5LC0wLjY4MiAwLDAiCiAgICAgICAgICAgc3R5bGU9ImZpbGw6I2Q3NzIzMDtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIKICAgICAgICAgICBpZD0icGF0aDQ4MTAiIC8+PC9nPjxnCiAgICAgICAgIGlkPSJnNDgxMiIKICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwLjc1ODMsNDYuNDEzMSkiPjxwYXRoCiAgICAgICAgICAgZD0iTSAwLDAgQyAxNS42MTcsMS4zMyAyMy45ODksMTQuMDQxIDIxLjQ1MywyNi4yNDEgMTkuMDc1LDM3LjY3NyAxLjUxNCw0Mi4xNTMgMS41MTQsNDIuMTUzIDcuNTMyLDM5Ljk3NiAxOC44NTUsMzEuOTk4IDE2LjY2OSwxOC43OTMgMTQuMTcsMy42OTEgMCwwIDAsMCIKICAgICAgICAgICBzdHlsZT0iZmlsbDojZTBhODMyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIgogICAgICAgICAgIGlkPSJwYXRoNDgxNCIgLz48L2c+PGcKICAgICAgICAgaWQ9Imc0ODE2IgogICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjcuNTkxMyw3Ni45MjI5KSI+PHBhdGgKICAgICAgICAgICBkPSJtIDAsMCBjIDEuMDk0LDkuMjEzIDcuMTk4LDE1LjYzIDEyLjk5LDIyLjQwMiA0LjgyMiw1LjYzOCA5LjA1NiwxMS45NTUgMTAuNTkzLDE5LjMxMyAxLjIzOCw1LjkzNSAxLjMsMTIuNTkgLTAuNjI0LDE4LjQwOSBDIDIyLjE0MSw1MC42IDE5LjgyLDQxLjY3NyAxMy41ODMsMzQuMzY2IDguMDc2LDI3LjkxMiAxLjA1OCwyMi42MiAtMy4xNjIsMTUuMTM5IC01LjE0LDExLjYzMyAtNi41MTgsNy43NjggLTcuMDM5LDMuMjYzIGMgLTAuODQyLC03LjI3IDAuODk4LC0xNC44MTUgNS4xMTMsLTIwLjgyNyA1LjE0NiwtNy4zNDEgMTMuNzMxLC0xMS44ODIgMjIuNTcyLC0xMi43OSAwLjQwOCwtMC4wNDIgMC44MTMsLTAuMDc0IDEuMjE2LC0wLjA5OSAwLjA0NywtMC4wMDMgMC4wOTQsLTAuMDA1IDAuMTQxLC0wLjAwOCAwLjM5LC0wLjAyMiAwLjc3OCwtMC4wNCAxLjE2NCwtMC4wNDkgLTYuNDU0LDAuODgzIC0xMi4yNTQsMy4xMjggLTE2LjQ2MSw3LjQ3IEMgMC45NTQsLTE3LjEwMyAtMC45NTEsLTguMDEgMCwwIgogICAgICAgICAgIHN0eWxlPSJmaWxsOiNlMGE4MzI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiCiAgICAgICAgICAgaWQ9InBhdGg0ODE4IiAvPjwvZz48L2c+PC9nPjwvc3ZnPg==
54+
mediatype: image/svg+xml
55+
installModes:
56+
- supported: true
57+
type: OwnNamespace
58+
- supported: true
59+
type: SingleNamespace
60+
- supported: true
61+
type: MultiNamespace
62+
- supported: false
63+
type: AllNamespaces
64+
65+
install:
66+
strategy: deployment
67+
spec:
68+
permissions:
69+
- serviceAccountName: ember-csi-operator
70+
rules:
71+
- apiGroups:
72+
- ""
73+
resources:
74+
- pods
75+
- services
76+
- endpoints
77+
- persistentvolumeclaims
78+
- events
79+
- configmaps
80+
- secrets
81+
verbs:
82+
- '*'
83+
- apiGroups:
84+
- ""
85+
resources:
86+
- namespaces
87+
verbs:
88+
- get
89+
- apiGroups:
90+
- apps
91+
resources:
92+
- deployments
93+
- daemonsets
94+
- replicasets
95+
- statefulsets
96+
verbs:
97+
- '*'
98+
- apiGroups:
99+
- monitoring.coreos.com
100+
resources:
101+
- servicemonitors
102+
verbs:
103+
- get
104+
- create
105+
- apiGroups:
106+
- ember-csi.io
107+
resources:
108+
- '*'
109+
verbs:
110+
- '*'
111+
112+
clusterPermissions:
113+
- serviceAccountName: ember-csi-operator
114+
rules:
115+
- apiGroups:
116+
- "security.openshift.io"
117+
resources:
118+
- securitycontextconstraints
119+
verbs:
120+
- use
121+
resourceNames:
122+
- privileged
123+
- hostmount-anyuid
124+
- apiGroups:
125+
- ember-csi.io
126+
resources:
127+
- "*"
128+
verbs:
129+
- "*"
130+
- apiGroups:
131+
- rbac.authorization.k8s.io
132+
resources:
133+
- clusterrole
134+
- clusterrolebindings
135+
- role
136+
- rolebindings
137+
- serviceaccounts
138+
verbs:
139+
- get
140+
- create
141+
- delete
142+
- patch
143+
- update
144+
- apiGroups:
145+
- apiextensions.k8s.io
146+
resources:
147+
- customresourcedefinitions
148+
verbs:
149+
- list
150+
- create
151+
- apiGroups:
152+
- ""
153+
resources:
154+
- nodes
155+
verbs:
156+
- "*"
157+
- apiGroups:
158+
- ""
159+
resources:
160+
- secrets
161+
verbs:
162+
- get
163+
- list
164+
- apiGroups:
165+
- ""
166+
resources:
167+
- persistentvolumes
168+
verbs:
169+
- create
170+
- delete
171+
- list
172+
- get
173+
- watch
174+
- update
175+
- apiGroups:
176+
- ""
177+
resources:
178+
- persistentvolumeclaims
179+
verbs:
180+
- get
181+
- list
182+
- watch
183+
- update
184+
- apiGroups:
185+
- storage.k8s.io
186+
resources:
187+
- volumeattachments
188+
verbs:
189+
- get
190+
- list
191+
- watch
192+
- update
193+
- delete
194+
- create
195+
- apiGroups:
196+
- storage.k8s.io
197+
resources:
198+
- storageclasses
199+
- csinodes
200+
verbs:
201+
- create
202+
- get
203+
- list
204+
- watch
205+
- update
206+
- delete
207+
- apiGroups:
208+
- "*"
209+
resources:
210+
- events
211+
verbs:
212+
- create
213+
- list
214+
- watch
215+
- update
216+
- delete
217+
- apiGroups:
218+
- snapshot.storage.k8s.io
219+
resources:
220+
- volumesnapshotclasses
221+
verbs:
222+
- get
223+
- list
224+
- watch
225+
- create
226+
- update
227+
- delete
228+
- apiGroups:
229+
- snapshot.storage.k8s.io
230+
resources:
231+
- volumesnapshotcontents
232+
verbs:
233+
- create
234+
- get
235+
- list
236+
- watch
237+
- update
238+
- delete
239+
- apiGroups:
240+
- snapshot.storage.k8s.io
241+
resources:
242+
- volumesnapshots
243+
verbs:
244+
- get
245+
- list
246+
- watch
247+
- update
248+
- apiGroups:
249+
- csi.storage.k8s.io
250+
resources:
251+
- csidrivers
252+
verbs:
253+
- create
254+
- get
255+
- list
256+
- watch
257+
- update
258+
- delete
259+
deployments:
260+
- name: ember-csi-operator
261+
spec:
262+
replicas: 1
263+
selector:
264+
matchLabels:
265+
name: ember-csi-operator
266+
strategy: {}
267+
template:
268+
metadata:
269+
labels:
270+
name: ember-csi-operator
271+
spec:
272+
containers:
273+
- command:
274+
- ember-csi-operator
275+
env:
276+
- name: WATCH_NAMESPACE
277+
valueFrom:
278+
fieldRef:
279+
fieldPath: metadata.namespace
280+
- name: POD_NAME
281+
valueFrom:
282+
fieldRef:
283+
fieldPath: metadata.name
284+
- name: OPERATOR_NAME
285+
value: ember-csi-operator
286+
image: docker.io/embercsi/ember-csi-operator:latest
287+
imagePullPolicy: Always
288+
name: ember-csi-operator
289+
ports:
290+
- containerPort: 60000
291+
name: metrics
292+
readinessProbe:
293+
exec:
294+
command:
295+
- stat
296+
- /tmp/operator-sdk-ready
297+
failureThreshold: 1
298+
initialDelaySeconds: 4
299+
periodSeconds: 10
300+
resources: {}
301+
serviceAccountName: ember-csi-operator
302+
303+
customresourcedefinitions:
304+
owned:
305+
- kind: EmberCSI
306+
name: embercsis.ember-csi.io
307+
version: v1alpha1
308+
displayName: Deployments
309+
description: Represents a deployment of EmberCSI driver
310+
resources:
311+
- kind: StorageClass
312+
name: ''
313+
version: v1
314+
- kind: StatefulSet
315+
name: ''
316+
version: v1
317+
- kind: EmberCSI
318+
name: ''
319+
version: v1alpha
320+
- kind: Daemonset
321+
name: ''
322+
version: v1
323+
statusDescriptors:
324+
- description: The installed Ember CSI version
325+
displayName: Version
326+
path: version
327+
specDescriptors:
328+
- description: Define which Nodes the Pods are scheduled on.
329+
displayName: nodeSelect
330+
path: nodeSelector
331+
- description: Ember CSI driver container image to use
332+
displayName: image
333+
path: image
334+
- description: Config for Ember
335+
displayName: config
336+
path: config
337+
- description: Tolerations
338+
displayName: tolerations
339+
path: tolerations
340+
- description: Topologies
341+
displayName: topologies
342+
path: topologies
343+
# BEGIN AUTO GENERATED CONFIGURATION OPTIONS
344+
${DRIVER_OPTIONS}
345+
# END AUTO GENERATED CONFIGURATION OPTIONS

‎build/olm-catalog/yaml-options-gen.py

+662
Large diffs are not rendered by default.

‎deploy/olm-catalog/next/ember-csi-operator.vX.Y.Z.clusterserviceversion.yaml

+9,205
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)
Please sign in to comment.