diff --git a/community-operators/cluster-logging/clusterlogging.package.yaml b/community-operators/cluster-logging/cluster-logging.package.yaml similarity index 100% rename from community-operators/cluster-logging/clusterlogging.package.yaml rename to community-operators/cluster-logging/cluster-logging.package.yaml diff --git a/community-operators/cluster-logging/clusterlogging.v0.0.1.clusterserviceversion.yaml b/community-operators/cluster-logging/cluster-logging.v0.0.1.clusterserviceversion.yaml similarity index 72% rename from community-operators/cluster-logging/clusterlogging.v0.0.1.clusterserviceversion.yaml rename to community-operators/cluster-logging/cluster-logging.v0.0.1.clusterserviceversion.yaml index 31b4f7646e..78a0049546 100644 --- a/community-operators/cluster-logging/clusterlogging.v0.0.1.clusterserviceversion.yaml +++ b/community-operators/cluster-logging/cluster-logging.v0.0.1.clusterserviceversion.yaml @@ -8,10 +8,11 @@ metadata: annotations: capabilities: Seamless Upgrades categories: "OpenShift Optional, Logging & Tracing" + capabilities: "Seamless Upgrades" certified: "false" description: |- The Cluster Logging Operator for OKD provides a means for configuring and managing your aggregated logging stack. - containerImage: quay.io/openshift/cluster-logging-operator:latest + containerImage: quay.io/openshift/origin-cluster-logging-operator:latest createdAt: 2018-08-01T08:00:00Z support: AOS Logging alm-examples: |- @@ -20,7 +21,8 @@ metadata: "apiVersion": "logging.openshift.io/v1alpha1", "kind": "ClusterLogging", "metadata": { - "name": "instance" + "name": "instance", + "namespace": "openshift-logging" }, "spec": { "managementState": "Managed", @@ -62,8 +64,10 @@ spec: description: | The Cluster Logging Operator for OKD provides a means for configuring and managing your aggregated logging stack. + It is recommended to deploy this operator to the **openshift-logging** namespace. + Once installed, the Cluster Logging Operator provides the following features: - * **Create/Destroy**: Launch and create an aggregated logging stack in the `openshift-logging` namespace. + * **Create/Destroy**: Launch and create an aggregated logging stack to support the entire OKD cluster. * **Simplified Configuration**: Configure your aggregated logging cluster's structure like components and end points easily. keywords: ['elasticsearch', 'kibana', 'fluentd', 'logging', 'aggregated', 'efk'] @@ -84,8 +88,6 @@ spec: url: https://github.com/openshift/cluster-logging-operator/blob/master/README.md - name: Cluster Logging Operator url: https://github.com/openshift/cluster-logging-operator - - name: Elasticsearch Operator - url: https://github.com/openshift/elasticsearch-operator installModes: - type: OwnNamespace supported: true @@ -94,7 +96,7 @@ spec: - type: MultiNamespace supported: false - type: AllNamespaces - supported: true + supported: false install: strategy: deployment spec: @@ -157,44 +159,6 @@ spec: - privileged verbs: - use - - serviceAccountName: elasticsearch-operator - rules: - - apiGroups: - - logging.openshift.io - resources: - - "*" - verbs: - - "*" - - apiGroups: - - "" - resources: - - pods - - pods/exec - - services - - endpoints - - persistentvolumeclaims - - events - - configmaps - - secrets - - serviceaccounts - verbs: - - "*" - - apiGroups: - - apps - resources: - - deployments - - daemonsets - - replicasets - - statefulsets - verbs: - - "*" - - apiGroups: - - monitoring.coreos.com - resources: - - prometheusrules - - servicemonitors - verbs: - - "*" clusterPermissions: - serviceAccountName: cluster-logging-operator rules: @@ -213,6 +177,7 @@ spec: - apiGroups: - rbac.authorization.k8s.io resources: + - clusterroles - clusterrolebindings verbs: - "*" @@ -254,34 +219,6 @@ spec: value: "quay.io/openshift/origin-oauth-proxy:latest" - name: RSYSLOG_IMAGE value: "docker.io/viaq/rsyslog:latest" - - name: elasticsearch-operator - spec: - replicas: 1 - selector: - matchLabels: - name: elasticsearch-operator - template: - metadata: - labels: - name: elasticsearch-operator - spec: - serviceAccountName: elasticsearch-operator - containers: - - name: elasticsearch-operator - image: quay.io/openshift/origin-elasticsearch-operator:latest - imagePullPolicy: IfNotPresent - command: - - elasticsearch-operator - ports: - - containerPort: 60000 - name: metrics - env: - - name: WATCH_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.annotations['olm.targetNamespaces'] - - name: OPERATOR_NAME - value: "elasticsearch-operator" version: 0.0.1 customresourcedefinitions: owned: @@ -409,65 +346,3 @@ spec: path: collection.logs.rsyslogStatus.pods x-descriptors: - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - name: elasticsearches.logging.openshift.io - version: v1alpha1 - kind: Elasticsearch - displayName: Elasticsearch - description: An Elasticsearch cluster instance - resources: - - kind: Deployment - version: v1 - - kind: StatefulSet - version: v1 - - kind: ReplicaSet - version: v1 - - kind: Pod - version: v1 - - kind: ConfigMap - version: v1 - - kind: Service - version: v1 - - kind: Route - version: v1 - specDescriptors: - - description: The name of the serviceaccount used by the Elasticsearch pods - displayName: Service Account - path: serviceAccountName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:ServiceAccount' - - description: The name of the configmap used by the Elasticsearch pods - displayName: Config Map - path: configMapName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:ConfigMap' - - description: The name of the secret used by the Elasticsearch pods - displayName: Secret - path: secretName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Secret' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: nodeSpec.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - statusDescriptors: - - description: The current health of Elasticsearch Cluster - displayName: Elasticsearch Cluster Health - path: clusterHealth - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase' - - description: The status for each of the Elasticsearch pods with the Client role - displayName: Elasticsearch Client Status - path: pods.client - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The status for each of the Elasticsearch pods with the Data role - displayName: Elasticsearch Data Status - path: pods.data - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The status for each of the Elasticsearch pods with the Master role - displayName: Elasticsearch Master Status - path: pods.master - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' diff --git a/community-operators/cluster-logging/clusterloggings.crd.yaml b/community-operators/cluster-logging/cluster-loggings.crd.yaml similarity index 100% rename from community-operators/cluster-logging/clusterloggings.crd.yaml rename to community-operators/cluster-logging/cluster-loggings.crd.yaml diff --git a/community-operators/elasticsearch-operator/elasticsearch-operator.package.yaml b/community-operators/elasticsearch-operator/elasticsearch-operator.package.yaml new file mode 100644 index 0000000000..5950e81fb6 --- /dev/null +++ b/community-operators/elasticsearch-operator/elasticsearch-operator.package.yaml @@ -0,0 +1,5 @@ +#! package-manifest: ./deploy/chart/catalog_resources/rh-operators/elasticsearch-operator.v0.0.1.clusterserviceversion.yaml +packageName: elasticsearch-operator +channels: +- name: preview + currentCSV: elasticsearch-operator.v0.0.1 diff --git a/community-operators/elasticsearch-operator/elasticsearch-operator.v0.0.1.clusterserviceversion.yaml b/community-operators/elasticsearch-operator/elasticsearch-operator.v0.0.1.clusterserviceversion.yaml new file mode 100644 index 0000000000..5c3cfeb4cd --- /dev/null +++ b/community-operators/elasticsearch-operator/elasticsearch-operator.v0.0.1.clusterserviceversion.yaml @@ -0,0 +1,228 @@ +#! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml +#! parse-kind: ClusterServiceVersion +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + name: elasticsearch-operator.v0.0.1 + namespace: placeholder + annotations: + categories: "OpenShift Optional, Logging & Tracing" + capabilities: "Seamless Upgrades" + certified: "false" + description: |- + The Elasticsearch Operator for OKD provides a means for configuring and managing an Elasticsearch cluster for tracing and cluster logging. + containerImage: quay.io/openshift/origin-elasticsearch-operator:latest + createdAt: 2019-02-20T08:00:00Z + support: AOS Cluster Logging, Jaeger + alm-examples: |- + [ + { + "apiVersion": "logging.openshift.io/v1alpha1", + "kind": "Elasticsearch", + "metadata": { + "name": "elasticsearch" + }, + "spec": { + "managementState": "Managed", + "nodeSpec": { + "image": "quay.io/openshift/origin-logging-elasticsearch5:latest", + "resources": { + "limits": { + "memory": "1Gi" + }, + "requests": { + "memory": "512Mi" + } + } + }, + "nodes": [ + { + "nodeCount": 1, + "roles": ["client","data","master"], + "redundancyPolicy": "SingleRedundancy" + } + ] + } + } + ] +spec: + displayName: Elasticsearch Operator + + description: | + The Elasticsearch Operator for OKD provides a means for configuring and managing an Elasticsearch cluster for use in tracing and cluster logging. + This operator only supports OKD Cluster Logging and Jaeger. It is tightly coupled to each and is not currently capable of + being used as a general purpose manager of Elasticsearch clusters running on OKD. + + It is recommended this operator be deployed to the **openshift-operators** namespace to properly support the Cluster Logging and Jaeger use cases. + + Once installed, the operator provides the following features: + * **Create/Destroy**: Deploy an Elasticsearch cluster to the same namespace in which the Elasticsearch custom resource is created. + + keywords: ['elasticsearch', 'jaeger'] + + maintainers: + - name: Red Hat, AOS Logging + email: aos-logging@redhat.com + + provider: + name: Red Hat, Inc + + links: + - name: Elastic + url: https://www.elastic.co/ + - name: Elasticsearch Operator + url: https://github.com/openshift/elasticsearch-operator + installModes: + - type: OwnNamespace + supported: true + - type: SingleNamespace + supported: false + - type: MultiNamespace + supported: false + - type: AllNamespaces + supported: true + install: + strategy: deployment + spec: + clusterPermissions: + - serviceAccountName: elasticsearch-operator + rules: + - apiGroups: + - logging.openshift.io + resources: + - "*" + verbs: + - "*" + - apiGroups: + - "" + resources: + - pods + - pods/exec + - services + - endpoints + - persistentvolumeclaims + - events + - configmaps + - secrets + - serviceaccounts + verbs: + - "*" + - apiGroups: + - apps + resources: + - deployments + - daemonsets + - replicasets + - statefulsets + verbs: + - "*" + - apiGroups: + - monitoring.coreos.com + resources: + - prometheusrules + - servicemonitors + verbs: + - "*" + - apiGroups: + - rbac.authorization.k8s.io + resources: + - clusterroles + - clusterrolebindings + verbs: + - "*" + deployments: + - name: elasticsearch-operator + spec: + replicas: 1 + selector: + matchLabels: + name: elasticsearch-operator + template: + metadata: + labels: + name: elasticsearch-operator + spec: + serviceAccountName: elasticsearch-operator + containers: + - name: elasticsearch-operator + image: quay.io/openshift/origin-elasticsearch-operator:latest + imagePullPolicy: IfNotPresent + command: + - elasticsearch-operator + ports: + - containerPort: 60000 + name: metrics + env: + - name: WATCH_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.annotations['olm.targetNamespaces'] + - name: OPERATOR_NAME + value: "elasticsearch-operator" + - name: PROXY_IMAGE + value: "quay.io/openshift/origin-oauth-proxy:latest" + version: 0.0.1 + customresourcedefinitions: + owned: + - name: elasticsearches.logging.openshift.io + version: v1alpha1 + kind: Elasticsearch + displayName: Elasticsearch + description: An Elasticsearch cluster instance + resources: + - kind: Deployment + version: v1 + - kind: StatefulSet + version: v1 + - kind: ReplicaSet + version: v1 + - kind: Pod + version: v1 + - kind: ConfigMap + version: v1 + - kind: Service + version: v1 + - kind: Route + version: v1 + specDescriptors: + - description: The name of the serviceaccount used by the Elasticsearch pods + displayName: Service Account + path: serviceAccountName + x-descriptors: + - 'urn:alm:descriptor:io.kubernetes:ServiceAccount' + - description: The name of the configmap used by the Elasticsearch pods + displayName: Config Map + path: configMapName + x-descriptors: + - 'urn:alm:descriptor:io.kubernetes:ConfigMap' + - description: The name of the secret used by the Elasticsearch pods + displayName: Secret + path: secretName + x-descriptors: + - 'urn:alm:descriptor:io.kubernetes:Secret' + - description: Limits describes the minimum/maximum amount of compute resources required/allowed + displayName: Resource Requirements + path: nodeSpec.resources + x-descriptors: + - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' + statusDescriptors: + - description: The current health of Elasticsearch Cluster + displayName: Elasticsearch Cluster Health + path: clusterHealth + x-descriptors: + - 'urn:alm:descriptor:io.kubernetes.phase' + - description: The status for each of the Elasticsearch pods with the Client role + displayName: Elasticsearch Client Status + path: pods.client + x-descriptors: + - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' + - description: The status for each of the Elasticsearch pods with the Data role + displayName: Elasticsearch Data Status + path: pods.data + x-descriptors: + - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' + - description: The status for each of the Elasticsearch pods with the Master role + displayName: Elasticsearch Master Status + path: pods.master + x-descriptors: + - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' diff --git a/community-operators/cluster-logging/elasticsearches.crd.yaml b/community-operators/elasticsearch-operator/elasticsearches.crd.yaml similarity index 100% rename from community-operators/cluster-logging/elasticsearches.crd.yaml rename to community-operators/elasticsearch-operator/elasticsearches.crd.yaml