apiVersion: operators.coreos.com/v1alpha1
kind: ClusterServiceVersion
metadata:
  name: amq-broker-operator.v0.18.0
  namespace: placeholder
  annotations:
    categories: "Streaming & Messaging"
    certified: "false"
    description: AMQ Broker Operator provides the ability to deploy and manage stateful AMQ Broker clusters
    containerImage: registry.redhat.io/amq7/amq-broker-rhel7-operator@sha256:0eda68117acc691ed679f2186cde44490ba4ef2c73808e01efafab26cc70375e
    createdAt: 2020-07-08T08:16:32Z
    capabilities: Seamless Upgrades
    repository: https://github.com/rh-messaging/activemq-artemis-operator
    support: Red Hat
    tectonic-visibility: ocs
    alm-examples: >-
      [{
          "apiVersion": "broker.amq.io/v2alpha4",
          "kind": "ActiveMQArtemis",
          "metadata": {
              "name": "ex-aao",
              "application": "ex-aao-app"
          },
          "spec": {
              "deploymentPlan": {
                  "size": 2,
                  "image": "registry.redhat.io/amq7/amq-broker:7.8",
                  "requireLogin": false,
                  "persistenceEnabled": false,
                  "journalType": "nio",
                  "messageMigration": false,
                  "jolokiaAgentEnabled": false,
                  "managementRBACEnabled": true
              }
          }
      },
      {
          "apiVersion": "broker.amq.io/v2alpha2",
          "kind": "ActiveMQArtemisAddress",
          "metadata": {
              "name": "ex-aaoaddress"
          },
          "spec": {
              "addressName": "myAddress0",
              "queueName": "myQueue0",
              "routingType": "anycast"
          }
      },
      {
          "apiVersion": "broker.amq.io/v2alpha1",
          "kind": "ActiveMQArtemisScaledown",
          "metadata": {
              "name": "ex-aaoscaledown"
          },
          "spec": {
              "localOnly": "true"
          }
      }]
labels:
  operator-activemqartemis: "true"
  operatorframework.io/arch.amd64: supported
  operatorframework.io/os.linux: supported
