From 38eea3bbe475a812ba455359d65855f0d5810fda Mon Sep 17 00:00:00 2001 From: RC Date: Fri, 3 May 2024 09:12:01 +1000 Subject: [PATCH] Adding 3 operators by Red Hat (#292) * Adding Tempo Operator * Added Cluster Observability Operator * Added overlay in openshift-ai instance to enable all components * Added overlay in openshift-ai instance to enable codeflare and ray * Added Red Hat build of Opentelemetry operator * fixed namespace * updated Readme * updated Readme * Fixing: new-line-at-end-of-file * Adding words to wordlist * Remove unused kustomization files * Fixed trailing spaces warnings --- .wordlist-md | 15 ++++++++ cluster-observability-operator/README.md | 36 +++++++++++++++++++ .../operator/base/kustomization.yaml | 5 +++ .../operator/base/subscription.yaml | 11 ++++++ .../operator/overlays/development/README.md | 1 + .../overlays/development/kustomization.yaml | 11 ++++++ .../overlays/development/patch-channel.yaml | 3 ++ .../overlays/enable-codeflare-ray/Readme.md | 1 + .../enable-codeflare-ray/kustomization.yaml | 11 ++++++ .../enable-codeflare-ray/patch-dsc.yaml | 6 ++++ redhat-build-of-opentelemetry/README.md | 34 ++++++++++++++++++ .../operator/base/kustomization.yaml | 7 ++++ .../operator/base/namespace.yaml | 8 +++++ .../operator/base/operator-group.yaml | 5 +++ .../operator/base/subscription.yaml | 11 ++++++ .../operator/overlays/stable/README.md | 1 + .../overlays/stable/kustomization.yaml | 11 ++++++ .../overlays/stable/patch-channel.yaml | 3 ++ tempo-operator/README.md | 36 +++++++++++++++++++ tempo-operator/instance/base/Readme.md | 2 ++ .../instance/base/kustomization.yaml | 6 ++++ tempo-operator/instance/base/tempostack.yaml | 22 ++++++++++++ .../overlays/default/kustomization.yaml | 5 +++ .../operator/base/kustomization.yaml | 7 ++++ tempo-operator/operator/base/namespace.yaml | 8 +++++ .../operator/base/operator-group.yaml | 5 +++ .../operator/base/subscription.yaml | 11 ++++++ .../operator/overlays/stable/README.md | 1 + .../overlays/stable/kustomization.yaml | 11 ++++++ .../overlays/stable/patch-channel.yaml | 3 ++ 30 files changed, 297 insertions(+) create mode 100644 cluster-observability-operator/README.md create mode 100644 cluster-observability-operator/operator/base/kustomization.yaml create mode 100644 cluster-observability-operator/operator/base/subscription.yaml create mode 100644 cluster-observability-operator/operator/overlays/development/README.md create mode 100644 cluster-observability-operator/operator/overlays/development/kustomization.yaml create mode 100644 cluster-observability-operator/operator/overlays/development/patch-channel.yaml create mode 100644 openshift-ai/instance/overlays/enable-codeflare-ray/Readme.md create mode 100644 openshift-ai/instance/overlays/enable-codeflare-ray/kustomization.yaml create mode 100644 openshift-ai/instance/overlays/enable-codeflare-ray/patch-dsc.yaml create mode 100644 redhat-build-of-opentelemetry/README.md create mode 100644 redhat-build-of-opentelemetry/operator/base/kustomization.yaml create mode 100644 redhat-build-of-opentelemetry/operator/base/namespace.yaml create mode 100644 redhat-build-of-opentelemetry/operator/base/operator-group.yaml create mode 100644 redhat-build-of-opentelemetry/operator/base/subscription.yaml create mode 100644 redhat-build-of-opentelemetry/operator/overlays/stable/README.md create mode 100644 redhat-build-of-opentelemetry/operator/overlays/stable/kustomization.yaml create mode 100644 redhat-build-of-opentelemetry/operator/overlays/stable/patch-channel.yaml create mode 100644 tempo-operator/README.md create mode 100644 tempo-operator/instance/base/Readme.md create mode 100644 tempo-operator/instance/base/kustomization.yaml create mode 100644 tempo-operator/instance/base/tempostack.yaml create mode 100644 tempo-operator/instance/overlays/default/kustomization.yaml create mode 100644 tempo-operator/operator/base/kustomization.yaml create mode 100644 tempo-operator/operator/base/namespace.yaml create mode 100644 tempo-operator/operator/base/operator-group.yaml create mode 100644 tempo-operator/operator/base/subscription.yaml create mode 100644 tempo-operator/operator/overlays/stable/README.md create mode 100644 tempo-operator/operator/overlays/stable/kustomization.yaml create mode 100644 tempo-operator/operator/overlays/stable/patch-channel.yaml diff --git a/.wordlist-md b/.wordlist-md index cc5bfad3..0fd8e84e 100644 --- a/.wordlist-md +++ b/.wordlist-md @@ -5,6 +5,7 @@ APIs APM ARN AdoptedResource +Alertmanager AmazonS AmazonSageMakerFullAccess Ansible @@ -18,7 +19,9 @@ CheCluster ClusterRoleBindings ClusterTask CodeReady +Codeflare DNS +DataScienceCluster Dev DevSpaces DevWorkspace @@ -52,6 +55,7 @@ Lifecycle Logstash MTA MachineConfig +Minio MultiClusterHub NFD NMState @@ -64,15 +68,18 @@ OLM Observability OpenDataHub OpenShift +OpenTelemetry OperatorGroup PV PolicyReport Prometheus +Querier RBAC README RHACM Rollout SAR +SDKs SNO SSO Sagemaker @@ -91,10 +98,13 @@ TLS TODO TaskRun Tekton +TempoMonolithic +TempoStack Thanos UI VolSync Workspaces +Zipkin ack acm amq @@ -107,6 +117,7 @@ argoproj arn autoscaling aws +backend canada ceph che @@ -166,6 +177,7 @@ letsencrypt libvirt lifecycle linux +microservices namespace namespaces newman @@ -174,6 +186,7 @@ nodeFeatureDiscovery noobaa nvidia oauth +observability oc ocp ocs @@ -184,6 +197,7 @@ openshift operatorGroup operatorGroups patchesJson +performant postgres pre prem @@ -196,6 +210,7 @@ rhpds runtime sagemaker sandboxed +scalable seldon selectable serverless diff --git a/cluster-observability-operator/README.md b/cluster-observability-operator/README.md new file mode 100644 index 00000000..6d42d915 --- /dev/null +++ b/cluster-observability-operator/README.md @@ -0,0 +1,36 @@ +# Cluster Observability Operator + +Cluster Observability Operator is a Go based Kubernetes operator to setup and manage highly available Monitoring stack using Prometheus, Alertmanager and Thanos Querier. + +# Cluster Observability Operator + +Install Cluster Observability Operator by Red Hat. + +Do not use the `base` directory directly, as you will need to patch the `channel` based on the version of OpenShift you are using, or the version of the operator you want to use. + +The current *overlays* available are for the following channels: + +* [development](operator/overlays/development) + +## Usage + +If you have cloned the `gitops-catalog` repository, you can install Cluster Observability Operator based on the overlay of your choice by running from the root (`gitops-catalog`) directory. + +``` +oc apply -k cluster-observability-operator/operator/overlays/ +``` + +Or, without cloning: + +``` +oc apply -k https://github.com/redhat-cop/gitops-catalog/cluster-observability-operator/operator/overlays/ +``` + +As part of a different overlay in your own GitOps repo: + +``` +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - https://github.com/redhat-cop/gitops-catalog/cluster-observability-operator/operator/overlays/?ref=main +``` diff --git a/cluster-observability-operator/operator/base/kustomization.yaml b/cluster-observability-operator/operator/base/kustomization.yaml new file mode 100644 index 00000000..00078e0a --- /dev/null +++ b/cluster-observability-operator/operator/base/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - subscription.yaml diff --git a/cluster-observability-operator/operator/base/subscription.yaml b/cluster-observability-operator/operator/base/subscription.yaml new file mode 100644 index 00000000..17119561 --- /dev/null +++ b/cluster-observability-operator/operator/base/subscription.yaml @@ -0,0 +1,11 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: Subscription +metadata: + name: cluster-observability-operator + namespace: openshift-operators +spec: + channel: patch-me-see-overlays-dir + installPlanApproval: Automatic + name: cluster-observability-operator + source: redhat-operators + sourceNamespace: openshift-marketplace diff --git a/cluster-observability-operator/operator/overlays/development/README.md b/cluster-observability-operator/operator/overlays/development/README.md new file mode 100644 index 00000000..a1c89e57 --- /dev/null +++ b/cluster-observability-operator/operator/overlays/development/README.md @@ -0,0 +1 @@ +**Version: 0.1.2** diff --git a/cluster-observability-operator/operator/overlays/development/kustomization.yaml b/cluster-observability-operator/operator/overlays/development/kustomization.yaml new file mode 100644 index 00000000..0a97825a --- /dev/null +++ b/cluster-observability-operator/operator/overlays/development/kustomization.yaml @@ -0,0 +1,11 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +patches: + - target: + kind: Subscription + name: cluster-observability-operator + path: patch-channel.yaml diff --git a/cluster-observability-operator/operator/overlays/development/patch-channel.yaml b/cluster-observability-operator/operator/overlays/development/patch-channel.yaml new file mode 100644 index 00000000..60210b40 --- /dev/null +++ b/cluster-observability-operator/operator/overlays/development/patch-channel.yaml @@ -0,0 +1,3 @@ +- op: replace + path: /spec/channel + value: development diff --git a/openshift-ai/instance/overlays/enable-codeflare-ray/Readme.md b/openshift-ai/instance/overlays/enable-codeflare-ray/Readme.md new file mode 100644 index 00000000..f744e8f9 --- /dev/null +++ b/openshift-ai/instance/overlays/enable-codeflare-ray/Readme.md @@ -0,0 +1 @@ +Overlay to enable Codeflare and Ray in DataScienceCluster that are Removed by default. diff --git a/openshift-ai/instance/overlays/enable-codeflare-ray/kustomization.yaml b/openshift-ai/instance/overlays/enable-codeflare-ray/kustomization.yaml new file mode 100644 index 00000000..6d5686ba --- /dev/null +++ b/openshift-ai/instance/overlays/enable-codeflare-ray/kustomization.yaml @@ -0,0 +1,11 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +patches: + - target: + kind: DataScienceCluster + name: default + path: patch-dsc.yaml diff --git a/openshift-ai/instance/overlays/enable-codeflare-ray/patch-dsc.yaml b/openshift-ai/instance/overlays/enable-codeflare-ray/patch-dsc.yaml new file mode 100644 index 00000000..9fdccbed --- /dev/null +++ b/openshift-ai/instance/overlays/enable-codeflare-ray/patch-dsc.yaml @@ -0,0 +1,6 @@ +- op: replace + path: /spec/components/codeflare/managementState + value: Managed +- op: replace + path: /spec/components/ray/managementState + value: Managed diff --git a/redhat-build-of-opentelemetry/README.md b/redhat-build-of-opentelemetry/README.md new file mode 100644 index 00000000..0d64f40a --- /dev/null +++ b/redhat-build-of-opentelemetry/README.md @@ -0,0 +1,34 @@ +# Red Hat build of OpenTelemetry + +Red Hat build of OpenTelemetry is a collection of tools, APIs, and SDKs. You use it to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) for analysis in order to understand your software's performance and behavior. This operator was previously called Red Hat OpenShift distributed tracing data collection. + +# Install Red Hat build of OpenTelemetry by Red Hat. + +Do not use the `base` directory directly, as you will need to patch the `channel` based on the version of OpenShift you are using, or the version of the operator you want to use. + +The current *overlays* available are for the following channels: + +* [stable](operator/overlays/stable) + +## Usage + +If you have cloned the `gitops-catalog` repository, you can install Red Hat build of OpenTelemetry Operator based on the overlay of your choice by running from the root (`gitops-catalog`) directory. + +``` +oc apply -k redhat-build-of-opentelemetry/operator/overlays/ +``` + +Or, without cloning: + +``` +oc apply -k https://github.com/redhat-cop/gitops-catalog/redhat-build-of-opentelemetry/operator/overlays/ +``` + +As part of a different overlay in your own GitOps repo: + +``` +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - https://github.com/redhat-cop/gitops-catalog/redhat-build-of-opentelemetry/operator/overlays/?ref=main +``` diff --git a/redhat-build-of-opentelemetry/operator/base/kustomization.yaml b/redhat-build-of-opentelemetry/operator/base/kustomization.yaml new file mode 100644 index 00000000..1e66bd5f --- /dev/null +++ b/redhat-build-of-opentelemetry/operator/base/kustomization.yaml @@ -0,0 +1,7 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - namespace.yaml + - operator-group.yaml + - subscription.yaml diff --git a/redhat-build-of-opentelemetry/operator/base/namespace.yaml b/redhat-build-of-opentelemetry/operator/base/namespace.yaml new file mode 100644 index 00000000..b8adab0c --- /dev/null +++ b/redhat-build-of-opentelemetry/operator/base/namespace.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: Namespace +metadata: + annotations: + openshift.io/display-name: "Red Hat build of OpenTelemetry" + labels: + openshift.io/cluster-monitoring: 'true' + name: openshift-opentelemetry-operator diff --git a/redhat-build-of-opentelemetry/operator/base/operator-group.yaml b/redhat-build-of-opentelemetry/operator/base/operator-group.yaml new file mode 100644 index 00000000..813cee9c --- /dev/null +++ b/redhat-build-of-opentelemetry/operator/base/operator-group.yaml @@ -0,0 +1,5 @@ +apiVersion: operators.coreos.com/v1 +kind: OperatorGroup +metadata: + name: openshift-opentelemetry-operator + namespace: openshift-opentelemetry-operator diff --git a/redhat-build-of-opentelemetry/operator/base/subscription.yaml b/redhat-build-of-opentelemetry/operator/base/subscription.yaml new file mode 100644 index 00000000..9e8ae8df --- /dev/null +++ b/redhat-build-of-opentelemetry/operator/base/subscription.yaml @@ -0,0 +1,11 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: Subscription +metadata: + name: opentelemetry-product + namespace: openshift-opentelemetry-operator +spec: + channel: patch-me-see-overlays-dir + installPlanApproval: Automatic + name: opentelemetry-product + source: redhat-operators + sourceNamespace: openshift-marketplace diff --git a/redhat-build-of-opentelemetry/operator/overlays/stable/README.md b/redhat-build-of-opentelemetry/operator/overlays/stable/README.md new file mode 100644 index 00000000..170b2806 --- /dev/null +++ b/redhat-build-of-opentelemetry/operator/overlays/stable/README.md @@ -0,0 +1 @@ +**Version: 0.93.0-3** diff --git a/redhat-build-of-opentelemetry/operator/overlays/stable/kustomization.yaml b/redhat-build-of-opentelemetry/operator/overlays/stable/kustomization.yaml new file mode 100644 index 00000000..50b28c8b --- /dev/null +++ b/redhat-build-of-opentelemetry/operator/overlays/stable/kustomization.yaml @@ -0,0 +1,11 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +patches: + - target: + kind: Subscription + name: opentelemetry-product + path: patch-channel.yaml diff --git a/redhat-build-of-opentelemetry/operator/overlays/stable/patch-channel.yaml b/redhat-build-of-opentelemetry/operator/overlays/stable/patch-channel.yaml new file mode 100644 index 00000000..6642eb17 --- /dev/null +++ b/redhat-build-of-opentelemetry/operator/overlays/stable/patch-channel.yaml @@ -0,0 +1,3 @@ +- op: replace + path: /spec/channel + value: stable diff --git a/tempo-operator/README.md b/tempo-operator/README.md new file mode 100644 index 00000000..3919f3af --- /dev/null +++ b/tempo-operator/README.md @@ -0,0 +1,36 @@ +# Tempo Operator + +Red Hat OpenShift distributed tracing platform based on Tempo. Tempo is an open-source, easy-to-use, and highly scalable distributed tracing backend. It provides observability for microservices architectures by allowing developers to track requests as they flow through distributed systems. Tempo is optimized to handle large volumes of trace data and is designed to be highly performant even under heavy loads. It can ingest common open source tracing protocols including Jaeger, Zipkin, and OpenTelemetry and requires only object storage to operate. + +# Tempo Operator + +Install Tempo Operator by Red Hat. + +Do not use the `base` directory directly, as you will need to patch the `channel` based on the version of OpenShift you are using, or the version of the operator you want to use. + +The current *overlays* available are for the following channels: + +* [stable](operator/overlays/stable) + +## Usage + +If you have cloned the `gitops-catalog` repository, you can install Tempo Operator based on the overlay of your choice by running from the root (`gitops-catalog`) directory. + +``` +oc apply -k tempo-operator/operator/overlays/ +``` + +Or, without cloning: + +``` +oc apply -k https://github.com/redhat-cop/gitops-catalog/tempo-operator/operator/overlays/ +``` + +As part of a different overlay in your own GitOps repo: + +``` +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - https://github.com/redhat-cop/gitops-catalog/tempo-operator/operator/overlays/?ref=main +``` diff --git a/tempo-operator/instance/base/Readme.md b/tempo-operator/instance/base/Readme.md new file mode 100644 index 00000000..8b6d0d7a --- /dev/null +++ b/tempo-operator/instance/base/Readme.md @@ -0,0 +1,2 @@ +### Before you start +TempoStack requires object storage to store its traces. TempoMonolithic can store traces in-memory, in a Persistent Volume and in object storage. Please ensure that your system has a compatible object storage solution that is supported, such as OpenShift Data Foundation, Minio, AWS S3, Azure Storage, or Google Cloud Storage. \ No newline at end of file diff --git a/tempo-operator/instance/base/kustomization.yaml b/tempo-operator/instance/base/kustomization.yaml new file mode 100644 index 00000000..d16571d1 --- /dev/null +++ b/tempo-operator/instance/base/kustomization.yaml @@ -0,0 +1,6 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - tempostack.yaml diff --git a/tempo-operator/instance/base/tempostack.yaml b/tempo-operator/instance/base/tempostack.yaml new file mode 100644 index 00000000..36d78365 --- /dev/null +++ b/tempo-operator/instance/base/tempostack.yaml @@ -0,0 +1,22 @@ +kind: TempoStack +apiVersion: tempo.grafana.com/v1alpha1 +metadata: + name: sample + namespace: openshift-tempo-operator +spec: + resources: + total: + limits: + cpu: 2000m + memory: 2Gi + storage: + secret: + name: my-storage-secret + type: s3 + storageSize: 1Gi + template: + queryFrontend: + jaegerQuery: + enabled: true + ingress: + type: route diff --git a/tempo-operator/instance/overlays/default/kustomization.yaml b/tempo-operator/instance/overlays/default/kustomization.yaml new file mode 100644 index 00000000..774a422d --- /dev/null +++ b/tempo-operator/instance/overlays/default/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base diff --git a/tempo-operator/operator/base/kustomization.yaml b/tempo-operator/operator/base/kustomization.yaml new file mode 100644 index 00000000..1e66bd5f --- /dev/null +++ b/tempo-operator/operator/base/kustomization.yaml @@ -0,0 +1,7 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - namespace.yaml + - operator-group.yaml + - subscription.yaml diff --git a/tempo-operator/operator/base/namespace.yaml b/tempo-operator/operator/base/namespace.yaml new file mode 100644 index 00000000..1701c38a --- /dev/null +++ b/tempo-operator/operator/base/namespace.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: Namespace +metadata: + annotations: + openshift.io/display-name: "Tempo Operator" + labels: + openshift.io/cluster-monitoring: 'true' + name: openshift-tempo-operator diff --git a/tempo-operator/operator/base/operator-group.yaml b/tempo-operator/operator/base/operator-group.yaml new file mode 100644 index 00000000..c567a9f3 --- /dev/null +++ b/tempo-operator/operator/base/operator-group.yaml @@ -0,0 +1,5 @@ +apiVersion: operators.coreos.com/v1 +kind: OperatorGroup +metadata: + name: openshift-tempo-operator + namespace: openshift-tempo-operator diff --git a/tempo-operator/operator/base/subscription.yaml b/tempo-operator/operator/base/subscription.yaml new file mode 100644 index 00000000..50c87e91 --- /dev/null +++ b/tempo-operator/operator/base/subscription.yaml @@ -0,0 +1,11 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: Subscription +metadata: + name: tempo-product + namespace: openshift-tempo-operator +spec: + channel: patch-me-see-overlays-dir + installPlanApproval: Automatic + name: tempo-product + source: redhat-operators + sourceNamespace: openshift-marketplace diff --git a/tempo-operator/operator/overlays/stable/README.md b/tempo-operator/operator/overlays/stable/README.md new file mode 100644 index 00000000..eea0cb5b --- /dev/null +++ b/tempo-operator/operator/overlays/stable/README.md @@ -0,0 +1 @@ +**Version: 0.8.0-3** diff --git a/tempo-operator/operator/overlays/stable/kustomization.yaml b/tempo-operator/operator/overlays/stable/kustomization.yaml new file mode 100644 index 00000000..39015c0c --- /dev/null +++ b/tempo-operator/operator/overlays/stable/kustomization.yaml @@ -0,0 +1,11 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +patches: + - target: + kind: Subscription + name: tempo-product + path: patch-channel.yaml diff --git a/tempo-operator/operator/overlays/stable/patch-channel.yaml b/tempo-operator/operator/overlays/stable/patch-channel.yaml new file mode 100644 index 00000000..6642eb17 --- /dev/null +++ b/tempo-operator/operator/overlays/stable/patch-channel.yaml @@ -0,0 +1,3 @@ +- op: replace + path: /spec/channel + value: stable