From 27ae6a680d9741ba70aad5156afd32b52027af79 Mon Sep 17 00:00:00 2001 From: phantomjinx Date: Wed, 31 Jul 2024 17:25:54 +0100 Subject: [PATCH] Release: 1.1.1 --- Makefile | 5 +- ...hawtio-operator.clusterserviceversion.yaml | 2 +- ...hawtio-operator.clusterserviceversion.yaml | 4 +- .../1.1.1/manifests/hawt.io_hawtios.yaml | 683 ++++++++++++++++++ ...hawtio-operator.clusterserviceversion.yaml | 308 ++++++++ .../1.1.1/metadata/annotations.yaml | 15 + .../1.1.1/tests/scorecard/config.yaml | 40 + 7 files changed, 1052 insertions(+), 5 deletions(-) create mode 100644 deploy/olm-catalog/hawtio-operator/1.1.1/manifests/hawt.io_hawtios.yaml create mode 100644 deploy/olm-catalog/hawtio-operator/1.1.1/manifests/hawtio-operator.clusterserviceversion.yaml create mode 100644 deploy/olm-catalog/hawtio-operator/1.1.1/metadata/annotations.yaml create mode 100644 deploy/olm-catalog/hawtio-operator/1.1.1/tests/scorecard/config.yaml diff --git a/Makefile b/Makefile index 8e374e09f..4b4d66db1 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ PROJECT = operator DEFAULT_IMAGE := quay.io/${ORG}/${PROJECT} IMAGE ?= $(DEFAULT_IMAGE) VERSION ?= 1.1.1 -HAWTIO_ONLINE_VERSION ?= 2.1.0 +HAWTIO_ONLINE_VERSION ?= 2.1.1 HAWTIO_ONLINE_IMAGE_NAME ?= quay.io/${ORG}/online DEBUG ?= false LAST_RELEASED_IMAGE_NAME := hawtio-operator @@ -208,7 +208,8 @@ CSV_PATH := $(MANIFESTS)/bases/$(CSV_FILENAME) # Not required for first version to be deployed to Operator Hub CSV_REPLACES := $(LAST_RELEASED_IMAGE_NAME).v$(LAST_RELEASED_VERSION) # Hides the 1.0.0 & 1.0.1 releases with the CRD that removes the 'version' property -CSV_SKIP_RANGE := >=1.0.0 <1.0.2 +# Hides the 1.1.0 which is installing the problematic 2.1.0 +CSV_SKIP_RANGE := >=1.0.0 <1.1.0 IMAGE_NAME ?= $(DEFAULT_IMAGE) # Test Bundle Index diff --git a/bundle/bases/hawtio-operator.clusterserviceversion.yaml b/bundle/bases/hawtio-operator.clusterserviceversion.yaml index a756fc2e1..211b62da1 100644 --- a/bundle/bases/hawtio-operator.clusterserviceversion.yaml +++ b/bundle/bases/hawtio-operator.clusterserviceversion.yaml @@ -2,7 +2,7 @@ apiVersion: operators.coreos.com/v1alpha1 kind: ClusterServiceVersion metadata: annotations: - olm.skipRange: '>=1.0.0 <1.0.2' + olm.skipRange: '>=1.0.0 <1.1.0' capabilities: Seamless Upgrades categories: Integration & Delivery certified: "false" diff --git a/bundle/manifests/hawtio-operator.clusterserviceversion.yaml b/bundle/manifests/hawtio-operator.clusterserviceversion.yaml index 350407e77..479fa2686 100644 --- a/bundle/manifests/hawtio-operator.clusterserviceversion.yaml +++ b/bundle/manifests/hawtio-operator.clusterserviceversion.yaml @@ -61,10 +61,10 @@ metadata: categories: Integration & Delivery certified: "false" containerImage: quay.io/hawtio/operator:1.1.1 - createdAt: "2024-06-19T14:35:16Z" + createdAt: "2024-07-31T07:47:47Z" description: Hawtio eases the discovery and management of Java applications deployed on OpenShift. - olm.skipRange: '>=1.0.0 <1.0.2' + olm.skipRange: '>=1.0.0 <1.1.0' operators.operatorframework.io/builder: operator-sdk-v1.28.0 operators.operatorframework.io/project_layout: go.kubebuilder.io/v2 repository: https://github.com/hawtio/hawtio-operator diff --git a/deploy/olm-catalog/hawtio-operator/1.1.1/manifests/hawt.io_hawtios.yaml b/deploy/olm-catalog/hawtio-operator/1.1.1/manifests/hawt.io_hawtios.yaml new file mode 100644 index 000000000..b2be4d4da --- /dev/null +++ b/deploy/olm-catalog/hawtio-operator/1.1.1/manifests/hawt.io_hawtios.yaml @@ -0,0 +1,683 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.1 + creationTimestamp: null + name: hawtios.hawt.io +spec: + group: hawt.io + names: + categories: + - hawtio + kind: Hawtio + listKind: HawtioList + plural: hawtios + shortNames: + - hwt + - hio + - hawt + singular: hawtio + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Creation phase + jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: Console image + jsonPath: .status.image + name: Image + type: string + - description: Console phase + jsonPath: .status.phase + name: Phase + type: string + - description: Console URL + jsonPath: .status.URL + name: URL + type: string + name: v1 + schema: + openAPIV3Schema: + description: Hawtio is the Schema for the Hawtio Console API. + 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://git.k8s.io/community/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://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Defines the desired state of Hawtio + properties: + auth: + description: The authentication configuration + properties: + clientCertCheckSchedule: + description: CronJob schedule that defines how often the expiry + of the certificate will be checked. Client rotation isn't enabled + if the schedule isn't set. + type: string + clientCertCommonName: + description: The generated client certificate CN + type: string + clientCertExpirationDate: + description: The generated client certificate expiration date + format: date-time + type: string + clientCertExpirationPeriod: + description: The duration in hours before the expiration date, + during which the certification can be rotated. The default is + set to 24 hours. + type: integer + type: object + config: + description: The Hawtio console configuration + properties: + about: + description: The information to be displayed in the About page + properties: + additionalInfo: + description: The text for the description section + type: string + copyright: + description: The text for the copyright section + type: string + imgSrc: + description: The image displayed in the page. It can be a + path, relative to the Hawtio status URL, or an absolute + URL. + type: string + productInfo: + description: List of product information + items: + description: The product information displayed in the About + page + properties: + name: + description: The name of the product information + type: string + value: + description: The value of the product information + type: string + required: + - name + - value + type: object + type: array + title: + description: The title of the page + type: string + type: object + branding: + description: The UI branding + properties: + appLogoUrl: + description: The URL of the logo, that displays in the navigation + bar. It can be a path, relative to the Hawtio status URL, + or an absolute URL. + type: string + appName: + description: The application title, that usually displays + in the Web browser tab. + type: string + css: + description: The URL of an external CSS stylesheet, that can + be used to style the application. It can be a path, relative + to the Hawtio status URL, or an absolute URL. + type: string + favicon: + description: The URL of the favicon, that usually displays + in the Web browser tab. It can be a path, relative to the + Hawtio status URL, or an absolute URL. + type: string + type: object + disabledRoutes: + description: Disables UI components with matching routes + items: + type: string + type: array + online: + description: The OpenShift related configuration + properties: + consoleLink: + description: The configuration for the OpenShift Web console + link. A link is added to the application menu when the Hawtio + deployment is equal to 'cluster'. Otherwise, a link is added + to the Hawtio project dashboard. + properties: + imageRelativePath: + description: The path, relative to the Hawtio status URL, + for the icon used in front of the link in the application + menu. It is only applicable when the Hawtio deployment + type is equal to 'cluster'. The image should be square + and will be shown at 24x24 pixels. + type: string + section: + description: The section of the application menu in which + the link should appear. It is only applicable when the + Hawtio deployment type is equal to 'cluster'. + type: string + text: + description: The text display for the link + type: string + type: object + projectSelector: + description: The selector used to watch for projects. It is + only applicable when the Hawtio deployment type is equal + to 'cluster'. By default, all the projects the logged in + user has access to are watched. The string representation + of the selector must be provided, as mandated by the `--selector`, + or `-l`, options from the `kubectl get` command. See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + type: string + type: object + type: object + externalRoutes: + description: List of external route names that will be annotated by + the operator to access the console using the routes + items: + type: string + type: array + metadataPropagation: + description: The configuration for which metadata on Hawtio custom + resources to propagate to generated resources such as deployments, + pods, services, and routes. + properties: + annotations: + description: Annotations to propagate + items: + type: string + type: array + labels: + description: Labels to propagate + items: + type: string + type: array + type: object + nginx: + description: The Nginx runtime configuration + properties: + clientBodyBufferSize: + description: The buffer size for reading client request body. + Defaults to `256k`. + type: string + proxyBuffers: + description: The number and size of the buffers used for reading + a response from the proxied server, for a single connection. + Defaults to `16 128k`. + type: string + subrequestOutputBufferSize: + description: The size of the buffer used for storing the response + body of a subrequest. Defaults to `10m`. + type: string + type: object + rbac: + description: The RBAC configuration + properties: + configMap: + description: The name of the ConfigMap that contains the ACL definition. + type: string + disableRBACRegistry: + description: Disable performance improvement brought by RBACRegistry + and revert to the classic behavior. Defaults to `false`. + type: boolean + type: object + replicas: + description: Number of desired pods. This is a pointer to distinguish + between explicit zero and not specified. Defaults to 1. + format: int32 + type: integer + resources: + description: The Hawtio console compute resources + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute resources + allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + route: + description: Custom certificate configuration for the route + properties: + caCert: + description: Ca certificate secret key selector + properties: + key: + description: The key of the secret to select from. Must be + a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + optional: + description: Specify whether the Secret or its key must be + defined + type: boolean + required: + - key + type: object + certSecret: + description: Name of the TLS secret with the custom certificate + used for the route TLS termination + properties: + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + type: object + type: object + routeHostName: + description: 'The edge host name of the route that exposes the Hawtio + service externally. If not specified, it is automatically generated + and is of the form: [-]. where + is the default routing sub-domain as configured for the cluster. + Note that the operator will recreate the route if the field is emptied, + so that the host is re-generated.' + type: string + type: + description: 'The deployment type. Defaults to cluster. cluster: Hawtio + is capable of discovering and managing applications across all namespaces + the authenticated user has access to. namespace: Hawtio is capable + of discovering and managing applications within the deployment namespace.' + enum: + - Cluster + - Namespace + type: string + version: + description: 'The Hawtio console container image version. Deprecated: + Remains for legacy purposes in respect of older operators (<1.0.0) + still requiring it for their installs' + type: string + type: object + status: + description: Reports the observed state of Hawtio + properties: + URL: + description: The Hawtio console route URL + type: string + image: + description: The Hawtio console container image + type: string + phase: + description: The Hawtio deployment phase + enum: + - Initialized + - Deployed + - Failed + type: string + replicas: + description: The actual number of pods + format: int32 + type: integer + selector: + description: The label selector for the Hawtio pods + type: string + type: object + type: object + served: true + storage: true + subresources: + scale: + labelSelectorPath: .status.selector + specReplicasPath: .spec.replicas + statusReplicasPath: .status.replicas + status: {} + - additionalPrinterColumns: + - description: Creation phase + jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: Console image + jsonPath: .status.image + name: Image + type: string + - description: Console phase + jsonPath: .status.phase + name: Phase + type: string + - description: Console URL + jsonPath: .status.URL + name: URL + type: string + deprecated: true + deprecationWarning: v1alpha1.Hawtio is deprecated, please, use v1.Hawtio instead + name: v1alpha1 + schema: + openAPIV3Schema: + description: Hawtio is the Schema for the Hawtio Console API. + 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://git.k8s.io/community/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://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Defines the desired state of Hawtio + properties: + auth: + description: The authentication configuration + properties: + clientCertCheckSchedule: + description: CronJob schedule that defines how often the expiry + of the certificate will be checked. Client rotation isn't enabled + if the schedule isn't set. + type: string + clientCertCommonName: + description: The generated client certificate CN + type: string + clientCertExpirationDate: + description: The generated client certificate expiration date + format: date-time + type: string + clientCertExpirationPeriod: + description: The duration in hours before the expiration date, + during which the certification can be rotated. The default is + set to 24 hours. + type: integer + type: object + config: + description: The Hawtio console configuration + properties: + about: + description: The information to be displayed in the About page + properties: + additionalInfo: + description: The text for the description section + type: string + copyright: + description: The text for the copyright section + type: string + imgSrc: + description: The image displayed in the page. It can be a + path, relative to the Hawtio status URL, or an absolute + URL. + type: string + productInfo: + description: List of product information + items: + description: The product information displayed in the About + page + properties: + name: + description: The name of the product information + type: string + value: + description: The value of the product information + type: string + required: + - name + - value + type: object + type: array + title: + description: The title of the page + type: string + type: object + branding: + description: The UI branding + properties: + appLogoUrl: + description: The URL of the logo, that displays in the navigation + bar. It can be a path, relative to the Hawtio status URL, + or an absolute URL. + type: string + appName: + description: The application title, that usually displays + in the Web browser tab. + type: string + css: + description: The URL of an external CSS stylesheet, that can + be used to style the application. It can be a path, relative + to the Hawtio status URL, or an absolute URL. + type: string + favicon: + description: The URL of the favicon, that usually displays + in the Web browser tab. It can be a path, relative to the + Hawtio status URL, or an absolute URL. + type: string + type: object + disabledRoutes: + description: Disables UI components with matching routes + items: + type: string + type: array + online: + description: The OpenShift related configuration + properties: + consoleLink: + description: The configuration for the OpenShift Web console + link. A link is added to the application menu when the Hawtio + deployment is equal to 'cluster'. Otherwise, a link is added + to the Hawtio project dashboard. + properties: + imageRelativePath: + description: The path, relative to the Hawtio status URL, + for the icon used in front of the link in the application + menu. It is only applicable when the Hawtio deployment + type is equal to 'cluster'. The image should be square + and will be shown at 24x24 pixels. + type: string + section: + description: The section of the application menu in which + the link should appear. It is only applicable when the + Hawtio deployment type is equal to 'cluster'. + type: string + text: + description: The text display for the link + type: string + type: object + projectSelector: + description: The selector used to watch for projects. It is + only applicable when the Hawtio deployment type is equal + to 'cluster'. By default, all the projects the logged in + user has access to are watched. The string representation + of the selector must be provided, as mandated by the `--selector`, + or `-l`, options from the `kubectl get` command. See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + type: string + type: object + type: object + externalRoutes: + description: List of external route names that will be annotated by + the operator to access the console using the routes + items: + type: string + type: array + metadataPropagation: + description: The configuration for which metadata on Hawtio custom + resources to propagate to generated resources such as deployments, + pods, services, and routes. + properties: + annotations: + description: Annotations to propagate + items: + type: string + type: array + labels: + description: Labels to propagate + items: + type: string + type: array + type: object + nginx: + description: The Nginx runtime configuration + properties: + clientBodyBufferSize: + description: The buffer size for reading client request body. + Defaults to `256k`. + type: string + proxyBuffers: + description: The number and size of the buffers used for reading + a response from the proxied server, for a single connection. + Defaults to `16 128k`. + type: string + subrequestOutputBufferSize: + description: The size of the buffer used for storing the response + body of a subrequest. Defaults to `10m`. + type: string + type: object + rbac: + description: The RBAC configuration + properties: + configMap: + description: The name of the ConfigMap that contains the ACL definition. + type: string + disableRBACRegistry: + description: Disable performance improvement brought by RBACRegistry + and revert to the classic behavior. Defaults to `false`. + type: boolean + type: object + replicas: + description: Number of desired pods. This is a pointer to distinguish + between explicit zero and not specified. Defaults to 1. + format: int32 + type: integer + resources: + description: The Hawtio console compute resources + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute resources + allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + route: + description: Custom certificate configuration for the route + properties: + caCert: + description: Ca certificate secret key selector + properties: + key: + description: The key of the secret to select from. Must be + a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + optional: + description: Specify whether the Secret or its key must be + defined + type: boolean + required: + - key + type: object + certSecret: + description: Name of the TLS secret with the custom certificate + used for the route TLS termination + properties: + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + type: object + type: object + routeHostName: + description: 'The edge host name of the route that exposes the Hawtio + service externally. If not specified, it is automatically generated + and is of the form: [-]. where + is the default routing sub-domain as configured for the cluster. + Note that the operator will recreate the route if the field is emptied, + so that the host is re-generated.' + type: string + type: + description: 'The deployment type. Defaults to cluster. cluster: Hawtio + is capable of discovering and managing applications across all namespaces + the authenticated user has access to. namespace: Hawtio is capable + of discovering and managing applications within the deployment namespace.' + enum: + - Cluster + - Namespace + type: string + version: + description: The Hawtio console container image version. Defaults + to 'latest'. + type: string + type: object + status: + description: Reports the observed state of Hawtio + properties: + URL: + description: The Hawtio console route URL + type: string + image: + description: The Hawtio console container image + type: string + phase: + description: The Hawtio deployment phase + enum: + - Initialized + - Deployed + - Failed + type: string + replicas: + description: The actual number of pods + format: int32 + type: integer + selector: + description: The label selector for the Hawtio pods + type: string + type: object + type: object + served: true + storage: false + subresources: + scale: + labelSelectorPath: .status.selector + specReplicasPath: .spec.replicas + statusReplicasPath: .status.replicas + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/deploy/olm-catalog/hawtio-operator/1.1.1/manifests/hawtio-operator.clusterserviceversion.yaml b/deploy/olm-catalog/hawtio-operator/1.1.1/manifests/hawtio-operator.clusterserviceversion.yaml new file mode 100644 index 000000000..479fa2686 --- /dev/null +++ b/deploy/olm-catalog/hawtio-operator/1.1.1/manifests/hawtio-operator.clusterserviceversion.yaml @@ -0,0 +1,308 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + alm-examples: |- + [ + { + "apiVersion": "hawt.io/v1", + "kind": "Hawtio", + "metadata": { + "name": "hawtio-online" + }, + "spec": { + "auth": { + "clientCertCheckSchedule": "* */12 * * *", + "clientCertExpirationPeriod": 24 + }, + "replicas": 1, + "resources": { + "limits": { + "cpu": "1", + "memory": "200Mi" + }, + "requests": { + "cpu": "200m", + "memory": "32Mi" + } + }, + "type": "Cluster", + "version": "1.12" + } + }, + { + "apiVersion": "hawt.io/v1alpha1", + "kind": "Hawtio", + "metadata": { + "name": "hawtio-online" + }, + "spec": { + "auth": { + "clientCertCheckSchedule": "* */12 * * *", + "clientCertExpirationPeriod": 24 + }, + "replicas": 1, + "resources": { + "limits": { + "cpu": "1", + "memory": "200Mi" + }, + "requests": { + "cpu": "200m", + "memory": "32Mi" + } + }, + "type": "Cluster", + "version": "1.12" + } + } + ] + capabilities: Seamless Upgrades + categories: Integration & Delivery + certified: "false" + containerImage: quay.io/hawtio/operator:1.1.1 + createdAt: "2024-07-31T07:47:47Z" + description: Hawtio eases the discovery and management of Java applications deployed + on OpenShift. + olm.skipRange: '>=1.0.0 <1.1.0' + operators.operatorframework.io/builder: operator-sdk-v1.28.0 + operators.operatorframework.io/project_layout: go.kubebuilder.io/v2 + repository: https://github.com/hawtio/hawtio-operator + support: Red Hat + labels: + operatorframework.io/arch.amd64: supported + operatorframework.io/arch.ppc64le: supported + operatorframework.io/arch.s390x: supported + operatorframework.io/os.linux: supported + operatorframework.io/os.zos: supported + name: hawtio-operator.v1.1.1 +spec: + apiservicedefinitions: {} + customresourcedefinitions: + owned: + - description: An Hawtio console that eases the discovery and management of hawtio-enabled + applications + displayName: Hawtio + kind: Hawtio + name: hawtios.hawt.io + version: v1 + - kind: Hawtio + name: hawtios.hawt.io + version: v1alpha1 + description: | + Hawtio + ============== + + The Hawtio console eases the discovery and management of Java applications deployed on OpenShift. + + To secure the communication between the Hawtio console and the Jolokia agents, a client certificate is automatically generated. + + Note that the client certificate CN (defaults to `hawtio-online.hawtio.svc`) must be trusted by the Jolokia agents, for which client certification authentication is enabled. See the `clientPrincipal` parameter from the [Jolokia agent configuration options](https://jolokia.org/reference/html/manual/agents.html#jvm-agent). + displayName: Hawtio Operator + icon: + - base64data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE2LjAuNCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgogICAgIHdpZHRoPSI2MDBweCIgaGVpZ2h0PSIxOTkuNDlweCIgdmlld0JveD0iMCAwIDYwMCAxOTkuNDkiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYwMCAxOTkuNDkiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8Zz4KCTxnPgoJCTxwYXRoIGZpbGw9IiNDMEMwQzAiIGQ9Ik0xODMuMzA0LDc1LjUwMWMtMTIuOTQ5LDAtMjAsNS4zOTgtMjcuMDE5LDEwLjQ2OVYzNi42NjloLTIyLjI5OXY5NS40N2wyMi4zODMsMjIuMzh2LTUzLjY4MwoJCQljNi41OTMtNS4wMzQsMTEuNTExLTcuMzYxLDIwLjUxNy03LjM2MWM1LjY3MywwLDkuMzc1LDMuMDQ1LDkuMzc1LDExLjQ4NXY1Ni44NjJoMjIuMzgydi01Ni41MQoJCQlDMjA4LjY0Myw4OS4xMzUsMjAzLjA2LDc1LjUwMSwxODMuMzA0LDc1LjUwMXoiLz4KICAgICAgICA8cGF0aCBmaWxsPSIjQzBDMEMwIiBkPSJNMjE1LjQyMiwxMzIuMTkyYzAtMTIuMzUsNi42NzYtMjMuMjc5LDI0Ljg3My0yMy4yNzljMCwwLDI0LjkyOSwwLjE1NiwyNC45MjksMGMwLDAsMC4xNjUtNS4yODIsMC01LjQ0MQoJCQljMC05LjA0OC00LjIyOS0xMC40NjktMTEuMzQ3LTEwLjQ2OWMtNy4zNzgsMC0yOC42NjgsMS4zMjQtMzUuNjQ4LDEuODI3VjgxLjAxN2MxMS4xNzktNC4zNDIsMjIuODUyLTUuNjA2LDM4LjY4LTUuNjc5CgkJCWMxOC4yOC0wLjA3NSwzMC43MDIsNi4yNDEsMzAuNzAyLDI3LjI1NXY1OS4yM2gtMTcuNjcybC00LjcxNC05LjM1Yy0wLjkzMSwxLjg0LTEyLjg0MywxMC41NzItMjUuODExLDEwLjMwOAoJCQljLTE2LjMzNC0wLjQzNy0yMy45OTEtMTEuNTYtMjMuOTkxLTIyLjU5OVYxMzIuMTkyeiBNMjQ1Ljc0MiwxNDQuNzk1YzkuMzYyLDAsMTkuNDgyLTYuNTY4LDE5LjQ4Mi02LjU2OFYxMjIuNjdsLTIwLjUzMiwxLjU4MgoJCQljLTUuOTEsMC41NTMtNi44ODQsNC45MjMtNi44ODQsOC42MzV2NC4xMjVDMjM3LjgwOCwxNDQuMDcsMjQxLjYyNSwxNDQuNzk1LDI0NS43NDIsMTQ0Ljc5NXoiLz4KICAgICAgICA8cGF0aCBmaWxsPSIjQzBDMEMwIiBkPSJNMzExLjk0Miw3Ni45MzdsMTcuMDA4LDU4LjY2N2wxNS4yMDctNTguNjY3aDIyLjI4bC01LjkwNywyMi44NjdsMTQuMDYyLDM1LjhsMTYuNzQ2LTU4LjY2N2gyNC4wMjkKCQkJbC0yNy40MzMsODQuODg2aC0yNS4wMjVsLTEyLjcwMy0zMC43NTJsLTkuNjAyLDMwLjc1MkgzMTUuMTVsLTI3LjE0OS04NC44ODZIMzExLjk0MnoiLz4KICAgICAgICA8cGF0aCBmaWxsPSIjQzBDMEMwIiBkPSJNNDIwLjA2Miw4MS40MTJsMTMuNzA5LTQuNjM0bDMuNzU4LTIzLjY2MmgxOC42MjV2MjMuNjYyaDE4Ljk3N3YxNy4xMDRoLTE4Ljk3N3YzNC4wNDkKCQkJYzAsMTIuNTAzLDIuODgyLDE1LjE3Myw3LjI2NywxNi44MDFjMCwwLDkuNTkyLDMuMzU3LDEwLjcwMywzLjM1N3YxMy43NDloLTE5LjUxM2MtMTIuNTY3LDAtMjAuODQtNy44NDktMjAuODQtMzAuMzg5VjkzLjg4MgoJCQloLTEzLjcwOVY4MS40MTJ6Ii8+CiAgICAgICAgPHBhdGggZmlsbD0iI0MwQzBDMCIgZD0iTTQ4NC42MjMsNTAuMTYyYzAtMi4zOTgsMS4yNzctNCwzLjgzOS00aDE2Ljc4NmMyLjM5NSwwLDMuNTg0LDEuNzY1LDMuNTg0LDR2MTQuMTcxCgkJCWMwLDIuMzk0LTEuMzQ5LDMuNjc4LTMuNTg0LDMuNjc4aC0xNi43ODZjLTIuMjM5LDAtMy44MzktMS40MzYtMy44MzktMy42NzhWNTAuMTYyeiBNNDg1LjQzMSw3Ni45MzdoMjIuMzc2djg0Ljg4NmgtMjIuMzc2CgkJCVY3Ni45Mzd6Ii8+CiAgICAgICAgPHBhdGggZmlsbD0iI0MwQzBDMCIgZD0iTTU1OS42MzcsNzYuMTQyYzI5LjIzMywwLDM4LjcyOSwxMC43MDgsMzguNzI5LDQ0LjQzNWMwLDMxLjQ5Ni05LjA1NSw0Mi4wNDQtMzguNzI5LDQyLjA0NAoJCQljLTI5LjMxMywwLTM4LjcyNi0xMS42Ny0zOC43MjYtNDIuMDQ0QzUyMC45MTEsODUuODkzLDUzMC45NDgsNzYuMTQyLDU1OS42MzcsNzYuMTQyeiBNNTU5LjYzNywxNDQuNjM5CgkJCWMxMi42MTEsMCwxNi4zNS0xLjcxMSwxNi4zNS0yNC4wNjJjMC0yMy43NzItMy4wMS0yNi40NTMtMTYuMzUtMjYuNDUzYy0xMy4yNDMsMC0xNi4zNDIsMi42OTMtMTYuMzQyLDI2LjQ1MwoJCQlDNTQzLjI5NSwxNDIuNTQ0LDU0Ny43NDQsMTQ0LjYzOSw1NTkuNjM3LDE0NC42Mzl6Ii8+Cgk8L2c+CiAgICA8cGF0aCBmaWxsPSIjQzBDMEMwIiBkPSJNMjAuNTc1LDEzMi41MTRjMTEuNzM2LDExLjc0MSwyNy4zNSwxOC4yMTQsNDMuOTUzLDE4LjIxNGMxMS40MDksMCwyMi42MjUtMy4xODcsMzIuNDQxLTkuMjExbDIuMDc3LTEuMjcKCQlsMjEuOTIsMjEuOTI5aDM0LjMzOGwtMzkuMDk5LTM5LjFsMS4yNzQtMi4wNjdjMTUuMDkxLTI0LjU5MywxMS4zOS01Ni4wMDctOC45OTctNzYuMzkzCgkJQzk2Ljc0MiwzMi44NzYsODEuMTI5LDI2LjQwOSw2NC41MjgsMjYuNDA5Yy0xNi42MDQsMC0zMi4yMDYsNi40NjgtNDMuOTQ3LDE4LjIwN0M4LjgzOCw1Ni4zNTgsMi4zNjUsNzEuOTcsMi4zNjUsODguNTY5CgkJQzIuMzY1LDEwNS4xNjcsOC44MzIsMTIwLjc3NSwyMC41NzUsMTMyLjUxNHogTTM3Ljc0NSw2MS43ODVjNy4xNDgtNy4xNTYsMTYuNjYzLTExLjA5NSwyNi43ODMtMTEuMDk1CgkJYzEwLjExNywwLDE5LjYyOSwzLjkzOSwyNi43OCwxMS4wOTVjNy4xNTUsNy4xNTgsMTEuMDk1LDE2LjY2OCwxMS4wOTUsMjYuNzg1YzAsMTAuMTIxLTMuOTQsMTkuNjMtMTEuMDk4LDI2Ljc4MwoJCWMtNy4xNDYsNy4xNTMtMTYuNjYsMTEuMDkyLTI2Ljc3NywxMS4wOTJjLTEwLjEyLDAtMTkuNjM0LTMuOTM4LTI2Ljc4Ni0xMS4wOTJjLTcuMTU0LTcuMTYxLTExLjA5NS0xNi42NjctMTEuMDk1LTI2Ljc4MwoJCUMyNi42NDcsNzguNDUzLDMwLjU4OCw2OC45NDIsMzcuNzQ1LDYxLjc4NXoiLz4KICAgIDxnPgoJCTxwYXRoIGZpbGw9IiNFQzc5MjkiIGQ9Ik04MC4xOTcsOTIuOTI2djAuMDkzYzAuNDY5LDAuODU0LDAuNzMzLDEuODI0LDAuNzQ2LDIuODYyYzAsMy4yNjktMi42NTUsNS45MjItNS45MjUsNS45MjIKCQkJYy0zLjI3LDAtNS45MTgtMi42NTMtNS45MTgtNS45MjJjMC0xLjQ0MiwwLjUxNS0yLjc2NywxLjM3OC0zLjc5NmMwLDAsMTQuNDY0LTIwLjEzNy01Ljc4NS0zMy40OThjMCwwLDUuODc1LDE1Ljg2LTguMTI5LDIyLjUyNwoJCQljMCwwLTMuODY2LDIuNzI5LDAuNC02LjMzNWMwLDAtMTEuODksNi42ODMtMTEuODksMjIuODE0YzAsNy4yOTEsMy43NzYsMTMuNjkxLDkuNDc0LDE3LjM3NgoJCQljLTAuMTc3LTAuNjU4LTAuMjg5LTEuNDExLTAuMjg5LTIuMjk5YzAuMDA2LTYuNDY5LDUuODA0LTE0LjAzMSw3LjU4Ni0xNC4wMTljMCwwLDAuNDUsNy42NjQsMi41MDYsMTEuMjc3CgkJCWMxLjYyLDMuMDU4LDAuNjM2LDYuNDQ0LTEuNTEzLDguMTM4YzAuOTYyLDAuMTM5LDEuOTQ0LDAuMjM0LDIuOTQ3LDAuMjM0YzUuNDY4LDAsMTAuNDQ2LTIuMTIyLDE0LjE0Ny01LjU5MQoJCQljMCwwLTAuMDA2LTAuMDE4LTAuMDA2LTAuMDIzQzg2LjgzMywxMDMuNjA1LDgyLjgyOCw5Ni4yMjQsODAuMTk3LDkyLjkyNnoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4= + mediatype: image/svg+xml + install: + spec: + clusterPermissions: + - rules: + - apiGroups: + - oauth.openshift.io + resources: + - oauthclients + verbs: + - '*' + - apiGroups: + - config.openshift.io + resources: + - clusterversions + verbs: + - get + - apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + verbs: + - get + - list + - watch + - apiGroups: + - console.openshift.io + resources: + - consolelinks + - consoleyamlsamples + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resourceNames: + - signing-key + resources: + - secrets + verbs: + - get + serviceAccountName: hawtio-operator + deployments: + - name: hawtio-operator + spec: + replicas: 1 + selector: + matchLabels: + name: hawtio-operator + strategy: {} + template: + metadata: + labels: + name: hawtio-operator + spec: + containers: + - command: + - hawtio-operator + env: + - name: WATCH_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.annotations['olm.targetNamespaces'] + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: OPERATOR_NAME + value: hawtio-operator + image: quay.io/hawtio/operator:1.1.1 + imagePullPolicy: Always + name: hawtio-operator + ports: + - containerPort: 8080 + name: metrics + resources: + limits: + cpu: 500m + memory: 256Mi + requests: + cpu: 250m + memory: 100Mi + serviceAccountName: hawtio-operator + permissions: + - rules: + - apiGroups: + - "" + resources: + - pods + verbs: + - get + - list + - watch + - apiGroups: + - "" + resources: + - secrets + verbs: + - get + - watch + - create + - delete + - list + - apiGroups: + - "" + resources: + - configmaps + - serviceaccounts + - services + verbs: + - create + - delete + - deletecollection + - get + - list + - patch + - update + - watch + - apiGroups: + - apps + resources: + - deployments + verbs: + - create + - delete + - deletecollection + - get + - list + - patch + - update + - watch + - apiGroups: + - route.openshift.io + resources: + - routes + verbs: + - '*' + - apiGroups: + - route.openshift.io + resources: + - routes/custom-host + verbs: + - create + - apiGroups: + - networking.k8s.io + resources: + - ingresses + verbs: + - '*' + - apiGroups: + - template.openshift.io + resources: + - processedtemplates + verbs: + - '*' + - apiGroups: + - hawt.io + resources: + - '*' + verbs: + - '*' + - apiGroups: + - batch + resources: + - cronjobs + verbs: + - get + - watch + - list + - update + - create + - delete + serviceAccountName: hawtio-operator + strategy: deployment + installModes: + - supported: true + type: OwnNamespace + - supported: true + type: SingleNamespace + - supported: false + type: MultiNamespace + - supported: false + type: AllNamespaces + keywords: + - Hawtio + - Java + - Management + - Console + links: + - name: Hawtio Web site + url: https://hawt.io + maintainers: + - email: hawtio@googlegroups.com + name: The Hawtio team + maturity: alpha + minKubeVersion: 1.11.0 + provider: + name: Red Hat + replaces: hawtio-operator.v1.1.0 + version: 1.1.1 diff --git a/deploy/olm-catalog/hawtio-operator/1.1.1/metadata/annotations.yaml b/deploy/olm-catalog/hawtio-operator/1.1.1/metadata/annotations.yaml new file mode 100644 index 000000000..64f8704c7 --- /dev/null +++ b/deploy/olm-catalog/hawtio-operator/1.1.1/metadata/annotations.yaml @@ -0,0 +1,15 @@ +annotations: + # Core bundle annotations. + operators.operatorframework.io.bundle.mediatype.v1: registry+v1 + operators.operatorframework.io.bundle.manifests.v1: manifests/ + operators.operatorframework.io.bundle.metadata.v1: metadata/ + operators.operatorframework.io.bundle.package.v1: hawtio-operator + operators.operatorframework.io.bundle.channels.v1: stable-v1,latest + operators.operatorframework.io.bundle.channel.default.v1: stable-v1 + operators.operatorframework.io.metrics.builder: operator-sdk-v1.28.0 + operators.operatorframework.io.metrics.mediatype.v1: metrics+v1 + operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v2 + + # Annotations for testing. + operators.operatorframework.io.test.mediatype.v1: scorecard+v1 + operators.operatorframework.io.test.config.v1: tests/scorecard/ diff --git a/deploy/olm-catalog/hawtio-operator/1.1.1/tests/scorecard/config.yaml b/deploy/olm-catalog/hawtio-operator/1.1.1/tests/scorecard/config.yaml new file mode 100644 index 000000000..e9b7568ad --- /dev/null +++ b/deploy/olm-catalog/hawtio-operator/1.1.1/tests/scorecard/config.yaml @@ -0,0 +1,40 @@ +apiVersion: scorecard.operatorframework.io/v1alpha3 +kind: Configuration +metadata: + name: config +stages: +- parallel: true + tests: + - entrypoint: + - scorecard-test + - basic-check-spec + image: quay.io/operator-framework/scorecard-test:master + labels: + suite: basic + test: basic-check-spec-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-bundle-validation + image: quay.io/operator-framework/scorecard-test:master + labels: + suite: olm + test: olm-bundle-validation-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-crds-have-validation + image: quay.io/operator-framework/scorecard-test:master + labels: + suite: olm + test: olm-crds-have-validation-test + storage: + spec: + mountPath: {} +storage: + spec: + mountPath: {}