spec:
  displayName: Red Hat Integration - AMQ Broker
  description: AMQ Broker Operator provides the ability to deploy and manage stateful AMQ Broker broker clusters
  keywords:
    - activemqartemis
    - operator
  version: 0.18.0
  replaces: amq-broker-operator.v0.17.0
  maturity: alpha
  maintainers:
    - name: Red Hat
      email: rkieley@redhat.com
  provider:
    name: Red Hat
  links:
    - name: Product Page
      url: https://access.redhat.com/products/red-hat-amq/
    - name: Documentation
      url: https://access.redhat.com/documentation/en-us/red_hat_amq/
  icon:
    - base64data: [encoded data, 11816 characters]
      mediatype: image/png
  labels:
    alm-owner-amq-broker: amq-broker-operator
    operated-by: amq-broker-operator.v0.18.0
  selector:
    matchLabels:
      ActiveMQArtemis: ex-aao
      application: ex-aao-app
      operated-by: amq-broker-operator.v0.18.0
  installModes:
    - type: OwnNamespace
      supported: true
    - type: SingleNamespace
      supported: false
    - type: MultiNamespace
      supported: false
    - type: AllNamespaces
      supported: false
  customresourcedefinitions:
    owned:
      - name: activemqartemises.broker.amq.io
        version: v2alpha4
        versions:
          - name: v2alpha4
            served: true
            storage: true
          - name: v2alpha3
            served: true
            storage: false
          - name: v2alpha2
            served: true
            storage: false
          - name: v2alpha1
            served: true
            storage: false
          - name: v1alpha1
            served: false
            storage: false
        kind: ActiveMQArtemis
        description: A stateful deployment of one or more brokers
        displayName: AMQ Broker
        resources:
          - kind: Service
            version: v1
          - kind: Route
            version: v1
          - kind: StatefulSet
            version: v1
          - kind: Secret
            version: v1
        specDescriptors:
          - description: User name for standard broker user. It is required for connecting to the broker and the web console. If left empty, it will be generated.
            displayName: AdminUser
            path: adminUser
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:AdminUser'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: Password for standard broker user. It is required for connecting to the broker and the web console. If left empty, it will be generated.
            displayName: AdminPassword
            path: adminPassword
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:AdminUser'
              - 'urn:alm:descriptor:com.tectonic.ui:password'
          - description: The version of the broker deployment.
            displayName: Version
            path: version
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:Version'
              - 'urn:alm:descriptor:com.tectonic.ui:password'
          - description: The number of broker pods to deploy
            displayName: Size
            path: deploymentPlan.size
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:deploymentPlan'
              - 'urn:alm:descriptor:com.tectonic.ui:podCount'
          - description: The image used for the broker deployment
            displayName: Image
            path: deploymentPlan.image
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:deploymentPlan'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: The init container image used to configure broker
            displayName: InitImage
            path: deploymentPlan.initImage
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:deploymentPlan'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: If true require user password login credentials for broker protocol ports
            displayName: RequireLogin
            path: deploymentPlan.requireLogin
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:deploymentPlan'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: If true use persistent volume via persistent volume claim for journal storage
            displayName: PersistenceEnabled
            path: deploymentPlan.persistenceEnabled
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:deploymentPlan'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: If aio use ASYNCIO, if nio use NIO for journal IO
            displayName: JournalType
            path: deploymentPlan.journalType
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:deploymentPlan'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: If true migrate messages on scaledown
            displayName: MessageMigration
            path: deploymentPlan.messageMigration
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:deploymentPlan'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: If true enable the Jolokia JVM Agent
            displayName: JolokiaAgentEnabled
            path: deploymentPlan.jolokiaAgentEnabled
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:deploymentPlan'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: If true enable the management role based access control
            displayName: ManagementRBACEnabled
            path: deploymentPlan.managementRBACEnabled
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:deploymentPlan'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'

          - description:  A single acceptor configuration
            displayName: Name
            path: acceptors[0].name
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:acceptors'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: AMQP Minimum Large Message Size
            displayName: AMQPMinLargeMessageSize
            path: acceptors[0].amqpMinLargeMessageSize
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:acceptors'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: Port number
            displayName: Port
            path: acceptors[0].port
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:acceptors'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: The protocols to enable for this acceptor
            displayName: Protocols
            path: acceptors[0].protocols
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:acceptors'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description:  Whether or not to enable SSL on this port
            displayName: Ssl Enabled
            path: acceptors[0].sslEnabled
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:acceptors'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: Name of the secret to use for ssl information
            displayName: Ssl Secret
            path: acceptors[0].sslSecret
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:acceptors'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: Comma separated list of cipher suites used for SSL communication.
            displayName: Enabled Cipher Suites
            path: acceptors[0].enabledCipherSuites
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:acceptors'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: Comma separated list of protocols used for SSL communication.
            displayName: Enabled Protocols
            path: acceptors[0].enabledProtocols
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:acceptors'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: Tells a client connecting to this acceptor that 2-way SSL is required. This property takes precedence over wantClientAuth.
            displayName: Need Client Auth
            path: acceptors[0].needClientAuth
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:acceptors'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: Tells a client connecting to this acceptor that 2-way SSL is requested but not required. Overridden by needClientAuth.
            displayName: Want Client Auth
            path: acceptors[0].wantClientAuth
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:acceptors'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: The CN of the connecting client's SSL certificate will be compared to its hostname to verify they match. This is useful only for 2-way SSL.
            displayName: Verify Host
            path: acceptors[0].verifyHost
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:acceptors'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: Used to change the SSL Provider between JDK and OPENSSL. The default is JDK.
            displayName: Ssl Provider
            path: acceptors[0].sslProvider
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:acceptors'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: A regular expression used to match the server_name extension on incoming SSL connections. If the name doesn't match then the connection to the acceptor will be rejected.
            displayName: Sni Host
            path: acceptors[0].sniHost
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:acceptors'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: Whether or not to expose this acceptor
            displayName: Expose
            path: acceptors[0].expose
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:acceptors'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: To indicate which kind of routing type to use.
            displayName: AnyCast Prefix
            path: acceptors[0].anycastPrefix
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:acceptors'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: To indicate which kind of routing type to use
            displayName: Multicast Prefix
            path: acceptors[0].multicastPrefix
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:acceptors'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: To indicate which kind of routing type to use
            displayName: Connections Allowed
            path: acceptors[0].connectionsAllowed
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:acceptors'
              - 'urn:alm:descriptor:com.tectonic.ui:text'

          - description:  The name of the connector
            displayName: Name
            path: connectors[0].name
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:connectors'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: The type either tcp or vm
            displayName: Type
            path: connectors[0].type
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:connectors'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description:  Hostname or IP to connect to
            displayName: Host Name
            path: connectors[0].host
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:connectors'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: Port number
            displayName: Port
            path: connectors[0].port
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:connectors'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description:  Whether or not to enable SSL on this port
            displayName: Ssl Enabled
            path: connectors[0].sslEnabled
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:connectors'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: Name of the secret to use for ssl information
            displayName: Ssl Secret
            path: connectors[0].sslSecret
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:connectors'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: Comma separated list of cipher suites used for SSL communication.
            displayName: Enabled Cipher Suites
            path: connectors[0].enabledCipherSuites
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:connectors'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: Comma separated list of protocols used for SSL communication.
            displayName: Enabled Protocols
            path: connectors[0].enabledProtocols
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:connectors'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: Tells a client connecting to this connector that 2-way SSL is required. This property takes precedence over wantClientAuth.
            displayName: Need Client Auth
            path: connectors[0].needClientAuth
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:connectors'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: Tells a client connecting to this connector that 2-way SSL is requested but not required. Overridden by needClientAuth.
            displayName: Want Client Auth
            path: connectors[0].wantClientAuth
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:connectors'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: The CN of the connecting client's SSL certificate will be compared to its hostname to verify they match. This is useful only for 2-way SSL.
            displayName: Verify Host
            path: connectors[0].verifyHost
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:connectors'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: Used to change the SSL Provider between JDK and OPENSSL. The default is JDK.
            displayName: Ssl Provider
            path: connectors[0].sslProvider
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:connectors'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: A regular expression used to match the server_name extension on incoming SSL connections. If the name doesn't match then the connection to the acceptor will be rejected.
            displayName: Sni Host
            path: connectors[0].sniHost
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:connectors'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: Whether or not to expose this connector
            displayName: Expose
            path: connectors[0].expose
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:connectors'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: How to merge the address settings to broker configuration
            displayName: ApplyRule
            path: addressSettings.applyRule
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:addressSettings'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: the address to send dead messages to
            displayName: DeadLetterAddress
            path: addressSettings.addressSetting[0].deadLetterAddress
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:deadLetterAddress'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: whether or not to automatically create the dead-letter-address and/or a corresponding queue on that address when a message found to be undeliverable
            displayName: AutoCreateDeadLetterResources
            path: addressSettings.addressSetting[0].autoCreateDeadLetterResources
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:autoCreateDeadLetterResources'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: the prefix to use for auto-created dead letter queues
            displayName: DeadLetterQueuePrefix
            path: addressSettings.addressSetting[0].deadLetterQueuePrefix
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:deadLetterQueuePrefix'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: the suffix to use for auto-created dead letter queues
            displayName: DeadLetterQueueSuffix
            path: addressSettings.addressSetting[0].deadLetterQueueSuffix
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:deadLetterQueueSuffix'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: the address to send expired messages to
            displayName: ExpiryAddress
            path: addressSettings.addressSetting[0].expiryAddress
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:expiryAddress'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: whether or not to automatically create the expiry-address and/or a corresponding queue on that address when a message is sent to a matching queue
            displayName: AutoCreateExpiryResources
            path: addressSettings.addressSetting[0].autoCreateExpiryResources
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:autoCreateExpiryResources'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: the prefix to use for auto-created expiry queues
            displayName: ExpiryQueuePrefix
            path: addressSettings.addressSetting[0].expiryQueuePrefix
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:expiryQueuePrefix'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: the suffix to use for auto-created expiry queues
            displayName: ExpiryQueueSuffix
            path: addressSettings.addressSetting[0].expiryQueueSuffix
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:expiryQueueSuffix'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: Overrides the expiration time for messages using the default value for expiration time. "-1" disables this setting.
            displayName: ExpiryDelay
            path: addressSettings.addressSetting[0].expiryDelay
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:expiryDelay'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: Overrides the expiration time for messages using a lower value. "-1" disables this setting.
            displayName: MinExpiryDelay
            path: addressSettings.addressSetting[0].minExpiryDelay
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:minExpiryDelay'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: Overrides the expiration time for messages using a higher value. "-1" disables this setting.
            displayName: MaxExpiryDelay
            path: addressSettings.addressSetting[0].maxExpiryDelay
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:maxExpiryDelay'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: the time (in ms) to wait before redelivering a cancelled message.
            displayName: RedeliveryDelay
            path: addressSettings.addressSetting[0].redeliveryDelay
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:redeliveryDelay'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: multiplier to apply to the redelivery-delay
            displayName: RedeliveryDelayMultiplier
            path: addressSettings.addressSetting[0].redeliveryDelayMultiplier
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:redeliveryDelayMultiplier'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: factor by which to modify the redelivery delay slightly to avoid collisions
            displayName: RedeliveryCollisionAvoidanceFactor
            path: addressSettings.addressSetting[0].redeliveryCollisionAvoidanceFactor
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:redeliveryCollisionAvoidanceFactor'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: Maximum value for the redelivery-delay
            displayName: MaxRedeliveryDelay
            path: addressSettings.addressSetting[0].maxRedeliveryDelay
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:maxRedeliveryDelay'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: how many times to attempt to deliver a message before sending to dead letter address
            displayName: MaxDeliveryAttempts
            path: addressSettings.addressSetting[0].maxDeliveryAttempts
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:maxDeliveryAttempts'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: the maximum size in bytes for an address. -1 means no limits. This is used in PAGING, BLOCK and FAIL policies. Supports byte notation like K, Mb, GB, etc.
            displayName: MaxSizeBytes
            path: addressSettings.addressSetting[0].maxSizeBytes
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:maxSizeBytes'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: used with the address full BLOCK policy, the maximum size in bytes an address can reach before messages start getting rejected. Works in combination with max-size-bytes for AMQP protocol only.  Default = -1 (no limit).
            displayName: MaxSizeBytesRejectThreshold
            path: addressSettings.addressSetting[0].maxSizeBytesRejectThreshold
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:maxSizeBytesRejectThreshold'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: The page size in bytes to use for an address. Supports byte notation like K, Mb, GB, etc.
            displayName: PageSizeBytes
            path: addressSettings.addressSetting[0].pageSizeBytes
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:pageSizeBytes'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: Number of paging files to cache in memory to avoid IO during paging navigation
            displayName: PageMaxCacheSize
            path: addressSettings.addressSetting[0].pageMaxCacheSize
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:pageMaxCacheSize'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: what happens when an address where maxSizeBytes is specified becomes full
            displayName: AddressFullPolicy
            path: addressSettings.addressSetting[0].addressFullPolicy
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:addressFullPolicy'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: how many days to keep message counter history for this address
            displayName: MessageCounterHistoryDayLimit
            path: addressSettings.addressSetting[0].messageCounterHistoryDayLimit
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:messageCounterHistoryDayLimit'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: This is deprecated please use default-last-value-queue instead.
            displayName: LastValueQueue
            path: addressSettings.addressSetting[0].lastValueQueue
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:lastValueQueue'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: whether to treat the queues under the address as a last value queues by default
            displayName: DefaultLastValueQueue
            path: addressSettings.addressSetting[0].defaultLastValueQueue
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:defaultLastValueQueue'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: the property to use as the key for a last value queue by default
            displayName: DefaultLastValueKey
            path: addressSettings.addressSetting[0].defaultLastValueKey
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:defaultLastValueKey'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: whether the queue should be non-destructive by default
            displayName: DefaultNonDestructive
            path: addressSettings.addressSetting[0].defaultNonDestructive
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:defaultNonDestructive'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: whether to treat the queues under the address as exclusive queues by default
            displayName: DefaultExclusiveQueue
            path: addressSettings.addressSetting[0].defaultExclusiveQueue
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:defaultExclusiveQueue'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: whether to rebalance groups when a consumer is added
            displayName: DefaultGroupRebalance
            path: addressSettings.addressSetting[0].defaultGroupRebalance
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:defaultGroupRebalance'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: whether to pause dispatch when rebalancing groups
            displayName: DefaultGroupRebalancePauseDispatch
            path: addressSettings.addressSetting[0].defaultGroupRebalancePauseDispatch
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:defaultGroupRebalancePauseDispatch'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: number of buckets to use for grouping, -1 (default) is unlimited and uses the raw group, 0 disables message groups.
            displayName: DefaultGroupBuckets
            path: addressSettings.addressSetting[0].defaultGroupBuckets
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:defaultGroupBuckets'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: key used to mark a message is first in a group for a consumer
            displayName: DefaultGroupFirstKey
            path: addressSettings.addressSetting[0].defaultGroupFirstKey
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:defaultGroupFirstKey'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: the default number of consumers needed before dispatch can start for queues under the address.
            displayName: DefaultConsumersBeforeDispatch
            path: addressSettings.addressSetting[0].defaultConsumersBeforeDispatch
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:defaultConsumersBeforeDispatch'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: the default delay (in milliseconds) to wait before dispatching if number of consumers before dispatch is not met for queues under the address.
            displayName: DefaultDelayBeforeDispatch
            path: addressSettings.addressSetting[0].defaultDelayBeforeDispatch
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:defaultDelayBeforeDispatch'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: how long (in ms) to wait after the last consumer is closed on a queue before redistributing messages.
            displayName: RedistributionDelay
            path: addressSettings.addressSetting[0].redistributionDelay
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:redistributionDelay'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: if there are no queues matching this address, whether to forward message to DLA (if it exists for this address)
            displayName: SendToDlaOnNoRoute
            path: addressSettings.addressSetting[0].sendToDlaOnNoRoute
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:sendToDlaOnNoRoute'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: The minimum rate of message consumption allowed before a consumer is considered "slow." Measured in messages-per-second.
            displayName: SlowConsumerThreshold
            path: addressSettings.addressSetting[0].slowConsumerThreshold
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:slowConsumerThreshold'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: what happens when a slow consumer is identified
            displayName: SlowConsumerPolicy
            path: addressSettings.addressSetting[0].slowConsumerPolicy
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:slowConsumerPolicy'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: How often to check for slow consumers on a particular queue. Measured in seconds.
            displayName: SlowConsumerCheckPeriod
            path: addressSettings.addressSetting[0].slowConsumerCheckPeriod
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:slowConsumerCheckPeriod'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: DEPRECATED. whether or not to automatically create JMS queues when a producer sends or a consumer connects to a queue
            displayName: AutoCreateJmsQueues
            path: addressSettings.addressSetting[0].autoCreateJmsQueues
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:autoCreateJmsQueues'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: DEPRECATED. whether or not to delete auto-created JMS queues when the queue has 0 consumers and 0 messages
            displayName: AutoDeleteJmsQueues
            path: addressSettings.addressSetting[0].autoDeleteJmsQueues
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:autoDeleteJmsQueues'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: DEPRECATED. whether or not to automatically create JMS topics when a producer sends or a consumer subscribes to a topic
            displayName: AutoCreateJmsTopics
            path: addressSettings.addressSetting[0].autoCreateJmsTopics
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:autoCreateJmsTopics'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: DEPRECATED. whether or not to delete auto-created JMS topics when the last subscription is closed
            displayName: AutoDeleteJmsTopics
            path: addressSettings.addressSetting[0].autoDeleteJmsTopics
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:autoDeleteJmsTopics'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: whether or not to automatically create a queue when a client sends a message to or attempts to consume a message from a queue
            displayName: AutoCreateQueues
            path: addressSettings.addressSetting[0].autoCreateQueues
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:autoCreateQueues'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: whether or not to delete auto-created queues when the queue has 0 consumers and 0 messages
            displayName: AutoDeleteQueues
            path: addressSettings.addressSetting[0].autoDeleteQueues
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:autoDeleteQueues'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: whether or not to delete created queues when the queue has 0 consumers and 0 messages
            displayName: AutoDeleteCreatedQueues
            path: addressSettings.addressSetting[0].autoDeleteCreatedQueues
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:autoDeleteCreatedQueues'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: how long to wait (in milliseconds) before deleting auto-created queues after the queue has 0 consumers.
            displayName: AutoDeleteQueuesDelay
            path: addressSettings.addressSetting[0].autoDeleteQueuesDelay
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:autoDeleteQueuesDelay'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: the message count the queue must be at or below before it can be evaluated to be auto deleted, 0 waits until empty queue (default) and -1 disables this check.
            displayName: AutoDeleteQueuesMessageCount
            path: addressSettings.addressSetting[0].autoDeleteQueuesMessageCount
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:autoDeleteQueuesMessageCount'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: What to do when a queue is no longer in broker.xml.  OFF = will do nothing queues will remain, FORCE = delete queues even if messages remaining.
            displayName: ConfigDeleteQueues
            path: addressSettings.addressSetting[0].configDeleteQueues
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:configDeleteQueues'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: whether or not to automatically create addresses when a client sends a message to or attempts to consume a message from a queue mapped to an address that doesnt exist
            displayName: AutoCreateAddresses
            path: addressSettings.addressSetting[0].autoCreateAddresses
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:autoCreateAddresses'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: whether or not to delete auto-created addresses when it no longer has any queues
            displayName: AutoDeleteAddresses
            path: addressSettings.addressSetting[0].autoDeleteAddresses
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:autoDeleteAddresses'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: how long to wait (in milliseconds) before deleting auto-created addresses after they no longer have any queues
            displayName: AutoDeleteAddressesDelay
            path: addressSettings.addressSetting[0].autoDeleteAddressesDelay
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:autoDeleteAddressesDelay'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: What to do when an address is no longer in broker.xml.  OFF = will do nothing addresses will remain, FORCE = delete address and its queues even if messages remaining.
            displayName: ConfigDeleteAddresses
            path: addressSettings.addressSetting[0].configDeleteAddresses
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:configDeleteAddresses'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: how many message a management resource can browse
            displayName: ManagementBrowsePageSize
            path: addressSettings.addressSetting[0].managementBrowsePageSize
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:managementBrowsePageSize'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: purge the contents of the queue once there are no consumers
            displayName: DefaultPurgeOnNoConsumers
            path: addressSettings.addressSetting[0].defaultPurgeOnNoConsumers
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:defaultPurgeOnNoConsumers'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: the maximum number of consumers allowed on this queue at any one time
            displayName: DefaultMaxConsumers
            path: addressSettings.addressSetting[0].defaultMaxConsumers
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:defaultMaxConsumers'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: the routing-type used on auto-created queues
            displayName: DefaultQueueRoutingType
            path: addressSettings.addressSetting[0].defaultQueueRoutingType
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:defaultQueueRoutingType'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: the routing-type used on auto-created addresses
            displayName: DefaultAddressRoutingType
            path: addressSettings.addressSetting[0].defaultAddressRoutingType
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:defaultAddressRoutingType'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: the default window size for a consumer
            displayName: DefaultConsumerWindowSize
            path: addressSettings.addressSetting[0].defaultConsumerWindowSize
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:defaultConsumerWindowSize'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: the default ring-size value for any matching queue which doesnt have ring-size explicitly defined
            displayName: DefaultRingSize
            path: addressSettings.addressSetting[0].defaultRingSize
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:defaultRingSize'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: the number of messages to preserve for future queues created on the matching address
            displayName: RetroactiveMessageCount
            path: addressSettings.addressSetting[0].retroactiveMessageCount
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:retroactiveMessageCount'
              - 'urn:alm:descriptor:com.tectonic.ui:number'
          - description: whether or not to enable metrics for metrics plugins on the matching address
            displayName: EnableMetrics
            path: addressSettings.addressSetting[0].enableMetrics
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:enableMetrics'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: pattern for matching settings against addresses; can use wildards
            displayName: Match
            path: addressSettings.addressSetting[0].match
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:match'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: Whether or not to expose this port
            displayName: Expose
            path: console.expose
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:console'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: Whether or not to enable SSL on this port
            displayName: Ssl Enabled
            path: console.sslEnabled
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:console'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: Name of the secret to use for ssl information
            displayName: Ssl Secret
            path: console.sslSecret
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:console'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: If the embedded server requires client authentication
            displayName: Use Client Auth
            path: console.useClientAuth
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:console'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'

          - description: Set to true to enable automatic micro version product upgrades, disabled by default.
            displayName: Enabled
            path: upgrades.enabled
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:upgrades'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'
          - description: Set to true to enable automatic micro version product upgrades, disabled by default. Requires spec.upgrades.enabled true.
            displayName: Minor
            path: upgrades.minor
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:upgrades'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'

        statusDescriptors:
          - description: The current pods
            displayName: Pods Status
            path: podStatus
            x-descriptors:
              - "urn:alm:descriptor:com.tectonic.ui:podStatuses"

      - name: activemqartemisaddresses.broker.amq.io
        version: v2alpha2
        versions:
          - name: v2alpha2
            served: true
            storage: true
          - name: v2alpha1
            served: true
            storage: false
          - name: v1alpha2
            served: true
            storage: false
          - name: v1alpha1
            served: false
            storage: false
        kind: ActiveMQArtemisAddress
        description: Adding and removing addresses via custom resource definitions
        displayName: AMQ Broker Address
        specDescriptors:
          - description: The Queue Name
            displayName: Queue Name
            path: queueName
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:ActiveMQArtemis'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: The Address Name
            displayName: Address Name
            path: addressName
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:ActiveMQArtemis'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: The Routing Type
            displayName: Routing Type
            path: routingType
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:ActiveMQArtemis'
              - 'urn:alm:descriptor:com.tectonic.ui:text'
          - description: Whether or not delete the queue from broker when CR is undeployed(default false)
            displayName: Remove From Broker On Delete
            path: removeFromBrokerOnDelete
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:ActiveMQArtemis'
              - 'urn:alm:descriptor:com.tectonic.ui:text'

      - name: activemqartemisscaledowns.broker.amq.io
        version: v2alpha1
        versions:
          - name: v2alpha1
            served: true
            storage: true
          - name: v1alpha1
            served: false
            storage: false
        kind: ActiveMQArtemisScaledown
        description: Provides message migration on clustered broker scaledown
        displayName: AMQ Broker Scaledown
        specDescriptors:
          - description: Triggered by main ActiveMQArtemis CRD messageMigration entry
            displayName: LocalOnly
            path: localOnly
            x-descriptors:
              - 'urn:alm:descriptor:com.tectonic.ui:fieldGroup:SingleNamespace'
              - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch'

  install:
    strategy: deployment
    spec:
      permissions:
        - serviceAccountName: amq-broker-operator
          rules:
            - apiGroups:
                - ""
              resources:
                - pods
                - services
                - endpoints
                - persistentvolumeclaims
                - events
                - configmaps
                - secrets
                - routes
              verbs:
                - '*'
            - apiGroups:
                - ""
              resources:
                - namespaces
              verbs:
                - get
            - apiGroups:
                - apps
              resources:
                - deployments
                - daemonsets
                - replicasets
                - statefulsets
              verbs:
                - '*'
            - apiGroups:
                - monitoring.coreos.com
              resources:
                - servicemonitors
              verbs:
                - get
                - create
            - apiGroups:
                - broker.amq.io
              resources:
                - '*'
              verbs:
                - '*'
            - apiGroups:
                - "route.openshift.io"
              resources:
                - routes
                - routes/custom-host
                - routes/status
              verbs:
                - get
                - list
                - watch
                - create
                - delete

      deployments:
        - name: amq-broker-operator
          spec:
            replicas: 1
            selector:
              matchLabels:
                name: amq-broker-operator
            strategy:
              rollingUpdate:
                maxSurge: 1
                maxUnavailable: 1
              type: RollingUpdate
            template:
              metadata:
                labels:
                  name: amq-broker-operator
              spec:
                serviceAccountName: amq-broker-operator
                containers:
                  - name: amq-broker-operator
                    image: registry.redhat.io/amq7/amq-broker-rhel7-operator@sha256:0eda68117acc691ed679f2186cde44490ba4ef2c73808e01efafab26cc70375e
                    args:
                      # Explicitly set the logging level.
                      # Valid values are debug, info, and error
                      # from most to least.
                      # If running entrypoint_debug then use '-- --zap-level debug'
                      - '--zap-level info'
                    command:
                      - /home/amq-broker-operator/bin/entrypoint
                    imagePullPolicy: Always
                    env:
                      - name: OPERATOR_NAME
                        valueFrom:
                          fieldRef:
                            fieldPath: metadata.labels['name']
                      - name: POD_NAME
                        valueFrom:
                          fieldRef:
                            fieldPath: metadata.name
                      - name: WATCH_NAMESPACE
                        valueFrom:
                          fieldRef:
                            fieldPath: metadata.namespace
                      - name: BROKER_IMAGE_750
                        value: registry.redhat.io/amq7/amq-broker:7.5
                      - name: BROKER_IMAGE_760
                        value: registry.redhat.io/amq7/amq-broker:7.6
                      - name: BROKER_IMAGE_770
                        value: registry.redhat.io/amq7/amq-broker:7.7
                      - name: BROKER_IMAGE_780
                        value: registry.redhat.io/amq7/amq-broker:7.8
