From bd229cd1de04287ea9ae15cbd1a942f088252049 Mon Sep 17 00:00:00 2001 From: Leif Madsen Date: Thu, 1 Oct 2020 13:03:03 -0400 Subject: [PATCH] bundle migration (#67) * Migrate latest CSV to manifests directory Migrate latest CSV to manifests directory in preparation for migrating to the bundle release format vs the application registry approach. Update the operator.yaml which was out of sync with the latest CSV. Latest CSV has been updated to sync with the operator.yaml which has the current container image tags applied to the CSV which was incorrect. * Create initial bundle * Update Travis-CI to check bundle validation * No automatic releases for right now * Add new README.md for release process * Be verbose when checking bundle validation * Update build/README.md for validation command * Smart Gateway Operator v2.0.1 is the base release Remove the replaces line from the CSV to start our base release for bundles as the most current release. From here we will create new CSVs that will replace starting at v2.0.1 rather than having to import all the historical CSVs which are not used by anyone. --- .travis.yml | 18 +- build/README.md | 72 +++++ .../bundle/Dockerfile => bundle.Dockerfile | 4 +- ...operator.v0.2.0.clusterserviceversion.yaml | 294 ----------------- ...gateway.infra.watch_smartgateways_crd.yaml | 115 ------- ...operator.v1.0.0.clusterserviceversion.yaml | 296 ------------------ ...operator.v1.0.1.clusterserviceversion.yaml | 296 ------------------ ...gateway.infra.watch_smartgateways_crd.yaml | 115 ------- ...operator.v1.0.2.clusterserviceversion.yaml | 290 ----------------- ...gateway.infra.watch_smartgateways_crd.yaml | 115 ------- ...operator.v2.0.0.clusterserviceversion.yaml | 294 ----------------- ...gateway.infra.watch_smartgateways_crd.yaml | 115 ------- ...operator.v2.0.1.clusterserviceversion.yaml | 294 ----------------- ...gateway.infra.watch_smartgateways_crd.yaml | 115 ------- ...gateway.infra.watch_smartgateways_crd.yaml | 115 ------- ...teway-operator.clusterserviceversion.yaml} | 6 +- ...gateway.infra.watch_smartgateways_crd.yaml | 0 .../{bundle => }/metadata/annotations.yaml | 0 .../smart-gateway-operator.package.yaml | 5 - deploy/operator.yaml | 77 ++--- 20 files changed, 133 insertions(+), 2503 deletions(-) create mode 100644 build/README.md rename deploy/olm-catalog/smart-gateway-operator/bundle/Dockerfile => bundle.Dockerfile (71%) delete mode 100644 deploy/olm-catalog/smart-gateway-operator/0.2.0/smart-gateway-operator.v0.2.0.clusterserviceversion.yaml delete mode 100644 deploy/olm-catalog/smart-gateway-operator/0.2.0/smartgateway.infra.watch_smartgateways_crd.yaml delete mode 100644 deploy/olm-catalog/smart-gateway-operator/1.0.0/smart-gateway-operator.v1.0.0.clusterserviceversion.yaml delete mode 100644 deploy/olm-catalog/smart-gateway-operator/1.0.1/smart-gateway-operator.v1.0.1.clusterserviceversion.yaml delete mode 100644 deploy/olm-catalog/smart-gateway-operator/1.0.1/smartgateway.infra.watch_smartgateways_crd.yaml delete mode 100644 deploy/olm-catalog/smart-gateway-operator/1.0.2/smart-gateway-operator.v1.0.2.clusterserviceversion.yaml delete mode 100644 deploy/olm-catalog/smart-gateway-operator/1.0.2/smartgateway.infra.watch_smartgateways_crd.yaml delete mode 100644 deploy/olm-catalog/smart-gateway-operator/2.0.0/smart-gateway-operator.v2.0.0.clusterserviceversion.yaml delete mode 100644 deploy/olm-catalog/smart-gateway-operator/2.0.0/smartgateway.infra.watch_smartgateways_crd.yaml delete mode 100644 deploy/olm-catalog/smart-gateway-operator/2.0.1/smart-gateway-operator.v2.0.1.clusterserviceversion.yaml delete mode 100644 deploy/olm-catalog/smart-gateway-operator/2.0.1/smartgateway.infra.watch_smartgateways_crd.yaml delete mode 100644 deploy/olm-catalog/smart-gateway-operator/bundle/smartgateway.infra.watch_smartgateways_crd.yaml rename deploy/olm-catalog/smart-gateway-operator/{bundle/smart-gateway-operator.v2.0.1.clusterserviceversion.yaml => manifests/smart-gateway-operator.clusterserviceversion.yaml} (99%) rename deploy/olm-catalog/smart-gateway-operator/{1.0.0 => manifests}/smartgateway.infra.watch_smartgateways_crd.yaml (100%) rename deploy/olm-catalog/smart-gateway-operator/{bundle => }/metadata/annotations.yaml (100%) delete mode 100644 deploy/olm-catalog/smart-gateway-operator/smart-gateway-operator.package.yaml diff --git a/.travis.yml b/.travis.yml index a583f5c..e206786 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,16 +1,26 @@ env: global: + - RELEASE_VERSION: v0.17.2 - secure: MeO4V6CHY8GjebH1n3sTYtq5AG/ohY4MgKr4pDb0P29DxpAtYaqa+lkVBB3lxXGcsE2yY8bEOmHHzA6CQgYpWGHOGihKJbL40HQdQGAajtCStSQcv+AVA4Dq5uwo714Ddx7wovntJbm+zO+Cyv2zczj6407fTvuyJAjf9MMrCkwC23tLr+iCld+juSQlfOtdExzgIegWEhi3z967i9ce70ux4jl9n3jHXaU/6A/o6gJS/Ng5INf8VJ0ZZKnCUwdHYOshjzQAbC+ym24W4oGQTdyJbVAIbxdJMl65VI/h3xcTeS8PJXw9PK9lTS7r7RUDdl8giLTk67TgpYFE/LhuYiq+zAH/5iZSD/Mr0tyblHlpqB9gzDUs2G00IYv7l/RD+BFwReZAXxR9xO2Rsxumtsf+mKm2iu6BkbuzNTudyR2vn4dMGp1lwWwY44ll22nMaek2fjNhgQwB6Ps0xU19NrwpiS7AdyYnYGi9Cg8n59XT5ydwL83jITDk43tZd0IZjX6TcssshqQBzCeXovyzD3O4PsfkBkPer5xoRJ0e/qLLFkQxrv4YNtqxtNzzX9Z3dpYhV0s1sw+ydLTz4/HIMu9tFLkV8F4Zf8r5Yd8NSSKV1E+o8QIXRPATxpJ2OlwG2PiCl7BgYihx8TWXtjnSLDPVJHofw/XAS391DikixRk= - secure: IZqzqdEL37CHF3NWEx3jNegfrl9092wpWWezEY4oEVNY1ncUUbZdmzq97gTLtOZ/5lkvm9yMOXZzM20NAl898U8jXp8oj1rX+JowXrXNG7celNIiwag+R9uELOwhSwPkLBF/swmdWf4gErTmFpxIJCERGV9aIuodXd5Wie7U45qn6OExVVp6U4S0VeucOH/SIDDk7V5k4Aaw4MTfNy9Dq6SgMkIxhMhro3Ghxz0NqrZf9BXnrWMxqVIhene7fYrmOvbi1vRrEhgoIROn8mNHD/92sIBEGTQ774lOsX7IMAzXZBH6XeuSLhnH6EZRq0us/evc9c1h8NAIbo4id8x3D4olGWge04PbBoR5hegQLJR4r8Wi0oqGEmiVHb5Uunr1OAjgD9n/ZekeYiUIrt1CLhhNjlTOr4+JW0Ny6X26HuouOG+cIRfKIDtFQjisMLUHgRSFBEqMHrd1ROzekBCFk7MnfSMUq55z176BTnQgGqp+2PFZHI8/Lbh2LhkBfQ477BHieT27nZUbMV3KMyQzrR8SJFTa1p19hqf4Dx9PE1CRe5OzrpzOtYiKwk0RRNKHvrkooPzaojMft0Gj1snweAC4Gipzqs//aTNRZA2jR7RIGsmZsGW+RxDesFyckgCqB0p2kBup/9AnPvS6hLSQQA4BqE4T51UHELi0/Ar/pHA= + os: linux language: python + +services: + - docker + git: depth: 1 + +before_install: +- curl --output operator-sdk -JL https://github.com/operator-framework/operator-sdk/releases/download/$RELEASE_VERSION/operator-sdk-$RELEASE_VERSION-x86_64-linux-gnu +- chmod +x operator-sdk +- sudo mv operator-sdk /usr/local/bin + install: -- pip install operator-courier==2.1.7 - pip install ansible-lint + script: -- operator-courier verify --ui_validate_io deploy/olm-catalog/smart-gateway-operator - ansible-lint roles/smartgateway/ -after_success: -- if [ "$TRAVIS_TAG" == "" ]; then echo "Not a tagged release, skipping after_success.sh"; else ./build/travis/after_success.sh; fi +- operator-sdk bundle validate --verbose ./deploy/olm-catalog/smart-gateway-operator diff --git a/build/README.md b/build/README.md new file mode 100644 index 0000000..130631a --- /dev/null +++ b/build/README.md @@ -0,0 +1,72 @@ +# Updating CSV for next bundle release + +The following set of commands will allow updating the current CSV to a new +version. + +## Prerequisites + +You will need operator-sdk 0.17.2 (in sync with OCP 4.5). + +``` +curl --output operator-sdk -JL https://github.com/operator-framework/operator-sdk/releases/download/$RELEASE_VERSION/operator-sdk-$RELEASE_VERSION-x86_64-linux-gnu +chmod +x operator-sdk +mkdir -p ~/.local/bin +mv operator-sdk ~/.local/bin +``` + +## Creating a new release + +Creating a new release requires 3 steps: + +* update container image versions to deploy in `deploy/operator.yaml` +* generate a new CSV version +* create a new bundle image and push to quay.io/infrawatch-operators + +### Updating container image tags + +Update the `deploy/operator.yaml` file to target a new set of container image +tags. You will need to adjust the `smart-gateway-operator` version which should +align to the new CSV version. Optionally, update the related container images +for `smart-gateway`, `sg-core` and `sg-bridge` if there are new container +images that should be associated with this CSV release. + +If there are any roles, role binding, or deployment adjustments for this +release, now is the time to make those changes. See files in the `deploy/` +root. + +The following environment variables are used by the Operator to determine what +components to deploy into the environment. Set the container image tags +appropriately. + +``` + - name: SMARTGATEWAY_IMAGE + value: quay.io/infrawatch/smart-gateway:v2.0.0 + - name: CORE_SMARTGATEWAY_IMAGE + value: quay.io/infrawatch/sg-core:v3.0.0 + - name: BRIDGE_SMARTGATEWAY_IMAGE + value: quay.io/infrawatch/sg-bridge:v1.0.0 +``` + +### Updating the CSV manifests + +To update the CSV manifests to a new release version use `operator-sdk +generate csv` and pass the new version. The `replaces` line will be +automatically updated. + +``` +operator-sdk generate csv --csv-version 2.1.0 +``` + +## Create a new bundle container image + +Create a new bundle release by updating the bundle container image. + +``` +operator-sdk bundle create quay.io/infrawatch-operators/smart-gateway-operator-bundle:v2.1.0 +``` + +You can validate your bundle directory with `operator-sdk bundle validate`. + +``` +operator-sdk bundle validate ./deploy/olm-catalog/smart-gateway-operator +``` diff --git a/deploy/olm-catalog/smart-gateway-operator/bundle/Dockerfile b/bundle.Dockerfile similarity index 71% rename from deploy/olm-catalog/smart-gateway-operator/bundle/Dockerfile rename to bundle.Dockerfile index 1896256..5b537d0 100644 --- a/deploy/olm-catalog/smart-gateway-operator/bundle/Dockerfile +++ b/bundle.Dockerfile @@ -7,5 +7,5 @@ LABEL operators.operatorframework.io.bundle.package.v1=smart-gateway-operator LABEL operators.operatorframework.io.bundle.channels.v1=stable LABEL operators.operatorframework.io.bundle.channel.default.v1=stable -COPY /*.yaml /manifests/ -COPY /metadata/annotations.yaml /metadata/annotations.yaml +COPY deploy/olm-catalog/smart-gateway-operator/manifests /manifests/ +COPY deploy/olm-catalog/smart-gateway-operator/metadata/annotations.yaml /metadata/annotations.yaml diff --git a/deploy/olm-catalog/smart-gateway-operator/0.2.0/smart-gateway-operator.v0.2.0.clusterserviceversion.yaml b/deploy/olm-catalog/smart-gateway-operator/0.2.0/smart-gateway-operator.v0.2.0.clusterserviceversion.yaml deleted file mode 100644 index 33c44ac..0000000 --- a/deploy/olm-catalog/smart-gateway-operator/0.2.0/smart-gateway-operator.v0.2.0.clusterserviceversion.yaml +++ /dev/null @@ -1,294 +0,0 @@ -apiVersion: operators.coreos.com/v1alpha1 -kind: ClusterServiceVersion -metadata: - annotations: - alm-examples: |- - [ - { - "apiVersion": "smartgateway.infra.watch/v2alpha1", - "kind": "SmartGateway", - "metadata": { - "name": "cloud1-events" - }, - "spec": { - "debug": false, - "prefetch": 0, - "resetIndex": false, - "serviceType": "events", - "size": 1 - } - }, - { - "apiVersion": "smartgateway.infra.watch/v2alpha1", - "kind": "SmartGateway", - "metadata": { - "name": "cloud1-metrics" - }, - "spec": { - "debug": false, - "prefetch": 15000, - "serviceType": "metrics", - "size": 1, - "useTimestamp": true - } - } - ] - capabilities: Basic Install - categories: Monitoring - certified: "false" - containerImage: quay.io/infrawatch/smart-gateway-operator:latest - createdAt: "2019-11-14T14:49:00Z" - description: Smart Gateway Operator - repository: https://github.com/infrawatch/smart-gateway-operator - support: Red Hat (CloudOps) - name: smart-gateway-operator.v0.2.0 - namespace: placeholder -spec: - apiservicedefinitions: {} - customresourcedefinitions: - owned: - - description: Instance of the Smart Gateway - displayName: SmartGateway - kind: SmartGateway - name: smartgateways.smartgateway.infra.watch - resources: - - kind: Pod - name: "" - version: v1 - - kind: Deployments - name: "" - version: v1 - - kind: ReplicaSets - name: "" - version: v1 - - kind: Services - name: "" - version: v1 - - kind: ConfigMaps - name: "" - version: v1 - - kind: SmartGateways - name: "" - version: v2alpha1 - specDescriptors: - - description: Number of Smart Gateways to deploy - displayName: Size - path: size - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:number - - description: Location of the AMQP endpoint to connect the Smart Gateway to - displayName: AMQP URL - path: amqpUrl - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:text - - description: Container image path - displayName: Container image path - path: containerImagePath - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:text - - description: Number of messages that we can prefetch from AMQP 1.x. By enabling - prefetching, the smart gateway won't need to request every message individually - from the AMQP bus, resulting in a round trip for every request between sender - and receiver. To avoid the round trip for every message, the use of prefetch - can be used to allow the receiver to request messages be sent in anticipation - of them being sent to us. - displayName: Prefetch - path: prefetch - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:number - - description: Use the source timestamp (time when data was collected) rather - than let Prometheus write when the data was scraped for that metric. - displayName: Use Timestamp - path: useTimestamp - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:booleanSwitch - - description: Smart Gateway Service Type - displayName: Service Type - path: serviceType - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:select:metrics - - urn:alm:descriptor:com.tectonic.ui:select:events - - description: Enable additional debugging information to console output - displayName: Enable debugging - path: debug - x-descriptors: - - urn:alm:descriptor:tectonic.ui:booleanSwitch - statusDescriptors: - - description: Conditions provided by deployment - displayName: Conditions - path: conditions - x-descriptors: - - urn:alm:descriptor:io.kubernetes.conditions - version: v2alpha1 - description: |- - # Smart Gateway for Service Telemetry Framework - - The Smart Gateway is middleware for OpenShift that takes metrics and events - data streams from an AMQP 1.x message bus, and provides a method to having - that data stream stored within Prometheus or ElasticSearch. - - ## Core capabilities - - The Smart Gateway provides two modes: - - * metrics: provides an HTTP scrape endpoint for Prometheus - * events: writes events directly to an ElasticSearch endpoint - - ## Operator features - - * **Two Service Types** - Supports the `metrics` and `events` service types which defines the type of Smart Gateway to be deployed - - * **Configuration** - Configuration of the Smart Gateway to allow for it to be connected to an AMQP 1.x bus and pointed at the appropriate storage mechanism based on service type. - - ## Before getting started - - 1. Ensure an AMQP 1.x bus has been setup (such as AMQ Interconnect) - 2. If the Smart Gateway is running in events mode, be sure the ElasticSearch Operator and ElasticSearch instance have been pre-deployed. - displayName: Smart Gateway Operator - icon: - - base64data: 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 - mediatype: image/png - install: - spec: - deployments: - - name: smart-gateway-operator - spec: - replicas: 1 - selector: - matchLabels: - app: smart-gateway-operator - strategy: {} - template: - metadata: - labels: - app: smart-gateway-operator - spec: - containers: - - command: - - /usr/local/bin/ao-logs - - /tmp/ansible-operator/runner - - stdout - image: quay.io/infrawatch/smart-gateway-operator:latest - imagePullPolicy: Always - name: ansible - resources: {} - volumeMounts: - - mountPath: /tmp/ansible-operator/runner - name: runner - readOnly: true - - env: - - name: WATCH_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.annotations['olm.targetNamespaces'] - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: OPERATOR_NAME - value: smart-gateway-operator - - name: ANSIBLE_GATHERING - value: explicit - image: quay.io/infrawatch/smart-gateway-operator:latest - imagePullPolicy: Always - name: operator - resources: {} - volumeMounts: - - mountPath: /tmp/ansible-operator/runner - name: runner - serviceAccountName: smart-gateway-operator - volumes: - - emptyDir: {} - name: runner - permissions: - - rules: - - apiGroups: - - "" - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - - configmaps - - secrets - verbs: - - '*' - - apiGroups: - - "" - resources: - - namespaces - verbs: - - get - - apiGroups: - - apps.openshift.io - resources: - - deploymentconfigs - verbs: - - '*' - - apiGroups: - - apps - resources: - - deployments - - daemonsets - - replicasets - - statefulsets - verbs: - - '*' - - apiGroups: - - monitoring.coreos.com - resources: - - servicemonitors - verbs: - - get - - create - - list - - patch - - watch - - apiGroups: - - apps - resourceNames: - - smart-gateway-operator - resources: - - deployments/finalizers - - deploymentconfigs/finalizers - verbs: - - update - - apiGroups: - - smartgateway.infra.watch - resources: - - '*' - verbs: - - '*' - serviceAccountName: smart-gateway-operator - strategy: deployment - installModes: - - supported: true - type: OwnNamespace - - supported: true - type: SingleNamespace - - supported: false - type: MultiNamespace - - supported: true - type: AllNamespaces - keywords: - - servicetelemetry - - monitoring - - telemetry - - notifications - - smartgateway - labels: - name: smart-gateway-operator - links: - - name: Source Code - url: https://github.com/infrawatch/smart-gateway-operator - maintainers: - - email: support@redhat.com - name: Red Hat CloudOps DFG - maturity: alpha - provider: - name: Red Hat, Inc. - selector: - matchLabels: - name: smart-gateway-operator - version: 0.2.0 diff --git a/deploy/olm-catalog/smart-gateway-operator/0.2.0/smartgateway.infra.watch_smartgateways_crd.yaml b/deploy/olm-catalog/smart-gateway-operator/0.2.0/smartgateway.infra.watch_smartgateways_crd.yaml deleted file mode 100644 index f026c0d..0000000 --- a/deploy/olm-catalog/smart-gateway-operator/0.2.0/smartgateway.infra.watch_smartgateways_crd.yaml +++ /dev/null @@ -1,115 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: smartgateways.smartgateway.infra.watch -spec: - group: smartgateway.infra.watch - names: - kind: SmartGateway - listKind: SmartGatewayList - plural: smartgateways - singular: smartgateway - scope: Namespaced - version: v2alpha1 - subresources: - status: {} - versions: - - name: v2alpha1 - served: true - storage: true - validation: - openAPIV3Schema: - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - spec: - description: 'SmartGatewaySpec is a specification of the desired behavior - of the Smartgateway deployment. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' - properties: - size: - description: Size sets the number of replicas to create. Defaults to 1. - type: integer - amqpUrl: - description: AMQP1.x listener example 127.0.0.1:5672/collectd/telemetry. Defaults to using - 'messaging-internal-..src:5672/collectd/telemetry'. - type: string - amqpDataSource: - description: The expected data source of the messages received from the address configured in amqpUrl. Available values include 'universal', 'collectd', and 'ceilometer'. - type: string - useBasicAuth: - description: Whether to use basic authentication or not when connecting to ElasticSearch. Default is 'false' - type: boolean - elasticUrl: - description: URL for ElasticSearch endpoing to connect when the Smart Gateway is operating as an 'events' service type. - Defaults to 'elasticsearch-es-http..svc:9200'. - type: string - elasticUser: - description: Basic Authentication username for ElasticSearch. - type: string - elasticPass: - description: Basic Authentication password for ElasticSearch. - type: string - tlsSecretName: - description: Name of the Secret object that holds the TLS certificates and key for Elasticsearch. - Defaults to 'elasticsearch-es-cert'. - resetIndex: - description: Reset the ElasticSearch index on load. Defaults to 'false'. - type: boolean - serviceType: - description: The service type for this smart gateway. One of 'metrics' or 'events'. Defaults to 'metrics'. - type: string - exporterHost: - description: Metrics URL for Prometheus to export. Defaults to "0.0.0.0". - type: string - exporterPort: - description: Metrics port for Prometheus to export. Defaults to 8081. - type: integer - cpuStats: - description: Include CPU usage info in http requests (degrades performance). Defaults to 'false'. - type: boolean - dataCount: - description: Stop after receiving this many messages in total (-1 forever). Defaults to '-1'. - type: integer - debug: - description: Enable verbose debugging statements. Defaults to 'false'. - type: boolean - prefetch: - description: Number of messages that we can prefetch from AMQP 1.x. By enabling prefetching, the smart gateway won't need to - request every message individually from the AMQP bus, resulting in a round trip for every request between sender and receiver. - To avoid the round trip for every message, the use of prefetch can be used to allow the receiver to request messages be sent - in anticipation of them being sent to us. - type: integer - containerImagePath: - description: Path to the container image this Operator will deploy. Value is defined as the standard registry/image_name:tag - format. Defaults to 'quay.io/infrawatch/smart-gateway:latest' - type: string - useTimestamp: - description: Use the source timestamp (time when data was collected) rather than let Prometheus write when the data was - scraped for that metric. - type: boolean - status: - description: Status results of an instance of Smart Gateway - properties: - conditions: - description: The resulting conditions when a Smart Gateway is instantiated - items: - properties: - status: - type: string - type: - type: string - reason: - type: string - lastTransitionTime: - type: string - type: object - type: array - type: object diff --git a/deploy/olm-catalog/smart-gateway-operator/1.0.0/smart-gateway-operator.v1.0.0.clusterserviceversion.yaml b/deploy/olm-catalog/smart-gateway-operator/1.0.0/smart-gateway-operator.v1.0.0.clusterserviceversion.yaml deleted file mode 100644 index 4cdc7db..0000000 --- a/deploy/olm-catalog/smart-gateway-operator/1.0.0/smart-gateway-operator.v1.0.0.clusterserviceversion.yaml +++ /dev/null @@ -1,296 +0,0 @@ -apiVersion: operators.coreos.com/v1alpha1 -kind: ClusterServiceVersion -metadata: - annotations: - alm-examples: |- - [ - { - "apiVersion": "smartgateway.infra.watch/v2alpha1", - "kind": "SmartGateway", - "metadata": { - "name": "cloud1-events" - }, - "spec": { - "debug": false, - "prefetch": 0, - "resetIndex": false, - "serviceType": "events", - "size": 1 - } - }, - { - "apiVersion": "smartgateway.infra.watch/v2alpha1", - "kind": "SmartGateway", - "metadata": { - "name": "cloud1-metrics" - }, - "spec": { - "debug": false, - "prefetch": 15000, - "serviceType": "metrics", - "size": 1, - "useTimestamp": true - } - } - ] - capabilities: Basic Install - categories: Monitoring - certified: "false" - containerImage: quay.io/infrawatch/smart-gateway-operator:v1.0.0 - createdAt: "2019-11-14T14:49:00Z" - description: Smart Gateway Operator - repository: https://github.com/infrawatch/smart-gateway-operator - support: Red Hat (CloudOps) - name: smart-gateway-operator.v1.0.0 - namespace: placeholder -spec: - apiservicedefinitions: {} - customresourcedefinitions: - owned: - - description: Instance of the Smart Gateway - displayName: SmartGateway - kind: SmartGateway - name: smartgateways.smartgateway.infra.watch - resources: - - kind: Pod - name: "" - version: v1 - - kind: Deployments - name: "" - version: v1 - - kind: ReplicaSets - name: "" - version: v1 - - kind: Services - name: "" - version: v1 - - kind: ConfigMaps - name: "" - version: v1 - - kind: SmartGateways - name: "" - version: v2alpha1 - specDescriptors: - - description: Number of Smart Gateways to deploy - displayName: Size - path: size - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:number - - description: Location of the AMQP endpoint to connect the Smart Gateway to - displayName: AMQP URL - path: amqpUrl - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:text - - description: Container image path - displayName: Container image path - path: containerImagePath - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:text - - description: Number of messages that we can prefetch from AMQP 1.x. By enabling - prefetching, the smart gateway won't need to request every message individually - from the AMQP bus, resulting in a round trip for every request between sender - and receiver. To avoid the round trip for every message, the use of prefetch - can be used to allow the receiver to request messages be sent in anticipation - of them being sent to us. - displayName: Prefetch - path: prefetch - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:number - - description: Use the source timestamp (time when data was collected) rather - than let Prometheus write when the data was scraped for that metric. - displayName: Use Timestamp - path: useTimestamp - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:booleanSwitch - - description: Smart Gateway Service Type - displayName: Service Type - path: serviceType - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:select:metrics - - urn:alm:descriptor:com.tectonic.ui:select:events - - description: Enable additional debugging information to console output - displayName: Enable debugging - path: debug - x-descriptors: - - urn:alm:descriptor:tectonic.ui:booleanSwitch - statusDescriptors: - - description: Conditions provided by deployment - displayName: Conditions - path: conditions - x-descriptors: - - urn:alm:descriptor:io.kubernetes.conditions - version: v2alpha1 - description: |- - # Smart Gateway for Service Telemetry Framework - - The Smart Gateway is middleware for OpenShift that takes metrics and events - data streams from an AMQP 1.x message bus, and provides a method to having - that data stream stored within Prometheus or ElasticSearch. - - ## Core capabilities - - The Smart Gateway provides two modes: - - * metrics: provides an HTTP scrape endpoint for Prometheus - * events: writes events directly to an ElasticSearch endpoint - - ## Operator features - - * **Two Service Types** - Supports the `metrics` and `events` service types which defines the type of Smart Gateway to be deployed - - * **Configuration** - Configuration of the Smart Gateway to allow for it to be connected to an AMQP 1.x bus and pointed at the appropriate storage mechanism based on service type. - - ## Before getting started - - 1. Ensure an AMQP 1.x bus has been setup (such as AMQ Interconnect) - 2. If the Smart Gateway is running in events mode, be sure the ElasticSearch Operator and ElasticSearch instance have been pre-deployed. - displayName: Smart Gateway Operator - icon: - - base64data: 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 - mediatype: image/png - install: - spec: - deployments: - - name: smart-gateway-operator - spec: - replicas: 1 - selector: - matchLabels: - app: smart-gateway-operator - strategy: {} - template: - metadata: - labels: - app: smart-gateway-operator - spec: - containers: - - command: - - /usr/local/bin/ao-logs - - /tmp/ansible-operator/runner - - stdout - image: quay.io/infrawatch/smart-gateway-operator:v1.0.0 - imagePullPolicy: Always - name: ansible - resources: {} - volumeMounts: - - mountPath: /tmp/ansible-operator/runner - name: runner - readOnly: true - - env: - - name: WATCH_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.annotations['olm.targetNamespaces'] - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: OPERATOR_NAME - value: smart-gateway-operator - - name: ANSIBLE_GATHERING - value: explicit - - name: SMARTGATEWAY_IMAGE - value: quay.io/infrawatch/smart-gateway:v2.0.0-beta1 - image: quay.io/infrawatch/smart-gateway-operator:v1.0.0 - imagePullPolicy: Always - name: operator - resources: {} - volumeMounts: - - mountPath: /tmp/ansible-operator/runner - name: runner - serviceAccountName: smart-gateway-operator - volumes: - - emptyDir: {} - name: runner - permissions: - - rules: - - apiGroups: - - "" - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - - configmaps - - secrets - verbs: - - '*' - - apiGroups: - - "" - resources: - - namespaces - verbs: - - get - - apiGroups: - - extensions - resources: - - deployments - verbs: - - '*' - - apiGroups: - - apps - resources: - - deployments - - daemonsets - - replicasets - - statefulsets - verbs: - - '*' - - apiGroups: - - monitoring.coreos.com - resources: - - servicemonitors - verbs: - - get - - create - - list - - patch - - watch - - apiGroups: - - apps - resourceNames: - - smart-gateway-operator - resources: - - deployments/finalizers - verbs: - - update - - apiGroups: - - smartgateway.infra.watch - resources: - - '*' - verbs: - - '*' - serviceAccountName: smart-gateway-operator - strategy: deployment - installModes: - - supported: true - type: OwnNamespace - - supported: true - type: SingleNamespace - - supported: false - type: MultiNamespace - - supported: true - type: AllNamespaces - keywords: - - servicetelemetry - - monitoring - - telemetry - - notifications - - smartgateway - labels: - name: smart-gateway-operator - links: - - name: Source Code - url: https://github.com/infrawatch/smart-gateway-operator - maintainers: - - email: support@redhat.com - name: Red Hat CloudOps DFG - maturity: alpha - provider: - name: Red Hat, Inc. - replaces: smart-gateway-operator.v0.2.0 - selector: - matchLabels: - name: smart-gateway-operator - version: 1.0.0 diff --git a/deploy/olm-catalog/smart-gateway-operator/1.0.1/smart-gateway-operator.v1.0.1.clusterserviceversion.yaml b/deploy/olm-catalog/smart-gateway-operator/1.0.1/smart-gateway-operator.v1.0.1.clusterserviceversion.yaml deleted file mode 100644 index 3265244..0000000 --- a/deploy/olm-catalog/smart-gateway-operator/1.0.1/smart-gateway-operator.v1.0.1.clusterserviceversion.yaml +++ /dev/null @@ -1,296 +0,0 @@ -apiVersion: operators.coreos.com/v1alpha1 -kind: ClusterServiceVersion -metadata: - annotations: - alm-examples: |- - [ - { - "apiVersion": "smartgateway.infra.watch/v2alpha1", - "kind": "SmartGateway", - "metadata": { - "name": "cloud1-events" - }, - "spec": { - "debug": false, - "prefetch": 0, - "resetIndex": false, - "serviceType": "events", - "size": 1 - } - }, - { - "apiVersion": "smartgateway.infra.watch/v2alpha1", - "kind": "SmartGateway", - "metadata": { - "name": "cloud1-metrics" - }, - "spec": { - "debug": false, - "prefetch": 15000, - "serviceType": "metrics", - "size": 1, - "useTimestamp": true - } - } - ] - capabilities: Basic Install - categories: Monitoring - certified: "false" - containerImage: quay.io/infrawatch/smart-gateway-operator:v1.0.1 - createdAt: "2019-11-14T14:49:00Z" - description: Smart Gateway Operator - repository: https://github.com/infrawatch/smart-gateway-operator - support: Red Hat (CloudOps) - name: smart-gateway-operator.v1.0.1 - namespace: placeholder -spec: - apiservicedefinitions: {} - customresourcedefinitions: - owned: - - description: Instance of the Smart Gateway - displayName: SmartGateway - kind: SmartGateway - name: smartgateways.smartgateway.infra.watch - resources: - - kind: Pod - name: "" - version: v1 - - kind: Deployments - name: "" - version: v1 - - kind: ReplicaSets - name: "" - version: v1 - - kind: Services - name: "" - version: v1 - - kind: ConfigMaps - name: "" - version: v1 - - kind: SmartGateways - name: "" - version: v2alpha1 - specDescriptors: - - description: Number of Smart Gateways to deploy - displayName: Size - path: size - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:number - - description: Location of the AMQP endpoint to connect the Smart Gateway to - displayName: AMQP URL - path: amqpUrl - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:text - - description: Container image path - displayName: Container image path - path: containerImagePath - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:text - - description: Number of messages that we can prefetch from AMQP 1.x. By enabling - prefetching, the smart gateway won't need to request every message individually - from the AMQP bus, resulting in a round trip for every request between sender - and receiver. To avoid the round trip for every message, the use of prefetch - can be used to allow the receiver to request messages be sent in anticipation - of them being sent to us. - displayName: Prefetch - path: prefetch - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:number - - description: Use the source timestamp (time when data was collected) rather - than let Prometheus write when the data was scraped for that metric. - displayName: Use Timestamp - path: useTimestamp - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:booleanSwitch - - description: Smart Gateway Service Type - displayName: Service Type - path: serviceType - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:select:metrics - - urn:alm:descriptor:com.tectonic.ui:select:events - - description: Enable additional debugging information to console output - displayName: Enable debugging - path: debug - x-descriptors: - - urn:alm:descriptor:tectonic.ui:booleanSwitch - statusDescriptors: - - description: Conditions provided by deployment - displayName: Conditions - path: conditions - x-descriptors: - - urn:alm:descriptor:io.kubernetes.conditions - version: v2alpha1 - description: |- - # Smart Gateway for Service Telemetry Framework - - The Smart Gateway is middleware for OpenShift that takes metrics and events - data streams from an AMQP 1.x message bus, and provides a method to having - that data stream stored within Prometheus or ElasticSearch. - - ## Core capabilities - - The Smart Gateway provides two modes: - - * metrics: provides an HTTP scrape endpoint for Prometheus - * events: writes events directly to an ElasticSearch endpoint - - ## Operator features - - * **Two Service Types** - Supports the `metrics` and `events` service types which defines the type of Smart Gateway to be deployed - - * **Configuration** - Configuration of the Smart Gateway to allow for it to be connected to an AMQP 1.x bus and pointed at the appropriate storage mechanism based on service type. - - ## Before getting started - - 1. Ensure an AMQP 1.x bus has been setup (such as AMQ Interconnect) - 2. If the Smart Gateway is running in events mode, be sure the ElasticSearch Operator and ElasticSearch instance have been pre-deployed. - displayName: Smart Gateway Operator - icon: - - base64data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4wYmV0YTIgKHVua25vd24pIgogICBoZWlnaHQ9IjEyOCIKICAgd2lkdGg9IjEyOCIKICAgc29kaXBvZGk6ZG9jbmFtZT0iSWNvbi1SZWRfSGF0LU9iamVjdHMtTGlnaHRfQnVsYi1BLUJsYWNrLVJHQi5zdmciCiAgIHZlcnNpb249IjEuMSIKICAgdmlld0JveD0iMCAwIDEyOCAxMjgiCiAgIGlkPSJJY29ucyI+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhMjYyIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT5JY29uLVJlZF9IYXQtT2JqZWN0cy1MaWdodF9CdWxiLUEtQmxhY2stUkdCPC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGRlZnMKICAgICBpZD0iZGVmczI2MCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0iSWNvbnMiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iMTgiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjM4NDAiCiAgICAgaW5rc2NhcGU6Y3k9IjQ5LjgzNjQ4OSIKICAgICBpbmtzY2FwZTpjeD0iMTAzLjgxNzM4IgogICAgIGlua3NjYXBlOnpvb209IjQuMzgwMTMzNyIKICAgICB2aWV3Ym94LXk9IjAiCiAgICAgc2NhbGUteD0iMSIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgaWQ9Im5hbWVkdmlldzI1OCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDYyIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGd1aWRldG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBvYmplY3R0b2xlcmFuY2U9IjEwIgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtcm90YXRpb249IjAiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIiAvPgogIDx0aXRsZQogICAgIGlkPSJ0aXRsZTI1MSI+SWNvbi1SZWRfSGF0LU9iamVjdHMtTGlnaHRfQnVsYi1BLUJsYWNrLVJHQjwvdGl0bGU+CiAgPHBhdGgKICAgICBzdHlsZT0ic3Ryb2tlLXdpZHRoOjUuMDIzNjciCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDI1MyIKICAgICBkPSJtIDg4LjMxNDkzMSw4OS4zNjA1NjcgNS4yNzQ5NjcsLTI0Ljg2NzUyNiBhIDM5LjAzNDU0MSwzOS4wMzQ1NTcgMCAxIDAgLTU5LjE3OTc5NiwwIGwgNS4yNzQ5MzgsMjUuMTE4NzI4IGEgMTAuODUxMzAyLDEwLjg1MTMwNiAwIDAgMCAxMC40OTk2NCw4LjU0MDM2OSBoIDI3LjYzMDYzMSBhIDEwLjkwMTUzOCwxMC45MDE1NDEgMCAwIDAgMTAuNDk5NjIsLTguNzkxNTcxIHogTSAzOS42ODUwMzksNTkuMjE4MDc1IEEgMzEuNDk4OTE2LDMxLjQ5ODkyNSAwIDEgMSA5NS40OTg5MDEsMzkuMTIzMDQyIDMxLjA5NzAxNSwzMS4wOTcwMjYgMCAwIDEgODguMzE0OTMxLDU5LjIxODA3NSBaIE0gODAuOTMwMDM1LDg3Ljk1MzkyMiBBIDMuMzE1Njc1MiwzLjMxNTY3NjYgMCAwIDEgNzcuODE1MzEsOTAuNTE2MDI0IEggNTAuMTg0NjggQSAzLjIxNTIwMDMsMy4yMTUyMDE4IDAgMCAxIDQ3LjA2OTk1Miw4Ny45NTM5MjIgTCA0Mi41NDg1NzgsNjYuNzAzNDgzIGggNDIuOTAyODA2IHoiIC8+CiAgPHBhdGgKICAgICBzdHlsZT0ic3Ryb2tlLXdpZHRoOjUuMDIzNjciCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDI1NSIKICAgICBkPSJNIDgyLjg0Mjk5OSwxMDkuMTU0MTMgQSAzLjc2NzgxMjksMy43Njc4MTM5IDAgMCAwIDc5LjA3NTE5LDEwNS4zODYzMiBIIDQ4LjkzMjY4OSBhIDMuNzY3ODI2OSwzLjc2NzgyODIgMCAxIDAgMCw3LjUzNTY0IGggMC42MDI4NSBjIDAsMCAwLDAuMzAxNzYgMCwwLjUwMjM0IGEgMTQuNTY4ODc3LDE0LjU2ODg4MSAwIDEgMCAyOS4xMzc3NTEsMCBjIDAsMCAwLC0wLjM1MTU1IDAsLTAuNTAyMzQgaCAwLjQwMTc5MiBhIDMuODE4MDUwNSwzLjgxODA1MTUgMCAwIDAgMy43Njc4MDUsLTMuNzY3ODMgeiBtIC0xMS44MDU4MDMsNC4yNzAxOSBhIDcuMDMzMjUzLDcuMDMzMjU1OCAwIDEgMSAtMTQuMDY2NTA1LDAgMS41MDcxMjUsMS41MDcxMjU0IDAgMCAwIDAsLTAuNTAyMzQgSCA3MS4yMzgxNSBhIDEuNTA3MTI1LDEuNTA3MTI1NCAwIDAgMCAtMC4yMDA5NTgsMC42MDI4NSB6IiAvPgo8L3N2Zz4K - mediatype: image/svg+xml - install: - spec: - deployments: - - name: smart-gateway-operator - spec: - replicas: 1 - selector: - matchLabels: - app: smart-gateway-operator - strategy: {} - template: - metadata: - labels: - app: smart-gateway-operator - spec: - containers: - - command: - - /usr/local/bin/ao-logs - - /tmp/ansible-operator/runner - - stdout - image: quay.io/infrawatch/smart-gateway-operator:v1.0.1 - imagePullPolicy: Always - name: ansible - resources: {} - volumeMounts: - - mountPath: /tmp/ansible-operator/runner - name: runner - readOnly: true - - env: - - name: WATCH_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.annotations['olm.targetNamespaces'] - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: OPERATOR_NAME - value: smart-gateway-operator - - name: ANSIBLE_GATHERING - value: explicit - - name: SMARTGATEWAY_IMAGE - value: quay.io/infrawatch/smart-gateway:v2.0.0-beta1 - image: quay.io/infrawatch/smart-gateway-operator:v1.0.1 - imagePullPolicy: Always - name: operator - resources: {} - volumeMounts: - - mountPath: /tmp/ansible-operator/runner - name: runner - serviceAccountName: smart-gateway-operator - volumes: - - emptyDir: {} - name: runner - permissions: - - rules: - - apiGroups: - - "" - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - - configmaps - - secrets - verbs: - - '*' - - apiGroups: - - "" - resources: - - namespaces - verbs: - - get - - apiGroups: - - extensions - resources: - - deployments - verbs: - - '*' - - apiGroups: - - apps - resources: - - deployments - - daemonsets - - replicasets - - statefulsets - verbs: - - '*' - - apiGroups: - - monitoring.coreos.com - resources: - - servicemonitors - verbs: - - get - - create - - list - - patch - - watch - - apiGroups: - - apps - resourceNames: - - smart-gateway-operator - resources: - - deployments/finalizers - verbs: - - update - - apiGroups: - - smartgateway.infra.watch - resources: - - '*' - verbs: - - '*' - serviceAccountName: smart-gateway-operator - strategy: deployment - installModes: - - supported: true - type: OwnNamespace - - supported: true - type: SingleNamespace - - supported: false - type: MultiNamespace - - supported: true - type: AllNamespaces - keywords: - - servicetelemetry - - monitoring - - telemetry - - notifications - - smartgateway - labels: - name: smart-gateway-operator - links: - - name: Source Code - url: https://github.com/infrawatch/smart-gateway-operator - maintainers: - - email: support@redhat.com - name: Red Hat CloudOps DFG - maturity: alpha - provider: - name: Red Hat - replaces: smart-gateway-operator.v1.0.0 - selector: - matchLabels: - name: smart-gateway-operator - version: 1.0.1 diff --git a/deploy/olm-catalog/smart-gateway-operator/1.0.1/smartgateway.infra.watch_smartgateways_crd.yaml b/deploy/olm-catalog/smart-gateway-operator/1.0.1/smartgateway.infra.watch_smartgateways_crd.yaml deleted file mode 100644 index 244f272..0000000 --- a/deploy/olm-catalog/smart-gateway-operator/1.0.1/smartgateway.infra.watch_smartgateways_crd.yaml +++ /dev/null @@ -1,115 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: smartgateways.smartgateway.infra.watch -spec: - group: smartgateway.infra.watch - names: - kind: SmartGateway - listKind: SmartGatewayList - plural: smartgateways - singular: smartgateway - scope: Namespaced - version: v2alpha1 - subresources: - status: {} - versions: - - name: v2alpha1 - served: true - storage: true - validation: - openAPIV3Schema: - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - spec: - description: 'SmartGatewaySpec is a specification of the desired behavior - of the Smartgateway deployment. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' - properties: - size: - description: Size sets the number of replicas to create. Defaults to 1. - type: integer - amqpUrl: - description: AMQP1.x listener example 127.0.0.1:5672/collectd/telemetry. Defaults to using - 'messaging-internal-..src:5672/collectd/telemetry'. - type: string - amqpDataSource: - description: The expected data source of the messages received from the address configured in amqpUrl. Available values include 'universal', 'collectd', and 'ceilometer'. - type: string - useBasicAuth: - description: Whether to use basic authentication or not when connecting to ElasticSearch. Default is 'false' - type: boolean - elasticUrl: - description: URL for ElasticSearch endpoing to connect when the Smart Gateway is operating as an 'events' service type. - Defaults to 'elasticsearch-es-http..svc:9200'. - type: string - elasticUser: - description: Basic Authentication username for ElasticSearch. - type: string - elasticPass: - description: Basic Authentication password for ElasticSearch. - type: string - tlsSecretName: - description: Name of the Secret object that holds the TLS certificates and key for Elasticsearch. - Defaults to 'elasticsearch-es-cert'. - resetIndex: - description: Reset the ElasticSearch index on load. Defaults to 'false'. - type: boolean - serviceType: - description: The service type for this smart gateway. One of 'metrics' or 'events'. Defaults to 'metrics'. - type: string - exporterHost: - description: Metrics URL for Prometheus to export. Defaults to "0.0.0.0". - type: string - exporterPort: - description: Metrics port for Prometheus to export. Defaults to 8081. - type: integer - cpuStats: - description: Include CPU usage info in http requests (degrades performance). Defaults to 'false'. - type: boolean - dataCount: - description: Stop after receiving this many messages in total (-1 forever). Defaults to '-1'. - type: integer - debug: - description: Enable verbose debugging statements. Defaults to 'false'. - type: boolean - prefetch: - description: Number of messages that we can prefetch from AMQP 1.x. By enabling prefetching, the smart gateway won't need to - request every message individually from the AMQP bus, resulting in a round trip for every request between sender and receiver. - To avoid the round trip for every message, the use of prefetch can be used to allow the receiver to request messages be sent - in anticipation of them being sent to us. - type: integer - containerImagePath: - description: Path to the container image this Operator will deploy. Value is defined as the standard registry/image_name:tag - format. - type: string - useTimestamp: - description: Use the source timestamp (time when data was collected) rather than let Prometheus write when the data was - scraped for that metric. - type: boolean - status: - description: Status results of an instance of Smart Gateway - properties: - conditions: - description: The resulting conditions when a Smart Gateway is instantiated - items: - properties: - status: - type: string - type: - type: string - reason: - type: string - lastTransitionTime: - type: string - type: object - type: array - type: object diff --git a/deploy/olm-catalog/smart-gateway-operator/1.0.2/smart-gateway-operator.v1.0.2.clusterserviceversion.yaml b/deploy/olm-catalog/smart-gateway-operator/1.0.2/smart-gateway-operator.v1.0.2.clusterserviceversion.yaml deleted file mode 100644 index 14e520e..0000000 --- a/deploy/olm-catalog/smart-gateway-operator/1.0.2/smart-gateway-operator.v1.0.2.clusterserviceversion.yaml +++ /dev/null @@ -1,290 +0,0 @@ -apiVersion: operators.coreos.com/v1alpha1 -kind: ClusterServiceVersion -metadata: - annotations: - alm-examples: |- - [ - { - "apiVersion": "smartgateway.infra.watch/v2alpha1", - "kind": "SmartGateway", - "metadata": { - "name": "cloud1-events" - }, - "spec": { - "debug": false, - "prefetch": 0, - "resetIndex": false, - "serviceType": "events", - "size": 1 - } - }, - { - "apiVersion": "smartgateway.infra.watch/v2alpha1", - "kind": "SmartGateway", - "metadata": { - "name": "cloud1-metrics" - }, - "spec": { - "debug": false, - "prefetch": 15000, - "serviceType": "metrics", - "size": 1, - "useTimestamp": true - } - } - ] - capabilities: Basic Install - categories: Monitoring - certified: "false" - containerImage: quay.io/infrawatch/smart-gateway-operator:v1.0.2 - createdAt: "2019-11-14T14:49:00Z" - description: Smart Gateway Operator - repository: https://github.com/infrawatch/smart-gateway-operator - support: Red Hat (CloudOps) - name: smart-gateway-operator.v1.0.2 - namespace: placeholder -spec: - apiservicedefinitions: {} - customresourcedefinitions: - owned: - - description: Instance of the Smart Gateway - displayName: SmartGateway - kind: SmartGateway - name: smartgateways.smartgateway.infra.watch - resources: - - kind: Pod - name: "" - version: v1 - - kind: Deployments - name: "" - version: v1 - - kind: ReplicaSets - name: "" - version: v1 - - kind: Services - name: "" - version: v1 - - kind: ConfigMaps - name: "" - version: v1 - - kind: SmartGateways - name: "" - version: v2alpha1 - specDescriptors: - - description: Number of Smart Gateways to deploy - displayName: Size - path: size - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:number - - description: Location of the AMQP endpoint to connect the Smart Gateway to - displayName: AMQP URL - path: amqpUrl - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:text - - description: Container image path - displayName: Container image path - path: containerImagePath - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:text - - description: Number of messages that we can prefetch from AMQP 1.x. By enabling - prefetching, the smart gateway won't need to request every message individually - from the AMQP bus, resulting in a round trip for every request between sender - and receiver. To avoid the round trip for every message, the use of prefetch - can be used to allow the receiver to request messages be sent in anticipation - of them being sent to us. - displayName: Prefetch - path: prefetch - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:number - - description: Use the source timestamp (time when data was collected) rather - than let Prometheus write when the data was scraped for that metric. - displayName: Use Timestamp - path: useTimestamp - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:booleanSwitch - - description: Smart Gateway Service Type - displayName: Service Type - path: serviceType - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:select:metrics - - urn:alm:descriptor:com.tectonic.ui:select:events - - description: Enable additional debugging information to console output - displayName: Enable debugging - path: debug - x-descriptors: - - urn:alm:descriptor:tectonic.ui:booleanSwitch - statusDescriptors: - - description: Conditions provided by deployment - displayName: Conditions - path: conditions - x-descriptors: - - urn:alm:descriptor:io.kubernetes.conditions - version: v2alpha1 - description: |- - # Smart Gateway for Service Telemetry Framework - - The Smart Gateway is middleware for OpenShift that takes metrics and events - data streams from an AMQP 1.x message bus, and provides a method to having - that data stream stored within Prometheus or ElasticSearch. - - ## Core capabilities - - The Smart Gateway provides two modes: - - * metrics: provides an HTTP scrape endpoint for Prometheus - * events: writes events directly to an ElasticSearch endpoint - - ## Operator features - - * **Two Service Types** - Supports the `metrics` and `events` service types which defines the type of Smart Gateway to be deployed - - * **Configuration** - Configuration of the Smart Gateway to allow for it to be connected to an AMQP 1.x bus and pointed at the appropriate storage mechanism based on service type. - - ## Before getting started - - 1. Ensure an AMQP 1.x bus has been setup (such as AMQ Interconnect) - 2. If the Smart Gateway is running in events mode, be sure the ElasticSearch Operator and ElasticSearch instance have been pre-deployed. - displayName: Smart Gateway Operator - icon: - - base64data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4wYmV0YTIgKHVua25vd24pIgogICBoZWlnaHQ9IjEyOCIKICAgd2lkdGg9IjEyOCIKICAgc29kaXBvZGk6ZG9jbmFtZT0iSWNvbi1SZWRfSGF0LU9iamVjdHMtTGlnaHRfQnVsYi1BLUJsYWNrLVJHQi5zdmciCiAgIHZlcnNpb249IjEuMSIKICAgdmlld0JveD0iMCAwIDEyOCAxMjgiCiAgIGlkPSJJY29ucyI+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhMjYyIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT5JY29uLVJlZF9IYXQtT2JqZWN0cy1MaWdodF9CdWxiLUEtQmxhY2stUkdCPC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGRlZnMKICAgICBpZD0iZGVmczI2MCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0iSWNvbnMiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iMTgiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjM4NDAiCiAgICAgaW5rc2NhcGU6Y3k9IjQ5LjgzNjQ4OSIKICAgICBpbmtzY2FwZTpjeD0iMTAzLjgxNzM4IgogICAgIGlua3NjYXBlOnpvb209IjQuMzgwMTMzNyIKICAgICB2aWV3Ym94LXk9IjAiCiAgICAgc2NhbGUteD0iMSIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgaWQ9Im5hbWVkdmlldzI1OCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDYyIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGd1aWRldG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBvYmplY3R0b2xlcmFuY2U9IjEwIgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtcm90YXRpb249IjAiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIiAvPgogIDx0aXRsZQogICAgIGlkPSJ0aXRsZTI1MSI+SWNvbi1SZWRfSGF0LU9iamVjdHMtTGlnaHRfQnVsYi1BLUJsYWNrLVJHQjwvdGl0bGU+CiAgPHBhdGgKICAgICBzdHlsZT0ic3Ryb2tlLXdpZHRoOjUuMDIzNjciCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDI1MyIKICAgICBkPSJtIDg4LjMxNDkzMSw4OS4zNjA1NjcgNS4yNzQ5NjcsLTI0Ljg2NzUyNiBhIDM5LjAzNDU0MSwzOS4wMzQ1NTcgMCAxIDAgLTU5LjE3OTc5NiwwIGwgNS4yNzQ5MzgsMjUuMTE4NzI4IGEgMTAuODUxMzAyLDEwLjg1MTMwNiAwIDAgMCAxMC40OTk2NCw4LjU0MDM2OSBoIDI3LjYzMDYzMSBhIDEwLjkwMTUzOCwxMC45MDE1NDEgMCAwIDAgMTAuNDk5NjIsLTguNzkxNTcxIHogTSAzOS42ODUwMzksNTkuMjE4MDc1IEEgMzEuNDk4OTE2LDMxLjQ5ODkyNSAwIDEgMSA5NS40OTg5MDEsMzkuMTIzMDQyIDMxLjA5NzAxNSwzMS4wOTcwMjYgMCAwIDEgODguMzE0OTMxLDU5LjIxODA3NSBaIE0gODAuOTMwMDM1LDg3Ljk1MzkyMiBBIDMuMzE1Njc1MiwzLjMxNTY3NjYgMCAwIDEgNzcuODE1MzEsOTAuNTE2MDI0IEggNTAuMTg0NjggQSAzLjIxNTIwMDMsMy4yMTUyMDE4IDAgMCAxIDQ3LjA2OTk1Miw4Ny45NTM5MjIgTCA0Mi41NDg1NzgsNjYuNzAzNDgzIGggNDIuOTAyODA2IHoiIC8+CiAgPHBhdGgKICAgICBzdHlsZT0ic3Ryb2tlLXdpZHRoOjUuMDIzNjciCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDI1NSIKICAgICBkPSJNIDgyLjg0Mjk5OSwxMDkuMTU0MTMgQSAzLjc2NzgxMjksMy43Njc4MTM5IDAgMCAwIDc5LjA3NTE5LDEwNS4zODYzMiBIIDQ4LjkzMjY4OSBhIDMuNzY3ODI2OSwzLjc2NzgyODIgMCAxIDAgMCw3LjUzNTY0IGggMC42MDI4NSBjIDAsMCAwLDAuMzAxNzYgMCwwLjUwMjM0IGEgMTQuNTY4ODc3LDE0LjU2ODg4MSAwIDEgMCAyOS4xMzc3NTEsMCBjIDAsMCAwLC0wLjM1MTU1IDAsLTAuNTAyMzQgaCAwLjQwMTc5MiBhIDMuODE4MDUwNSwzLjgxODA1MTUgMCAwIDAgMy43Njc4MDUsLTMuNzY3ODMgeiBtIC0xMS44MDU4MDMsNC4yNzAxOSBhIDcuMDMzMjUzLDcuMDMzMjU1OCAwIDEgMSAtMTQuMDY2NTA1LDAgMS41MDcxMjUsMS41MDcxMjU0IDAgMCAwIDAsLTAuNTAyMzQgSCA3MS4yMzgxNSBhIDEuNTA3MTI1LDEuNTA3MTI1NCAwIDAgMCAtMC4yMDA5NTgsMC42MDI4NSB6IiAvPgo8L3N2Zz4K - mediatype: image/svg+xml - install: - spec: - deployments: - - name: smart-gateway-operator - spec: - replicas: 1 - selector: - matchLabels: - app: smart-gateway-operator - strategy: {} - template: - metadata: - labels: - app: smart-gateway-operator - spec: - containers: - - command: - - /usr/local/bin/ao-logs - - /tmp/ansible-operator/runner - - stdout - image: quay.io/infrawatch/smart-gateway-operator:latest - imagePullPolicy: Always - name: ansible - resources: {} - volumeMounts: - - mountPath: /tmp/ansible-operator/runner - name: runner - readOnly: true - - env: - - name: WATCH_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.annotations['olm.targetNamespaces'] - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: OPERATOR_NAME - value: smart-gateway-operator - - name: ANSIBLE_GATHERING - value: explicit - - name: SMARTGATEWAY_IMAGE - value: quay.io/infrawatch/smart-gateway:latest - image: quay.io/infrawatch/smart-gateway-operator:latest - imagePullPolicy: Always - name: operator - resources: {} - volumeMounts: - - mountPath: /tmp/ansible-operator/runner - name: runner - serviceAccountName: smart-gateway-operator - volumes: - - emptyDir: {} - name: runner - permissions: - - rules: - - apiGroups: - - "" - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - - configmaps - - secrets - verbs: - - '*' - - apiGroups: - - "" - resources: - - namespaces - verbs: - - get - - apiGroups: - - apps - resources: - - deployments - - daemonsets - - replicasets - - statefulsets - verbs: - - '*' - - apiGroups: - - monitoring.coreos.com - resources: - - servicemonitors - verbs: - - get - - create - - list - - patch - - watch - - apiGroups: - - apps - resourceNames: - - smart-gateway-operator - resources: - - deployments/finalizers - verbs: - - update - - apiGroups: - - smartgateway.infra.watch - resources: - - '*' - verbs: - - '*' - serviceAccountName: smart-gateway-operator - strategy: deployment - installModes: - - supported: true - type: OwnNamespace - - supported: true - type: SingleNamespace - - supported: false - type: MultiNamespace - - supported: true - type: AllNamespaces - keywords: - - servicetelemetry - - monitoring - - telemetry - - notifications - - smartgateway - labels: - name: smart-gateway-operator - links: - - name: Source Code - url: https://github.com/infrawatch/smart-gateway-operator - maintainers: - - email: support@redhat.com - name: Red Hat CloudOps DFG - maturity: alpha - provider: - name: Red Hat - replaces: smart-gateway-operator.v1.0.1 - selector: - matchLabels: - name: smart-gateway-operator - version: 1.0.2 diff --git a/deploy/olm-catalog/smart-gateway-operator/1.0.2/smartgateway.infra.watch_smartgateways_crd.yaml b/deploy/olm-catalog/smart-gateway-operator/1.0.2/smartgateway.infra.watch_smartgateways_crd.yaml deleted file mode 100644 index 244f272..0000000 --- a/deploy/olm-catalog/smart-gateway-operator/1.0.2/smartgateway.infra.watch_smartgateways_crd.yaml +++ /dev/null @@ -1,115 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: smartgateways.smartgateway.infra.watch -spec: - group: smartgateway.infra.watch - names: - kind: SmartGateway - listKind: SmartGatewayList - plural: smartgateways - singular: smartgateway - scope: Namespaced - version: v2alpha1 - subresources: - status: {} - versions: - - name: v2alpha1 - served: true - storage: true - validation: - openAPIV3Schema: - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - spec: - description: 'SmartGatewaySpec is a specification of the desired behavior - of the Smartgateway deployment. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' - properties: - size: - description: Size sets the number of replicas to create. Defaults to 1. - type: integer - amqpUrl: - description: AMQP1.x listener example 127.0.0.1:5672/collectd/telemetry. Defaults to using - 'messaging-internal-..src:5672/collectd/telemetry'. - type: string - amqpDataSource: - description: The expected data source of the messages received from the address configured in amqpUrl. Available values include 'universal', 'collectd', and 'ceilometer'. - type: string - useBasicAuth: - description: Whether to use basic authentication or not when connecting to ElasticSearch. Default is 'false' - type: boolean - elasticUrl: - description: URL for ElasticSearch endpoing to connect when the Smart Gateway is operating as an 'events' service type. - Defaults to 'elasticsearch-es-http..svc:9200'. - type: string - elasticUser: - description: Basic Authentication username for ElasticSearch. - type: string - elasticPass: - description: Basic Authentication password for ElasticSearch. - type: string - tlsSecretName: - description: Name of the Secret object that holds the TLS certificates and key for Elasticsearch. - Defaults to 'elasticsearch-es-cert'. - resetIndex: - description: Reset the ElasticSearch index on load. Defaults to 'false'. - type: boolean - serviceType: - description: The service type for this smart gateway. One of 'metrics' or 'events'. Defaults to 'metrics'. - type: string - exporterHost: - description: Metrics URL for Prometheus to export. Defaults to "0.0.0.0". - type: string - exporterPort: - description: Metrics port for Prometheus to export. Defaults to 8081. - type: integer - cpuStats: - description: Include CPU usage info in http requests (degrades performance). Defaults to 'false'. - type: boolean - dataCount: - description: Stop after receiving this many messages in total (-1 forever). Defaults to '-1'. - type: integer - debug: - description: Enable verbose debugging statements. Defaults to 'false'. - type: boolean - prefetch: - description: Number of messages that we can prefetch from AMQP 1.x. By enabling prefetching, the smart gateway won't need to - request every message individually from the AMQP bus, resulting in a round trip for every request between sender and receiver. - To avoid the round trip for every message, the use of prefetch can be used to allow the receiver to request messages be sent - in anticipation of them being sent to us. - type: integer - containerImagePath: - description: Path to the container image this Operator will deploy. Value is defined as the standard registry/image_name:tag - format. - type: string - useTimestamp: - description: Use the source timestamp (time when data was collected) rather than let Prometheus write when the data was - scraped for that metric. - type: boolean - status: - description: Status results of an instance of Smart Gateway - properties: - conditions: - description: The resulting conditions when a Smart Gateway is instantiated - items: - properties: - status: - type: string - type: - type: string - reason: - type: string - lastTransitionTime: - type: string - type: object - type: array - type: object diff --git a/deploy/olm-catalog/smart-gateway-operator/2.0.0/smart-gateway-operator.v2.0.0.clusterserviceversion.yaml b/deploy/olm-catalog/smart-gateway-operator/2.0.0/smart-gateway-operator.v2.0.0.clusterserviceversion.yaml deleted file mode 100644 index ae6150d..0000000 --- a/deploy/olm-catalog/smart-gateway-operator/2.0.0/smart-gateway-operator.v2.0.0.clusterserviceversion.yaml +++ /dev/null @@ -1,294 +0,0 @@ -apiVersion: operators.coreos.com/v1alpha1 -kind: ClusterServiceVersion -metadata: - annotations: - alm-examples: |- - [ - { - "apiVersion": "smartgateway.infra.watch/v2alpha1", - "kind": "SmartGateway", - "metadata": { - "name": "cloud1-events" - }, - "spec": { - "debug": false, - "prefetch": 0, - "resetIndex": false, - "serviceType": "events", - "size": 1 - } - }, - { - "apiVersion": "smartgateway.infra.watch/v2alpha1", - "kind": "SmartGateway", - "metadata": { - "name": "cloud1-metrics" - }, - "spec": { - "debug": false, - "prefetch": 15000, - "serviceType": "metrics", - "size": 1, - "useTimestamp": true - } - } - ] - capabilities: Basic Install - categories: Monitoring - certified: "false" - containerImage: quay.io/infrawatch/smart-gateway-operator:v2.0.0 - createdAt: "2019-11-14T14:49:00Z" - description: Operator for managing the Smart Gateway Custom Resources, resulting in deployments of the Smart Gateway. - repository: https://github.com/infrawatch/smart-gateway-operator - support: Red Hat (CloudOps) - name: smart-gateway-operator.v2.0.0 - namespace: placeholder -spec: - apiservicedefinitions: {} - customresourcedefinitions: - owned: - - description: Instance of the Smart Gateway - displayName: SmartGateway - kind: SmartGateway - name: smartgateways.smartgateway.infra.watch - resources: - - kind: Pod - name: "" - version: v1 - - kind: Deployments - name: "" - version: v1 - - kind: ReplicaSets - name: "" - version: v1 - - kind: Services - name: "" - version: v1 - - kind: ConfigMaps - name: "" - version: v1 - - kind: SmartGateways - name: "" - version: v2alpha1 - specDescriptors: - - description: Number of Smart Gateways to deploy - displayName: Size - path: size - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:number - - description: Location of the AMQP endpoint to connect the Smart Gateway to - displayName: AMQP URL - path: amqpUrl - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:text - - description: Container image path - displayName: Container image path - path: containerImagePath - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:text - - description: Number of messages that we can prefetch from AMQP 1.x. By enabling - prefetching, the smart gateway won't need to request every message individually - from the AMQP bus, resulting in a round trip for every request between sender - and receiver. To avoid the round trip for every message, the use of prefetch - can be used to allow the receiver to request messages be sent in anticipation - of them being sent to us. - displayName: Prefetch - path: prefetch - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:number - - description: Use the source timestamp (time when data was collected) rather - than let Prometheus write when the data was scraped for that metric. - displayName: Use Timestamp - path: useTimestamp - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:booleanSwitch - - description: Smart Gateway Service Type - displayName: Service Type - path: serviceType - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:select:metrics - - urn:alm:descriptor:com.tectonic.ui:select:events - - description: Enable additional debugging information to console output - displayName: Enable debugging - path: debug - x-descriptors: - - urn:alm:descriptor:tectonic.ui:booleanSwitch - statusDescriptors: - - description: Conditions provided by deployment - displayName: Conditions - path: conditions - x-descriptors: - - urn:alm:descriptor:io.kubernetes.conditions - version: v2alpha1 - description: |- - # Smart Gateway for Service Telemetry Framework - - The Smart Gateway is middleware for OpenShift that takes metrics and events - data streams from an AMQP 1.x message bus, and provides a method to having - that data stream stored within Prometheus or ElasticSearch. - - ## Core capabilities - - The Smart Gateway provides two modes: - - * metrics: provides an HTTP scrape endpoint for Prometheus - * events: writes events directly to an ElasticSearch endpoint - - ## Operator features - - * **Two Service Types** - Supports the `metrics` and `events` service types which defines the type of Smart Gateway to be deployed - - * **Configuration** - Configuration of the Smart Gateway to allow for it to be connected to an AMQP 1.x bus and pointed at the appropriate storage mechanism based on service type. - - ## Before getting started - - 1. Ensure an AMQP 1.x bus has been setup (such as AMQ Interconnect) - 2. If the Smart Gateway is running in events mode, be sure the ElasticSearch Operator and ElasticSearch instance have been pre-deployed. - displayName: Smart Gateway Operator - icon: - - base64data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4wYmV0YTIgKHVua25vd24pIgogICBoZWlnaHQ9IjEyOCIKICAgd2lkdGg9IjEyOCIKICAgc29kaXBvZGk6ZG9jbmFtZT0iSWNvbi1SZWRfSGF0LU9iamVjdHMtTGlnaHRfQnVsYi1BLUJsYWNrLVJHQi5zdmciCiAgIHZlcnNpb249IjEuMSIKICAgdmlld0JveD0iMCAwIDEyOCAxMjgiCiAgIGlkPSJJY29ucyI+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhMjYyIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT5JY29uLVJlZF9IYXQtT2JqZWN0cy1MaWdodF9CdWxiLUEtQmxhY2stUkdCPC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGRlZnMKICAgICBpZD0iZGVmczI2MCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0iSWNvbnMiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iMTgiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjM4NDAiCiAgICAgaW5rc2NhcGU6Y3k9IjQ5LjgzNjQ4OSIKICAgICBpbmtzY2FwZTpjeD0iMTAzLjgxNzM4IgogICAgIGlua3NjYXBlOnpvb209IjQuMzgwMTMzNyIKICAgICB2aWV3Ym94LXk9IjAiCiAgICAgc2NhbGUteD0iMSIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgaWQ9Im5hbWVkdmlldzI1OCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDYyIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGd1aWRldG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBvYmplY3R0b2xlcmFuY2U9IjEwIgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtcm90YXRpb249IjAiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIiAvPgogIDx0aXRsZQogICAgIGlkPSJ0aXRsZTI1MSI+SWNvbi1SZWRfSGF0LU9iamVjdHMtTGlnaHRfQnVsYi1BLUJsYWNrLVJHQjwvdGl0bGU+CiAgPHBhdGgKICAgICBzdHlsZT0ic3Ryb2tlLXdpZHRoOjUuMDIzNjciCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDI1MyIKICAgICBkPSJtIDg4LjMxNDkzMSw4OS4zNjA1NjcgNS4yNzQ5NjcsLTI0Ljg2NzUyNiBhIDM5LjAzNDU0MSwzOS4wMzQ1NTcgMCAxIDAgLTU5LjE3OTc5NiwwIGwgNS4yNzQ5MzgsMjUuMTE4NzI4IGEgMTAuODUxMzAyLDEwLjg1MTMwNiAwIDAgMCAxMC40OTk2NCw4LjU0MDM2OSBoIDI3LjYzMDYzMSBhIDEwLjkwMTUzOCwxMC45MDE1NDEgMCAwIDAgMTAuNDk5NjIsLTguNzkxNTcxIHogTSAzOS42ODUwMzksNTkuMjE4MDc1IEEgMzEuNDk4OTE2LDMxLjQ5ODkyNSAwIDEgMSA5NS40OTg5MDEsMzkuMTIzMDQyIDMxLjA5NzAxNSwzMS4wOTcwMjYgMCAwIDEgODguMzE0OTMxLDU5LjIxODA3NSBaIE0gODAuOTMwMDM1LDg3Ljk1MzkyMiBBIDMuMzE1Njc1MiwzLjMxNTY3NjYgMCAwIDEgNzcuODE1MzEsOTAuNTE2MDI0IEggNTAuMTg0NjggQSAzLjIxNTIwMDMsMy4yMTUyMDE4IDAgMCAxIDQ3LjA2OTk1Miw4Ny45NTM5MjIgTCA0Mi41NDg1NzgsNjYuNzAzNDgzIGggNDIuOTAyODA2IHoiIC8+CiAgPHBhdGgKICAgICBzdHlsZT0ic3Ryb2tlLXdpZHRoOjUuMDIzNjciCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDI1NSIKICAgICBkPSJNIDgyLjg0Mjk5OSwxMDkuMTU0MTMgQSAzLjc2NzgxMjksMy43Njc4MTM5IDAgMCAwIDc5LjA3NTE5LDEwNS4zODYzMiBIIDQ4LjkzMjY4OSBhIDMuNzY3ODI2OSwzLjc2NzgyODIgMCAxIDAgMCw3LjUzNTY0IGggMC42MDI4NSBjIDAsMCAwLDAuMzAxNzYgMCwwLjUwMjM0IGEgMTQuNTY4ODc3LDE0LjU2ODg4MSAwIDEgMCAyOS4xMzc3NTEsMCBjIDAsMCAwLC0wLjM1MTU1IDAsLTAuNTAyMzQgaCAwLjQwMTc5MiBhIDMuODE4MDUwNSwzLjgxODA1MTUgMCAwIDAgMy43Njc4MDUsLTMuNzY3ODMgeiBtIC0xMS44MDU4MDMsNC4yNzAxOSBhIDcuMDMzMjUzLDcuMDMzMjU1OCAwIDEgMSAtMTQuMDY2NTA1LDAgMS41MDcxMjUsMS41MDcxMjU0IDAgMCAwIDAsLTAuNTAyMzQgSCA3MS4yMzgxNSBhIDEuNTA3MTI1LDEuNTA3MTI1NCAwIDAgMCAtMC4yMDA5NTgsMC42MDI4NSB6IiAvPgo8L3N2Zz4K - mediatype: image/svg+xml - install: - spec: - deployments: - - name: smart-gateway-operator - spec: - replicas: 1 - selector: - matchLabels: - app: smart-gateway-operator - strategy: {} - template: - metadata: - labels: - app: smart-gateway-operator - spec: - containers: - - command: - - /usr/local/bin/ao-logs - - /tmp/ansible-operator/runner - - stdout - image: quay.io/infrawatch/smart-gateway-operator:latest - imagePullPolicy: Always - name: ansible - resources: {} - volumeMounts: - - mountPath: /tmp/ansible-operator/runner - name: runner - readOnly: true - - env: - - name: WATCH_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.annotations['olm.targetNamespaces'] - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: OPERATOR_NAME - value: smart-gateway-operator - - name: ANSIBLE_GATHERING - value: explicit - - name: SMARTGATEWAY_IMAGE - value: quay.io/infrawatch/smart-gateway:v2.0.0-beta1 - - name: CORE_SMARTGATEWAY_IMAGE - value: quay.io/infrawatch/sg-core:v3.0.0 - - name: BRIDGE_SMARTGATEWAY_IMAGE - value: quay.io/infrawatch/sg-bridge:v1.0.0 - image: quay.io/infrawatch/smart-gateway-operator:v2.0.0 - imagePullPolicy: Always - name: operator - resources: {} - volumeMounts: - - mountPath: /tmp/ansible-operator/runner - name: runner - serviceAccountName: smart-gateway-operator - volumes: - - emptyDir: {} - name: runner - permissions: - - rules: - - apiGroups: - - "" - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - - configmaps - - secrets - verbs: - - '*' - - apiGroups: - - "" - resources: - - namespaces - verbs: - - get - - apiGroups: - - apps - resources: - - deployments - - daemonsets - - replicasets - - statefulsets - verbs: - - '*' - - apiGroups: - - monitoring.coreos.com - resources: - - servicemonitors - verbs: - - get - - create - - list - - patch - - watch - - apiGroups: - - apps - resourceNames: - - smart-gateway-operator - resources: - - deployments/finalizers - verbs: - - update - - apiGroups: - - smartgateway.infra.watch - resources: - - '*' - verbs: - - '*' - serviceAccountName: smart-gateway-operator - strategy: deployment - installModes: - - supported: true - type: OwnNamespace - - supported: true - type: SingleNamespace - - supported: false - type: MultiNamespace - - supported: true - type: AllNamespaces - keywords: - - servicetelemetry - - monitoring - - telemetry - - notifications - - smartgateway - labels: - name: smart-gateway-operator - links: - - name: Source Code - url: https://github.com/infrawatch/smart-gateway-operator - maintainers: - - email: support@redhat.com - name: Red Hat CloudOps DFG - maturity: alpha - provider: - name: Red Hat - replaces: smart-gateway-operator.v1.0.2 - selector: - matchLabels: - name: smart-gateway-operator - version: 2.0.0 diff --git a/deploy/olm-catalog/smart-gateway-operator/2.0.0/smartgateway.infra.watch_smartgateways_crd.yaml b/deploy/olm-catalog/smart-gateway-operator/2.0.0/smartgateway.infra.watch_smartgateways_crd.yaml deleted file mode 100644 index 244f272..0000000 --- a/deploy/olm-catalog/smart-gateway-operator/2.0.0/smartgateway.infra.watch_smartgateways_crd.yaml +++ /dev/null @@ -1,115 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: smartgateways.smartgateway.infra.watch -spec: - group: smartgateway.infra.watch - names: - kind: SmartGateway - listKind: SmartGatewayList - plural: smartgateways - singular: smartgateway - scope: Namespaced - version: v2alpha1 - subresources: - status: {} - versions: - - name: v2alpha1 - served: true - storage: true - validation: - openAPIV3Schema: - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - spec: - description: 'SmartGatewaySpec is a specification of the desired behavior - of the Smartgateway deployment. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' - properties: - size: - description: Size sets the number of replicas to create. Defaults to 1. - type: integer - amqpUrl: - description: AMQP1.x listener example 127.0.0.1:5672/collectd/telemetry. Defaults to using - 'messaging-internal-..src:5672/collectd/telemetry'. - type: string - amqpDataSource: - description: The expected data source of the messages received from the address configured in amqpUrl. Available values include 'universal', 'collectd', and 'ceilometer'. - type: string - useBasicAuth: - description: Whether to use basic authentication or not when connecting to ElasticSearch. Default is 'false' - type: boolean - elasticUrl: - description: URL for ElasticSearch endpoing to connect when the Smart Gateway is operating as an 'events' service type. - Defaults to 'elasticsearch-es-http..svc:9200'. - type: string - elasticUser: - description: Basic Authentication username for ElasticSearch. - type: string - elasticPass: - description: Basic Authentication password for ElasticSearch. - type: string - tlsSecretName: - description: Name of the Secret object that holds the TLS certificates and key for Elasticsearch. - Defaults to 'elasticsearch-es-cert'. - resetIndex: - description: Reset the ElasticSearch index on load. Defaults to 'false'. - type: boolean - serviceType: - description: The service type for this smart gateway. One of 'metrics' or 'events'. Defaults to 'metrics'. - type: string - exporterHost: - description: Metrics URL for Prometheus to export. Defaults to "0.0.0.0". - type: string - exporterPort: - description: Metrics port for Prometheus to export. Defaults to 8081. - type: integer - cpuStats: - description: Include CPU usage info in http requests (degrades performance). Defaults to 'false'. - type: boolean - dataCount: - description: Stop after receiving this many messages in total (-1 forever). Defaults to '-1'. - type: integer - debug: - description: Enable verbose debugging statements. Defaults to 'false'. - type: boolean - prefetch: - description: Number of messages that we can prefetch from AMQP 1.x. By enabling prefetching, the smart gateway won't need to - request every message individually from the AMQP bus, resulting in a round trip for every request between sender and receiver. - To avoid the round trip for every message, the use of prefetch can be used to allow the receiver to request messages be sent - in anticipation of them being sent to us. - type: integer - containerImagePath: - description: Path to the container image this Operator will deploy. Value is defined as the standard registry/image_name:tag - format. - type: string - useTimestamp: - description: Use the source timestamp (time when data was collected) rather than let Prometheus write when the data was - scraped for that metric. - type: boolean - status: - description: Status results of an instance of Smart Gateway - properties: - conditions: - description: The resulting conditions when a Smart Gateway is instantiated - items: - properties: - status: - type: string - type: - type: string - reason: - type: string - lastTransitionTime: - type: string - type: object - type: array - type: object diff --git a/deploy/olm-catalog/smart-gateway-operator/2.0.1/smart-gateway-operator.v2.0.1.clusterserviceversion.yaml b/deploy/olm-catalog/smart-gateway-operator/2.0.1/smart-gateway-operator.v2.0.1.clusterserviceversion.yaml deleted file mode 100644 index 8ef781f..0000000 --- a/deploy/olm-catalog/smart-gateway-operator/2.0.1/smart-gateway-operator.v2.0.1.clusterserviceversion.yaml +++ /dev/null @@ -1,294 +0,0 @@ -apiVersion: operators.coreos.com/v1alpha1 -kind: ClusterServiceVersion -metadata: - annotations: - alm-examples: |- - [ - { - "apiVersion": "smartgateway.infra.watch/v2alpha1", - "kind": "SmartGateway", - "metadata": { - "name": "cloud1-events" - }, - "spec": { - "debug": false, - "prefetch": 0, - "resetIndex": false, - "serviceType": "events", - "size": 1 - } - }, - { - "apiVersion": "smartgateway.infra.watch/v2alpha1", - "kind": "SmartGateway", - "metadata": { - "name": "cloud1-metrics" - }, - "spec": { - "debug": false, - "prefetch": 15000, - "serviceType": "metrics", - "size": 1, - "useTimestamp": true - } - } - ] - capabilities: Basic Install - categories: Monitoring - certified: "false" - containerImage: quay.io/infrawatch/smart-gateway-operator:v2.0.1 - createdAt: "2019-11-14T14:49:00Z" - description: Operator for managing the Smart Gateway Custom Resources, resulting in deployments of the Smart Gateway. - repository: https://github.com/infrawatch/smart-gateway-operator - support: Red Hat (CloudOps) - name: smart-gateway-operator.v2.0.1 - namespace: placeholder -spec: - apiservicedefinitions: {} - customresourcedefinitions: - owned: - - description: Instance of the Smart Gateway - displayName: SmartGateway - kind: SmartGateway - name: smartgateways.smartgateway.infra.watch - resources: - - kind: Pod - name: "" - version: v1 - - kind: Deployments - name: "" - version: v1 - - kind: ReplicaSets - name: "" - version: v1 - - kind: Services - name: "" - version: v1 - - kind: ConfigMaps - name: "" - version: v1 - - kind: SmartGateways - name: "" - version: v2alpha1 - specDescriptors: - - description: Number of Smart Gateways to deploy - displayName: Size - path: size - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:number - - description: Location of the AMQP endpoint to connect the Smart Gateway to - displayName: AMQP URL - path: amqpUrl - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:text - - description: Container image path - displayName: Container image path - path: containerImagePath - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:text - - description: Number of messages that we can prefetch from AMQP 1.x. By enabling - prefetching, the smart gateway won't need to request every message individually - from the AMQP bus, resulting in a round trip for every request between sender - and receiver. To avoid the round trip for every message, the use of prefetch - can be used to allow the receiver to request messages be sent in anticipation - of them being sent to us. - displayName: Prefetch - path: prefetch - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:number - - description: Use the source timestamp (time when data was collected) rather - than let Prometheus write when the data was scraped for that metric. - displayName: Use Timestamp - path: useTimestamp - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:booleanSwitch - - description: Smart Gateway Service Type - displayName: Service Type - path: serviceType - x-descriptors: - - urn:alm:descriptor:com.tectonic.ui:select:metrics - - urn:alm:descriptor:com.tectonic.ui:select:events - - description: Enable additional debugging information to console output - displayName: Enable debugging - path: debug - x-descriptors: - - urn:alm:descriptor:tectonic.ui:booleanSwitch - statusDescriptors: - - description: Conditions provided by deployment - displayName: Conditions - path: conditions - x-descriptors: - - urn:alm:descriptor:io.kubernetes.conditions - version: v2alpha1 - description: |- - # Smart Gateway for Service Telemetry Framework - - The Smart Gateway is middleware for OpenShift that takes metrics and events - data streams from an AMQP 1.x message bus, and provides a method to having - that data stream stored within Prometheus or ElasticSearch. - - ## Core capabilities - - The Smart Gateway provides two modes: - - * metrics: provides an HTTP scrape endpoint for Prometheus - * events: writes events directly to an ElasticSearch endpoint - - ## Operator features - - * **Two Service Types** - Supports the `metrics` and `events` service types which defines the type of Smart Gateway to be deployed - - * **Configuration** - Configuration of the Smart Gateway to allow for it to be connected to an AMQP 1.x bus and pointed at the appropriate storage mechanism based on service type. - - ## Before getting started - - 1. Ensure an AMQP 1.x bus has been setup (such as AMQ Interconnect) - 2. If the Smart Gateway is running in events mode, be sure the ElasticSearch Operator and ElasticSearch instance have been pre-deployed. - displayName: Smart Gateway Operator - icon: - - base64data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4wYmV0YTIgKHVua25vd24pIgogICBoZWlnaHQ9IjEyOCIKICAgd2lkdGg9IjEyOCIKICAgc29kaXBvZGk6ZG9jbmFtZT0iSWNvbi1SZWRfSGF0LU9iamVjdHMtTGlnaHRfQnVsYi1BLUJsYWNrLVJHQi5zdmciCiAgIHZlcnNpb249IjEuMSIKICAgdmlld0JveD0iMCAwIDEyOCAxMjgiCiAgIGlkPSJJY29ucyI+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhMjYyIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT5JY29uLVJlZF9IYXQtT2JqZWN0cy1MaWdodF9CdWxiLUEtQmxhY2stUkdCPC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGRlZnMKICAgICBpZD0iZGVmczI2MCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0iSWNvbnMiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iMTgiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjM4NDAiCiAgICAgaW5rc2NhcGU6Y3k9IjQ5LjgzNjQ4OSIKICAgICBpbmtzY2FwZTpjeD0iMTAzLjgxNzM4IgogICAgIGlua3NjYXBlOnpvb209IjQuMzgwMTMzNyIKICAgICB2aWV3Ym94LXk9IjAiCiAgICAgc2NhbGUteD0iMSIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgaWQ9Im5hbWVkdmlldzI1OCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDYyIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGd1aWRldG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBvYmplY3R0b2xlcmFuY2U9IjEwIgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtcm90YXRpb249IjAiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIiAvPgogIDx0aXRsZQogICAgIGlkPSJ0aXRsZTI1MSI+SWNvbi1SZWRfSGF0LU9iamVjdHMtTGlnaHRfQnVsYi1BLUJsYWNrLVJHQjwvdGl0bGU+CiAgPHBhdGgKICAgICBzdHlsZT0ic3Ryb2tlLXdpZHRoOjUuMDIzNjciCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDI1MyIKICAgICBkPSJtIDg4LjMxNDkzMSw4OS4zNjA1NjcgNS4yNzQ5NjcsLTI0Ljg2NzUyNiBhIDM5LjAzNDU0MSwzOS4wMzQ1NTcgMCAxIDAgLTU5LjE3OTc5NiwwIGwgNS4yNzQ5MzgsMjUuMTE4NzI4IGEgMTAuODUxMzAyLDEwLjg1MTMwNiAwIDAgMCAxMC40OTk2NCw4LjU0MDM2OSBoIDI3LjYzMDYzMSBhIDEwLjkwMTUzOCwxMC45MDE1NDEgMCAwIDAgMTAuNDk5NjIsLTguNzkxNTcxIHogTSAzOS42ODUwMzksNTkuMjE4MDc1IEEgMzEuNDk4OTE2LDMxLjQ5ODkyNSAwIDEgMSA5NS40OTg5MDEsMzkuMTIzMDQyIDMxLjA5NzAxNSwzMS4wOTcwMjYgMCAwIDEgODguMzE0OTMxLDU5LjIxODA3NSBaIE0gODAuOTMwMDM1LDg3Ljk1MzkyMiBBIDMuMzE1Njc1MiwzLjMxNTY3NjYgMCAwIDEgNzcuODE1MzEsOTAuNTE2MDI0IEggNTAuMTg0NjggQSAzLjIxNTIwMDMsMy4yMTUyMDE4IDAgMCAxIDQ3LjA2OTk1Miw4Ny45NTM5MjIgTCA0Mi41NDg1NzgsNjYuNzAzNDgzIGggNDIuOTAyODA2IHoiIC8+CiAgPHBhdGgKICAgICBzdHlsZT0ic3Ryb2tlLXdpZHRoOjUuMDIzNjciCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDI1NSIKICAgICBkPSJNIDgyLjg0Mjk5OSwxMDkuMTU0MTMgQSAzLjc2NzgxMjksMy43Njc4MTM5IDAgMCAwIDc5LjA3NTE5LDEwNS4zODYzMiBIIDQ4LjkzMjY4OSBhIDMuNzY3ODI2OSwzLjc2NzgyODIgMCAxIDAgMCw3LjUzNTY0IGggMC42MDI4NSBjIDAsMCAwLDAuMzAxNzYgMCwwLjUwMjM0IGEgMTQuNTY4ODc3LDE0LjU2ODg4MSAwIDEgMCAyOS4xMzc3NTEsMCBjIDAsMCAwLC0wLjM1MTU1IDAsLTAuNTAyMzQgaCAwLjQwMTc5MiBhIDMuODE4MDUwNSwzLjgxODA1MTUgMCAwIDAgMy43Njc4MDUsLTMuNzY3ODMgeiBtIC0xMS44MDU4MDMsNC4yNzAxOSBhIDcuMDMzMjUzLDcuMDMzMjU1OCAwIDEgMSAtMTQuMDY2NTA1LDAgMS41MDcxMjUsMS41MDcxMjU0IDAgMCAwIDAsLTAuNTAyMzQgSCA3MS4yMzgxNSBhIDEuNTA3MTI1LDEuNTA3MTI1NCAwIDAgMCAtMC4yMDA5NTgsMC42MDI4NSB6IiAvPgo8L3N2Zz4K - mediatype: image/svg+xml - install: - spec: - deployments: - - name: smart-gateway-operator - spec: - replicas: 1 - selector: - matchLabels: - app: smart-gateway-operator - strategy: {} - template: - metadata: - labels: - app: smart-gateway-operator - spec: - containers: - - command: - - /usr/local/bin/ao-logs - - /tmp/ansible-operator/runner - - stdout - image: quay.io/infrawatch/smart-gateway-operator:latest - imagePullPolicy: Always - name: ansible - resources: {} - volumeMounts: - - mountPath: /tmp/ansible-operator/runner - name: runner - readOnly: true - - env: - - name: WATCH_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.annotations['olm.targetNamespaces'] - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: OPERATOR_NAME - value: smart-gateway-operator - - name: ANSIBLE_GATHERING - value: explicit - - name: SMARTGATEWAY_IMAGE - value: quay.io/infrawatch/smart-gateway:v2.0.0 - - name: CORE_SMARTGATEWAY_IMAGE - value: quay.io/infrawatch/sg-core:v3.0.0 - - name: BRIDGE_SMARTGATEWAY_IMAGE - value: quay.io/infrawatch/sg-bridge:v1.0.0 - image: quay.io/infrawatch/smart-gateway-operator:v2.0.1 - imagePullPolicy: Always - name: operator - resources: {} - volumeMounts: - - mountPath: /tmp/ansible-operator/runner - name: runner - serviceAccountName: smart-gateway-operator - volumes: - - emptyDir: {} - name: runner - permissions: - - rules: - - apiGroups: - - "" - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - - configmaps - - secrets - verbs: - - '*' - - apiGroups: - - "" - resources: - - namespaces - verbs: - - get - - apiGroups: - - apps - resources: - - deployments - - daemonsets - - replicasets - - statefulsets - verbs: - - '*' - - apiGroups: - - monitoring.coreos.com - resources: - - servicemonitors - verbs: - - get - - create - - list - - patch - - watch - - apiGroups: - - apps - resourceNames: - - smart-gateway-operator - resources: - - deployments/finalizers - verbs: - - update - - apiGroups: - - smartgateway.infra.watch - resources: - - '*' - verbs: - - '*' - serviceAccountName: smart-gateway-operator - strategy: deployment - installModes: - - supported: true - type: OwnNamespace - - supported: true - type: SingleNamespace - - supported: false - type: MultiNamespace - - supported: true - type: AllNamespaces - keywords: - - servicetelemetry - - monitoring - - telemetry - - notifications - - smartgateway - labels: - name: smart-gateway-operator - links: - - name: Source Code - url: https://github.com/infrawatch/smart-gateway-operator - maintainers: - - email: support@redhat.com - name: Red Hat CloudOps DFG - maturity: alpha - provider: - name: Red Hat - replaces: smart-gateway-operator.v2.0.0 - selector: - matchLabels: - name: smart-gateway-operator - version: 2.0.1 diff --git a/deploy/olm-catalog/smart-gateway-operator/2.0.1/smartgateway.infra.watch_smartgateways_crd.yaml b/deploy/olm-catalog/smart-gateway-operator/2.0.1/smartgateway.infra.watch_smartgateways_crd.yaml deleted file mode 100644 index 244f272..0000000 --- a/deploy/olm-catalog/smart-gateway-operator/2.0.1/smartgateway.infra.watch_smartgateways_crd.yaml +++ /dev/null @@ -1,115 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: smartgateways.smartgateway.infra.watch -spec: - group: smartgateway.infra.watch - names: - kind: SmartGateway - listKind: SmartGatewayList - plural: smartgateways - singular: smartgateway - scope: Namespaced - version: v2alpha1 - subresources: - status: {} - versions: - - name: v2alpha1 - served: true - storage: true - validation: - openAPIV3Schema: - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - spec: - description: 'SmartGatewaySpec is a specification of the desired behavior - of the Smartgateway deployment. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' - properties: - size: - description: Size sets the number of replicas to create. Defaults to 1. - type: integer - amqpUrl: - description: AMQP1.x listener example 127.0.0.1:5672/collectd/telemetry. Defaults to using - 'messaging-internal-..src:5672/collectd/telemetry'. - type: string - amqpDataSource: - description: The expected data source of the messages received from the address configured in amqpUrl. Available values include 'universal', 'collectd', and 'ceilometer'. - type: string - useBasicAuth: - description: Whether to use basic authentication or not when connecting to ElasticSearch. Default is 'false' - type: boolean - elasticUrl: - description: URL for ElasticSearch endpoing to connect when the Smart Gateway is operating as an 'events' service type. - Defaults to 'elasticsearch-es-http..svc:9200'. - type: string - elasticUser: - description: Basic Authentication username for ElasticSearch. - type: string - elasticPass: - description: Basic Authentication password for ElasticSearch. - type: string - tlsSecretName: - description: Name of the Secret object that holds the TLS certificates and key for Elasticsearch. - Defaults to 'elasticsearch-es-cert'. - resetIndex: - description: Reset the ElasticSearch index on load. Defaults to 'false'. - type: boolean - serviceType: - description: The service type for this smart gateway. One of 'metrics' or 'events'. Defaults to 'metrics'. - type: string - exporterHost: - description: Metrics URL for Prometheus to export. Defaults to "0.0.0.0". - type: string - exporterPort: - description: Metrics port for Prometheus to export. Defaults to 8081. - type: integer - cpuStats: - description: Include CPU usage info in http requests (degrades performance). Defaults to 'false'. - type: boolean - dataCount: - description: Stop after receiving this many messages in total (-1 forever). Defaults to '-1'. - type: integer - debug: - description: Enable verbose debugging statements. Defaults to 'false'. - type: boolean - prefetch: - description: Number of messages that we can prefetch from AMQP 1.x. By enabling prefetching, the smart gateway won't need to - request every message individually from the AMQP bus, resulting in a round trip for every request between sender and receiver. - To avoid the round trip for every message, the use of prefetch can be used to allow the receiver to request messages be sent - in anticipation of them being sent to us. - type: integer - containerImagePath: - description: Path to the container image this Operator will deploy. Value is defined as the standard registry/image_name:tag - format. - type: string - useTimestamp: - description: Use the source timestamp (time when data was collected) rather than let Prometheus write when the data was - scraped for that metric. - type: boolean - status: - description: Status results of an instance of Smart Gateway - properties: - conditions: - description: The resulting conditions when a Smart Gateway is instantiated - items: - properties: - status: - type: string - type: - type: string - reason: - type: string - lastTransitionTime: - type: string - type: object - type: array - type: object diff --git a/deploy/olm-catalog/smart-gateway-operator/bundle/smartgateway.infra.watch_smartgateways_crd.yaml b/deploy/olm-catalog/smart-gateway-operator/bundle/smartgateway.infra.watch_smartgateways_crd.yaml deleted file mode 100644 index 244f272..0000000 --- a/deploy/olm-catalog/smart-gateway-operator/bundle/smartgateway.infra.watch_smartgateways_crd.yaml +++ /dev/null @@ -1,115 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: smartgateways.smartgateway.infra.watch -spec: - group: smartgateway.infra.watch - names: - kind: SmartGateway - listKind: SmartGatewayList - plural: smartgateways - singular: smartgateway - scope: Namespaced - version: v2alpha1 - subresources: - status: {} - versions: - - name: v2alpha1 - served: true - storage: true - validation: - openAPIV3Schema: - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - spec: - description: 'SmartGatewaySpec is a specification of the desired behavior - of the Smartgateway deployment. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' - properties: - size: - description: Size sets the number of replicas to create. Defaults to 1. - type: integer - amqpUrl: - description: AMQP1.x listener example 127.0.0.1:5672/collectd/telemetry. Defaults to using - 'messaging-internal-..src:5672/collectd/telemetry'. - type: string - amqpDataSource: - description: The expected data source of the messages received from the address configured in amqpUrl. Available values include 'universal', 'collectd', and 'ceilometer'. - type: string - useBasicAuth: - description: Whether to use basic authentication or not when connecting to ElasticSearch. Default is 'false' - type: boolean - elasticUrl: - description: URL for ElasticSearch endpoing to connect when the Smart Gateway is operating as an 'events' service type. - Defaults to 'elasticsearch-es-http..svc:9200'. - type: string - elasticUser: - description: Basic Authentication username for ElasticSearch. - type: string - elasticPass: - description: Basic Authentication password for ElasticSearch. - type: string - tlsSecretName: - description: Name of the Secret object that holds the TLS certificates and key for Elasticsearch. - Defaults to 'elasticsearch-es-cert'. - resetIndex: - description: Reset the ElasticSearch index on load. Defaults to 'false'. - type: boolean - serviceType: - description: The service type for this smart gateway. One of 'metrics' or 'events'. Defaults to 'metrics'. - type: string - exporterHost: - description: Metrics URL for Prometheus to export. Defaults to "0.0.0.0". - type: string - exporterPort: - description: Metrics port for Prometheus to export. Defaults to 8081. - type: integer - cpuStats: - description: Include CPU usage info in http requests (degrades performance). Defaults to 'false'. - type: boolean - dataCount: - description: Stop after receiving this many messages in total (-1 forever). Defaults to '-1'. - type: integer - debug: - description: Enable verbose debugging statements. Defaults to 'false'. - type: boolean - prefetch: - description: Number of messages that we can prefetch from AMQP 1.x. By enabling prefetching, the smart gateway won't need to - request every message individually from the AMQP bus, resulting in a round trip for every request between sender and receiver. - To avoid the round trip for every message, the use of prefetch can be used to allow the receiver to request messages be sent - in anticipation of them being sent to us. - type: integer - containerImagePath: - description: Path to the container image this Operator will deploy. Value is defined as the standard registry/image_name:tag - format. - type: string - useTimestamp: - description: Use the source timestamp (time when data was collected) rather than let Prometheus write when the data was - scraped for that metric. - type: boolean - status: - description: Status results of an instance of Smart Gateway - properties: - conditions: - description: The resulting conditions when a Smart Gateway is instantiated - items: - properties: - status: - type: string - type: - type: string - reason: - type: string - lastTransitionTime: - type: string - type: object - type: array - type: object diff --git a/deploy/olm-catalog/smart-gateway-operator/bundle/smart-gateway-operator.v2.0.1.clusterserviceversion.yaml b/deploy/olm-catalog/smart-gateway-operator/manifests/smart-gateway-operator.clusterserviceversion.yaml similarity index 99% rename from deploy/olm-catalog/smart-gateway-operator/bundle/smart-gateway-operator.v2.0.1.clusterserviceversion.yaml rename to deploy/olm-catalog/smart-gateway-operator/manifests/smart-gateway-operator.clusterserviceversion.yaml index 8ef781f..548230a 100644 --- a/deploy/olm-catalog/smart-gateway-operator/bundle/smart-gateway-operator.v2.0.1.clusterserviceversion.yaml +++ b/deploy/olm-catalog/smart-gateway-operator/manifests/smart-gateway-operator.clusterserviceversion.yaml @@ -38,7 +38,8 @@ metadata: certified: "false" containerImage: quay.io/infrawatch/smart-gateway-operator:v2.0.1 createdAt: "2019-11-14T14:49:00Z" - description: Operator for managing the Smart Gateway Custom Resources, resulting in deployments of the Smart Gateway. + description: Operator for managing the Smart Gateway Custom Resources, resulting + in deployments of the Smart Gateway. repository: https://github.com/infrawatch/smart-gateway-operator support: Red Hat (CloudOps) name: smart-gateway-operator.v2.0.1 @@ -168,7 +169,7 @@ spec: - /usr/local/bin/ao-logs - /tmp/ansible-operator/runner - stdout - image: quay.io/infrawatch/smart-gateway-operator:latest + image: quay.io/infrawatch/smart-gateway-operator:v2.0.1 imagePullPolicy: Always name: ansible resources: {} @@ -287,7 +288,6 @@ spec: maturity: alpha provider: name: Red Hat - replaces: smart-gateway-operator.v2.0.0 selector: matchLabels: name: smart-gateway-operator diff --git a/deploy/olm-catalog/smart-gateway-operator/1.0.0/smartgateway.infra.watch_smartgateways_crd.yaml b/deploy/olm-catalog/smart-gateway-operator/manifests/smartgateway.infra.watch_smartgateways_crd.yaml similarity index 100% rename from deploy/olm-catalog/smart-gateway-operator/1.0.0/smartgateway.infra.watch_smartgateways_crd.yaml rename to deploy/olm-catalog/smart-gateway-operator/manifests/smartgateway.infra.watch_smartgateways_crd.yaml diff --git a/deploy/olm-catalog/smart-gateway-operator/bundle/metadata/annotations.yaml b/deploy/olm-catalog/smart-gateway-operator/metadata/annotations.yaml similarity index 100% rename from deploy/olm-catalog/smart-gateway-operator/bundle/metadata/annotations.yaml rename to deploy/olm-catalog/smart-gateway-operator/metadata/annotations.yaml diff --git a/deploy/olm-catalog/smart-gateway-operator/smart-gateway-operator.package.yaml b/deploy/olm-catalog/smart-gateway-operator/smart-gateway-operator.package.yaml deleted file mode 100644 index 68981f2..0000000 --- a/deploy/olm-catalog/smart-gateway-operator/smart-gateway-operator.package.yaml +++ /dev/null @@ -1,5 +0,0 @@ -channels: -- currentCSV: smart-gateway-operator.v2.0.1 - name: stable -defaultChannel: stable -packageName: smartgateway-operator diff --git a/deploy/operator.yaml b/deploy/operator.yaml index 97cb92b..3f71d51 100644 --- a/deploy/operator.yaml +++ b/deploy/operator.yaml @@ -12,40 +12,47 @@ spec: labels: app: smart-gateway-operator spec: - serviceAccountName: smart-gateway-operator containers: - - name: ansible - command: - - /usr/local/bin/ao-logs - - /tmp/ansible-operator/runner - - stdout - image: quay.io/infrawatch/smart-gateway-operator:latest - imagePullPolicy: Always - volumeMounts: - - mountPath: /tmp/ansible-operator/runner - name: runner - readOnly: true - - name: operator - image: quay.io/infrawatch/smart-gateway-operator:latest - imagePullPolicy: Always - volumeMounts: - - mountPath: /tmp/ansible-operator/runner - name: runner - env: - - name: WATCH_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: OPERATOR_NAME - value: "smart-gateway-operator" - - name: ANSIBLE_GATHERING - value: explicit - - name: SMARTGATEWAY_IMAGE - value: quay.io/infrawatch/smart-gateway:latest + - command: + - /usr/local/bin/ao-logs + - /tmp/ansible-operator/runner + - stdout + image: quay.io/infrawatch/smart-gateway-operator:v2.0.1 + imagePullPolicy: Always + name: ansible + resources: {} + volumeMounts: + - mountPath: /tmp/ansible-operator/runner + name: runner + readOnly: true + - env: + - name: WATCH_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.annotations['olm.targetNamespaces'] + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: OPERATOR_NAME + value: smart-gateway-operator + - name: ANSIBLE_GATHERING + value: explicit + - name: SMARTGATEWAY_IMAGE + value: quay.io/infrawatch/smart-gateway:v2.0.0 + - name: CORE_SMARTGATEWAY_IMAGE + value: quay.io/infrawatch/sg-core:v3.0.0 + - name: BRIDGE_SMARTGATEWAY_IMAGE + value: quay.io/infrawatch/sg-bridge:v1.0.0 + image: quay.io/infrawatch/smart-gateway-operator:v2.0.1 + imagePullPolicy: Always + name: operator + resources: {} + volumeMounts: + - mountPath: /tmp/ansible-operator/runner + name: runner + serviceAccountName: smart-gateway-operator volumes: - - name: runner - emptyDir: {} + - emptyDir: {} + name: runner + serviceAccountName: smart-gateway-operator