From f1556dba45a8f0d758d74d3aeadbfcea8fb83246 Mon Sep 17 00:00:00 2001
From: Paul Richardson
Date: Tue, 3 Dec 2024 17:51:03 +0000
Subject: [PATCH] operator hawtio-operator (1.2.0)
Signed-off-by: Paul Richardson
---
.../1.2.0/manifests/hawt.io_hawtios.yaml | 727 ++++++++++++++++++
...hawtio-operator.clusterserviceversion.yaml | 308 ++++++++
.../1.2.0/metadata/annotations.yaml | 18 +
.../1.2.0/tests/scorecard/config.yaml | 40 +
4 files changed, 1093 insertions(+)
create mode 100644 operators/hawtio-operator/1.2.0/manifests/hawt.io_hawtios.yaml
create mode 100644 operators/hawtio-operator/1.2.0/manifests/hawtio-operator.clusterserviceversion.yaml
create mode 100644 operators/hawtio-operator/1.2.0/metadata/annotations.yaml
create mode 100644 operators/hawtio-operator/1.2.0/tests/scorecard/config.yaml
diff --git a/operators/hawtio-operator/1.2.0/manifests/hawt.io_hawtios.yaml b/operators/hawtio-operator/1.2.0/manifests/hawt.io_hawtios.yaml
new file mode 100644
index 00000000000..707163b7e87
--- /dev/null
+++ b/operators/hawtio-operator/1.2.0/manifests/hawt.io_hawtios.yaml
@@ -0,0 +1,727 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.6.2
+ 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:
+ claims:
+ description: "Claims lists the names of resources, defined in
+ spec.resourceClaims, that are used by this container. \n This
+ is an alpha field and requires enabling the DynamicResourceAllocation
+ feature gate. \n This field is immutable. It can only be set
+ for containers."
+ items:
+ description: ResourceClaim references one entry in PodSpec.ResourceClaims.
+ properties:
+ name:
+ description: Name must match the name of one entry in pod.spec.resourceClaims
+ of the Pod where this field is used. It makes that resource
+ available inside a container.
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
+ 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. Requests cannot exceed Limits.
+ 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:
+ claims:
+ description: "Claims lists the names of resources, defined in
+ spec.resourceClaims, that are used by this container. \n This
+ is an alpha field and requires enabling the DynamicResourceAllocation
+ feature gate. \n This field is immutable. It can only be set
+ for containers."
+ items:
+ description: ResourceClaim references one entry in PodSpec.ResourceClaims.
+ properties:
+ name:
+ description: Name must match the name of one entry in pod.spec.resourceClaims
+ of the Pod where this field is used. It makes that resource
+ available inside a container.
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
+ 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. Requests cannot exceed Limits.
+ 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/operators/hawtio-operator/1.2.0/manifests/hawtio-operator.clusterserviceversion.yaml b/operators/hawtio-operator/1.2.0/manifests/hawtio-operator.clusterserviceversion.yaml
new file mode 100644
index 00000000000..cde3705442f
--- /dev/null
+++ b/operators/hawtio-operator/1.2.0/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.2.0
+ createdAt: "2024-12-02T17:22:48Z"
+ description: Hawtio eases the discovery and management of Java applications deployed
+ on OpenShift.
+ olm.skipRange: '>=1.0.0 <1.0.2'
+ 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.2.0
+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.2.0
+ 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.1
+ version: 1.2.0
diff --git a/operators/hawtio-operator/1.2.0/metadata/annotations.yaml b/operators/hawtio-operator/1.2.0/metadata/annotations.yaml
new file mode 100644
index 00000000000..ce339fc1917
--- /dev/null
+++ b/operators/hawtio-operator/1.2.0/metadata/annotations.yaml
@@ -0,0 +1,18 @@
+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/
+
+ # Openshift min compatibility
+ com.redhat.openshift.versions: v4.11
diff --git a/operators/hawtio-operator/1.2.0/tests/scorecard/config.yaml b/operators/hawtio-operator/1.2.0/tests/scorecard/config.yaml
new file mode 100644
index 00000000000..e9b7568adf1
--- /dev/null
+++ b/operators/hawtio-operator/1.2.0/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: {}