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