From 35ab4cd927104b739733b3e9c0da6777ef04eb66 Mon Sep 17 00:00:00 2001 From: Julien Pinsonneau Date: Mon, 18 Sep 2023 16:30:30 +0200 Subject: [PATCH] specDescriptors / statusDescriptors --- ...observ-operator.clusterserviceversion.yaml | 362 +++++++++++++++--- 1 file changed, 308 insertions(+), 54 deletions(-) diff --git a/config/csv/bases/netobserv-operator.clusterserviceversion.yaml b/config/csv/bases/netobserv-operator.clusterserviceversion.yaml index 66f52bc05..fc9e9ddc3 100644 --- a/config/csv/bases/netobserv-operator.clusterserviceversion.yaml +++ b/config/csv/bases/netobserv-operator.clusterserviceversion.yaml @@ -2,12 +2,12 @@ apiVersion: operators.coreos.com/v1 kind: ClusterServiceVersion metadata: annotations: - alm-examples: '[]' + alm-examples: "[]" capabilities: Seamless Upgrades categories: Monitoring console.openshift.io/plugins: '["netobserv-plugin"]' - containerImage: ':container-image:' - createdAt: ':created-at:' + containerImage: ":container-image:" + createdAt: ":created-at:" description: Network flows collector and monitoring solution operatorframework.io/suggested-namespace: openshift-netobserv-operator repository: https://github.com/netobserv/network-observability-operator @@ -23,67 +23,321 @@ spec: apiservicedefinitions: {} customresourcedefinitions: owned: - - description: FlowCollector is the Schema for the flowcollectors API, which pilots - and configures netflow collection. - displayName: Flow Collector - kind: FlowCollector - name: flowcollectors.flows.netobserv.io - version: v1alpha1 - - description: '`FlowCollector` is the schema for the network flows collection - API, which pilots and configures the underlying deployments.' - displayName: Flow Collector - kind: FlowCollector - name: flowcollectors.flows.netobserv.io - version: v1beta1 - description: ':full-description:' + - description: + FlowCollector is the Schema for the flowcollectors API, which pilots + and configures netflow collection. + displayName: Flow Collector + kind: FlowCollector + name: flowcollectors.flows.netobserv.io + version: v1alpha1 + - description: + "`FlowCollector` is the schema for the network flows collection + API, which pilots and configures the underlying deployments." + displayName: Flow Collector + kind: FlowCollector + name: flowcollectors.flows.netobserv.io + version: v1beta1 + specDescriptors: + - displayName: Namespace + path: namespace + - displayName: Deployment model + path: deploymentModel + - displayName: Agent configuration + path: agent + - description: >- + Flows tracing agent. EBPF (default) is recommended as it offers + better performances and should work regardless of the CNI + installed on the cluster. `IPFIX` works with OVN-Kubernetes CNI + (other CNIs could work if they support exporting IPFIX, + displayName: Agent type + path: agent.type + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:select:EBPF" + - "urn:alm:descriptor:com.tectonic.ui:select:IPFIX" + - description: Deprecated - Settings related to the IPFIX-based flow reporter. + displayName: IPFIX Agent configuration + path: agent.ipfix + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:fieldDependency:agent.type:IPFIX" + - displayName: Sampling + path: agent.ipfix.sampling + - displayName: Cache timeout + path: agent.ipfix.cacheActiveTimeout + - displayName: Cache max flows + path: agent.ipfix.cacheMaxFlows + - displayName: Force sample ALL + path: agent.ipfix.forceSampleAll + - displayName: OpenShift Cluster Network Operator settings + path: agent.ipfix.clusterNetworkOperator + - displayName: Namespace + path: agent.ipfix.clusterNetworkOperator.namespace + - displayName: OVN-Kubernetes settings + path: agent.ipfix.ovnKubernetes + - displayName: Namespace + path: agent.ipfix.ovnKubernetes.namespace + - displayName: DaemonSet name + path: agent.ipfix.ovnKubernetes.daemonSetName + - displayName: Container name + path: agent.ipfix.ovnKubernetes.containerName + - description: Settings related to the eBPF-based flow reporter. + displayName: eBPF Agent configuration + path: agent.ebpf + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:fieldDependency:agent.type:EBPF" + - displayName: Sampling + path: agent.ebpf.sampling + - displayName: Privileged mode + path: agent.ebpf.privileged + - displayName: Features + path: agent.ebpf.features + - displayName: Cache timeout + path: agent.ebpf.cacheActiveTimeout + - displayName: Cache max flows + path: agent.ebpf.cacheMaxFlows + - displayName: Kafka maximum request size + path: agent.ebpf.kafkaBatchSize + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:fieldDependency:deploymentModel:KAFKA" + - displayName: Interfaces + path: agent.ebpf.interfaces + - displayName: Exclude interfaces + path: agent.ebpf.excludeInterfaces + - displayName: Log level + path: agent.ebpf.logLevel + - displayName: Image pull policy + path: agent.ebpf.imagePullPolicy + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:imagePullPolicy" + - displayName: Resource Requirements + path: agent.ebpf.resources + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + - displayName: Kafka configuration + path: kafka + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:fieldDependency:deploymentModel:KAFKA" + - displayName: Address + path: kafka.address + - displayName: Topic + path: kafka.topic + - displayName: TLS configuration + path: kafka.tls + - displayName: Enable + path: kafka.tls.enable + - displayName: Insecure + path: kafka.tls.insecureSkipVerify + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:fieldDependency:kafka.tls.enable:true" + - displayName: User cert + path: kafka.tls.userCert + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:fieldDependency:kafka.tls.enable:true" + - displayName: CA cert + path: kafka.tls.caCert + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:fieldDependency:kafka.tls.enable:true" + - displayName: SASL configuration + path: kafka.sasl + - displayName: Type + path: kafka.sasl.type + - displayName: Client ID + path: kafka.sasl.clientIDReference + - displayName: Client secret + path: kafka.sasl.clientSecretReference + - displayName: Processor configuration + path: processor + - displayName: ClusterName + path: processor.clusterName + - displayName: Log types + path: processor.logTypes + - displayName: Conversation heartbeat interval + path: processor.conversationHeartbeatInterval + - displayName: Conversation terminating timeout + path: processor.conversationTerminatingTimeout + - displayName: Conversation end timeout + path: processor.conversationEndTimeout + - displayName: Enable kubernetes probes + path: processor.enableKubeProbes + - displayName: Metrics configuration + path: processor.metrics + - displayName: Server configuration + path: processor.metrics.server + - displayName: Port + path: processor.metrics.server.port + - displayName: TLS configuration + path: processor.metrics.server.tls + - displayName: Type + path: processor.metrics.server.tls.type + - displayName: Insecure + path: processor.metrics.server.tls.insecureSkipVerify + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:fieldDependency:processor.metrics.server.tls.type:PROVIDED" + - displayName: Cert + path: processor.metrics.server.tls.provided + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:fieldDependency:processor.metrics.server.tls.type:PROVIDED" + - displayName: CA + path: processor.metrics.server.tls.providedCaFile + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:fieldDependency:processor.metrics.server.tls.type:PROVIDED" + - displayName: Ignore tags + path: processor.metrics.ignoreTags + - displayName: Disable alerts + path: processor.metrics.disableAlerts + - displayName: Drop unused fields + path: processor.dropUnusedFields + - displayName: Port + path: processor.port + - displayName: Health port + path: processor.healthPort + - displayName: ProfilePort + path: processor.profilePort + - displayName: Kafka consumer replicas + path: processor.kafkaConsumerReplicas + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:fieldDependency:deploymentModel:KAFKA" + - displayName: kafka consumer autoscaler + path: processor.kafkaConsumerAutoscaler + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:fieldDependency:deploymentModel:KAFKA" + - displayName: Kafka consumer queue capacity + path: processor.kafkaConsumerQueueCapacity + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:fieldDependency:deploymentModel:KAFKA" + - displayName: Kafka consumer batch size + path: processor.kafkaConsumerBatchSize + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:fieldDependency:deploymentModel:KAFKA" + - displayName: Log level + path: processor.logLevel + - displayName: Image pull policy + path: processor.imagePullPolicy + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:imagePullPolicy" + - displayName: Resource Requirements + path: processor.resources + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + - displayName: Loki configuration + path: loki + - displayName: Enable + path: loki.enable + - displayName: Console plugin configuration + path: consolePlugin + - displayName: Enable + path: consolePlugin.enable + - displayName: Register + path: consolePlugin.register + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:fieldDependency:consolePlugin.enable:true" + - displayName: Port + path: consolePlugin.port + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:fieldDependency:consolePlugin.enable:true" + - displayName: Port naming + path: consolePlugin.portNaming + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:fieldDependency:consolePlugin.enable:true" + - displayName: Quick filters + path: consolePlugin.quickFilters + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:fieldDependency:consolePlugin.enable:true" + - displayName: Replicas + path: consolePlugin.replicas + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:fieldDependency:consolePlugin.enable:true" + - displayName: Horizontal pod autoscaler + path: consolePlugin.autoscaler + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:fieldDependency:consolePlugin.enable:true" + - displayName: Log level + path: consolePlugin.logLevel + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:fieldDependency:consolePlugin.enable:true" + - displayName: Image pull policy + path: consolePlugin.imagePullPolicy + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:imagePullPolicy" + - "urn:alm:descriptor:com.tectonic.ui:fieldDependency:consolePlugin.enable:true" + - displayName: Resource Requirements + path: consolePlugin.resources + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + - "urn:alm:descriptor:com.tectonic.ui:fieldDependency:consolePlugin.enable:true" + - displayName: Exporters + path: exporters + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:advanced + - displayName: Type + path: exporters[0].type + - displayName: IPFIX configuration + path: exporters[0].ipfix + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:fieldDependency:exporters.type:IPFIX" + - displayName: Kafka configuration + path: exporters[0].kafka + x-descriptors: + - "urn:alm:descriptor:com.tectonic.ui:fieldDependency:exporters.type:KAFKA" + statusDescriptors: + - displayName: Namespace + description: Namespace where console plugin and flowlogs-pipeline have been deployed. + path: namespace + x-descriptors: + - urn:alm:descriptor:text + - description: Conditions of the FlowCollector instance health. + displayName: Conditions + path: conditions + x-descriptors: + - urn:alm:descriptor:io.kubernetes.conditions + description: ":full-description:" displayName: NetObserv Operator icon: - - base64data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMiwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMDAgMTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6dXJsKCNTVkdJRF8xXyk7fQoJLnN0MXtmaWxsOiNGRkZGRkY7fQoJLnN0MntvcGFjaXR5OjAuNjt9Cgkuc3Qze29wYWNpdHk6MC41O30KCS5zdDR7b3BhY2l0eTowLjQ7fQo8L3N0eWxlPgo8Zz4KCTxnPgoJCTxnPgoJCQk8cmFkaWFsR3JhZGllbnQgaWQ9IlNWR0lEXzFfIiBjeD0iMTQuNzc1OCIgY3k9Ii0yLjk3NzEiIHI9IjkxLjYyNyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgoJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6IzNDM0ZBNiIvPgoJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6IzNCMDM0MCIvPgoJCQk8L3JhZGlhbEdyYWRpZW50PgoJCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTAsOTljLTEzLjMsMC0yNS40LTUuMy0zNC4yLTEzLjlDNi43LDc2LjIsMSw2My43LDEsNTBDMSwyMi45LDIyLjksMSw1MCwxYzEzLjcsMCwyNi4yLDUuNywzNS4xLDE0LjgKCQkJCUM5My43LDI0LjYsOTksMzYuNyw5OSw1MEM5OSw3Ny4xLDc3LjEsOTksNTAsOTl6Ii8+CgkJPC9nPgoJCTxnPgoJCQk8Y2lyY2xlIGNsYXNzPSJzdDEiIGN4PSIzNy41IiBjeT0iODEuOSIgcj0iNSIvPgoJCTwvZz4KCQk8cGF0aCBjbGFzcz0ic3QxIiBkPSJNNDguNiw5MS45bDE4LjgtNDMuM2MtMi41LTAuMS01LTAuNy03LjItMkwzMy4yLDY4LjJsMS40LTEuOGwyMC0yNS4xYy0xLjUtMi40LTIuMy01LjEtMi4zLTcuOUw5LDUyLjIKCQkJbDQ3LjYtMjkuOWwwLDBjMC4xLTAuMSwwLjItMC4yLDAuMi0wLjJjNi4xLTYuMSwxNS45LTYuMSwyMiwwbDAuMSwwLjFjNiw2LjEsNiwxNS45LTAuMSwyMS45Yy0wLjEsMC4xLTAuMiwwLjItMC4yLDAuMmwwLDAKCQkJTDQ4LjYsOTEuOXoiLz4KCQk8ZyBjbGFzcz0ic3QyIj4KCQkJPGNpcmNsZSBjbGFzcz0ic3QxIiBjeD0iNTAuMyIgY3k9IjE0LjciIHI9IjMuMSIvPgoJCTwvZz4KCQk8ZyBjbGFzcz0ic3QzIj4KCQkJPGNpcmNsZSBjbGFzcz0ic3QxIiBjeD0iMjcuNyIgY3k9IjU4IiByPSIxLjciLz4KCQk8L2c+CgkJPGc+CgkJCTxjaXJjbGUgY2xhc3M9InN0MSIgY3g9Ijc3LjQiIGN5PSI2OS4zIiByPSIxLjciLz4KCQk8L2c+CgkJPGc+CgkJCTxjaXJjbGUgY2xhc3M9InN0MSIgY3g9IjE2LjMiIGN5PSIzNi42IiByPSIxLjciLz4KCQk8L2c+CgkJPGcgY2xhc3M9InN0NCI+CgkJCTxjaXJjbGUgY2xhc3M9InN0MSIgY3g9IjYzLjciIGN5PSI4NS45IiByPSIyLjIiLz4KCQk8L2c+CgkJPGc+CgkJCTxjaXJjbGUgY2xhc3M9InN0MSIgY3g9IjI5LjQiIGN5PSIxOS42IiByPSI0LjgiLz4KCQk8L2c+CgkJPGcgY2xhc3M9InN0MyI+CgkJCTxjaXJjbGUgY2xhc3M9InN0MSIgY3g9Ijg4IiBjeT0iNTAiIHI9IjQuOCIvPgoJCTwvZz4KCTwvZz4KPC9nPgo8L3N2Zz4K - mediatype: image/svg+xml + - base64data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMiwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMDAgMTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6dXJsKCNTVkdJRF8xXyk7fQoJLnN0MXtmaWxsOiNGRkZGRkY7fQoJLnN0MntvcGFjaXR5OjAuNjt9Cgkuc3Qze29wYWNpdHk6MC41O30KCS5zdDR7b3BhY2l0eTowLjQ7fQo8L3N0eWxlPgo8Zz4KCTxnPgoJCTxnPgoJCQk8cmFkaWFsR3JhZGllbnQgaWQ9IlNWR0lEXzFfIiBjeD0iMTQuNzc1OCIgY3k9Ii0yLjk3NzEiIHI9IjkxLjYyNyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgoJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6IzNDM0ZBNiIvPgoJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6IzNCMDM0MCIvPgoJCQk8L3JhZGlhbEdyYWRpZW50PgoJCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTAsOTljLTEzLjMsMC0yNS40LTUuMy0zNC4yLTEzLjlDNi43LDc2LjIsMSw2My43LDEsNTBDMSwyMi45LDIyLjksMSw1MCwxYzEzLjcsMCwyNi4yLDUuNywzNS4xLDE0LjgKCQkJCUM5My43LDI0LjYsOTksMzYuNyw5OSw1MEM5OSw3Ny4xLDc3LjEsOTksNTAsOTl6Ii8+CgkJPC9nPgoJCTxnPgoJCQk8Y2lyY2xlIGNsYXNzPSJzdDEiIGN4PSIzNy41IiBjeT0iODEuOSIgcj0iNSIvPgoJCTwvZz4KCQk8cGF0aCBjbGFzcz0ic3QxIiBkPSJNNDguNiw5MS45bDE4LjgtNDMuM2MtMi41LTAuMS01LTAuNy03LjItMkwzMy4yLDY4LjJsMS40LTEuOGwyMC0yNS4xYy0xLjUtMi40LTIuMy01LjEtMi4zLTcuOUw5LDUyLjIKCQkJbDQ3LjYtMjkuOWwwLDBjMC4xLTAuMSwwLjItMC4yLDAuMi0wLjJjNi4xLTYuMSwxNS45LTYuMSwyMiwwbDAuMSwwLjFjNiw2LjEsNiwxNS45LTAuMSwyMS45Yy0wLjEsMC4xLTAuMiwwLjItMC4yLDAuMmwwLDAKCQkJTDQ4LjYsOTEuOXoiLz4KCQk8ZyBjbGFzcz0ic3QyIj4KCQkJPGNpcmNsZSBjbGFzcz0ic3QxIiBjeD0iNTAuMyIgY3k9IjE0LjciIHI9IjMuMSIvPgoJCTwvZz4KCQk8ZyBjbGFzcz0ic3QzIj4KCQkJPGNpcmNsZSBjbGFzcz0ic3QxIiBjeD0iMjcuNyIgY3k9IjU4IiByPSIxLjciLz4KCQk8L2c+CgkJPGc+CgkJCTxjaXJjbGUgY2xhc3M9InN0MSIgY3g9Ijc3LjQiIGN5PSI2OS4zIiByPSIxLjciLz4KCQk8L2c+CgkJPGc+CgkJCTxjaXJjbGUgY2xhc3M9InN0MSIgY3g9IjE2LjMiIGN5PSIzNi42IiByPSIxLjciLz4KCQk8L2c+CgkJPGcgY2xhc3M9InN0NCI+CgkJCTxjaXJjbGUgY2xhc3M9InN0MSIgY3g9IjYzLjciIGN5PSI4NS45IiByPSIyLjIiLz4KCQk8L2c+CgkJPGc+CgkJCTxjaXJjbGUgY2xhc3M9InN0MSIgY3g9IjI5LjQiIGN5PSIxOS42IiByPSI0LjgiLz4KCQk8L2c+CgkJPGcgY2xhc3M9InN0MyI+CgkJCTxjaXJjbGUgY2xhc3M9InN0MSIgY3g9Ijg4IiBjeT0iNTAiIHI9IjQuOCIvPgoJCTwvZz4KCTwvZz4KPC9nPgo8L3N2Zz4K + mediatype: image/svg+xml install: spec: deployments: null strategy: "" installModes: - - supported: false - type: OwnNamespace - - supported: false - type: SingleNamespace - - supported: false - type: MultiNamespace - - supported: true - type: AllNamespaces + - supported: false + type: OwnNamespace + - supported: false + type: SingleNamespace + - supported: false + type: MultiNamespace + - supported: true + type: AllNamespaces keywords: - - network observability - - ebpf - - ipfix - - flow tracing - - flows - - topology - - network - - observability + - network observability + - ebpf + - ipfix + - flow tracing + - flows + - topology + - network + - observability links: - - name: Project page - url: https://github.com/netobserv/network-observability-operator - - name: Issue tracker - url: https://github.com/netobserv/network-observability-operator/issues - - name: Discussion board - url: https://github.com/netobserv/network-observability-operator/discussions + - name: Project page + url: https://github.com/netobserv/network-observability-operator + - name: Issue tracker + url: https://github.com/netobserv/network-observability-operator/issues + - name: Discussion board + url: https://github.com/netobserv/network-observability-operator/discussions maintainers: - - email: jpinsonn@redhat.com - name: Julien Pinsonneau - - email: jtakvori@redhat.com - name: Joel Takvorian - - email: kmeth@redhat.com - name: Kalman Meth - - email: mmahmoud@redhat.com - name: Mohamed S. Mahmoud - - email: ocazade@redhat.com - name: Olivier Cazade - - email: rschaffe@redhat.com - name: Ronen Schaffer - - email: stlee@redhat.com - name: Steven Lee + - email: jpinsonn@redhat.com + name: Julien Pinsonneau + - email: jtakvori@redhat.com + name: Joel Takvorian + - email: kmeth@redhat.com + name: Kalman Meth + - email: mmahmoud@redhat.com + name: Mohamed S. Mahmoud + - email: ocazade@redhat.com + name: Olivier Cazade + - email: rschaffe@redhat.com + name: Ronen Schaffer + - email: stlee@redhat.com + name: Steven Lee maturity: alpha minKubeVersion: 1.23.0 provider: