apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  creationTimestamp: null
  name: activemqartemises.broker.amq.io
spec:
  group: broker.amq.io
  names:
    kind: ActiveMQArtemis
    listKind: ActiveMQArtemisList
    plural: activemqartemises
    singular: activemqartemis
  scope: Namespaced
  version: v2alpha2
  versions:
    - name: v2alpha2
      served: true
      storage: true
      schema:
        openAPIV3Schema:
          required:
            - spec
          properties:
            apiVersion:
              type: string
            kind:
              type: string
            metadata:
              type: object
            spec:
              properties:
                adminUser:
                  type: string
                  description: User name for standard broker user. It is required for connecting to the broker. If left empty, it will be generated.
                adminPassword:
                  type: string
                  description: Password for standard broker user. It is required for connecting to the broker. If left empty, it will be generated.
                version:
                  type: string
                  description: The version of the application deployment.
                deploymentPlan:
                  type: object
                  properties:
                    image:
                      type: string
                      description: The image used for the broker deployment
                    size:
                      type: integer
                      minimum: 0
                      maximum: 16
                      description: The number of broker pods to deploy
                    requireLogin:
                      type: boolean
                      description: If true require user password login credentials for broker protocol ports
                    persistenceEnabled:
                      type: boolean
                      description: If true use persistent volume via persistent volume claim for journal storage
                    journalType:
                      type: string
                      description: If aio use ASYNCIO, if nio use NIO for journal IO
                    messageMigration:
                      type: boolean
                      description: If true migrate messages on scaledown
                acceptors:
                  type: array
                  description: Configuration of all acceptors
                  minItems: 0
                  items:
                    type: object
                    description: A single acceptor configuration
                    properties:
                      name:
                        type: string
                        description: The name of the acceptor
                      port:
                        type: integer
                        description: Port number
                      protocols:
                        type: string
                        description: The protocols to enable for this acceptor
                      sslEnabled:
                        type: boolean
                        description: Whether or not to enable SSL on this port
                      sslSecret:
                        type: string
                        description: Name of the secret to use for ssl information
                      enabledCipherSuites:
                        type: string
                        description: Comma separated list of cipher suites used for SSL communication.
                      enabledProtocols:
                        type: string
                        description: Comma separated list of protocols used for SSL communication.
                      needClientAuth:
                        type: boolean
                        description: Tells a client connecting to this acceptor that 2-way SSL is required. This property takes precedence over wantClientAuth.
                      wantClientAuth:
                        type: boolean
                        description: Tells a client connecting to this acceptor that 2-way SSL is requested but not required. Overridden by needClientAuth.
                      verifyHost:
                        type: boolean
                        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.
                      sslProvider:
                        type: string
                        description: Used to change the SSL Provider between JDK and OPENSSL. The default is JDK.
                      sniHost:
                        type: string
                        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.
                      expose:
                        type: boolean
                        description: Whether or not to expose this acceptor
                      anycastPrefix:
                        type: string
                        description: To indicate which kind of routing type to use.
                      multicastPrefix:
                        type: string
                        description: To indicate which kind of routing type to use.
                      connectionsAllowed:
                        type: integer
                        description: Limits the number of connections which the acceptor will allow. When this limit is reached a DEBUG level message is issued to the log, and the connection is refused.
                connectors:
                  type: array
                  description: Configuration of all connectors
                  minItems: 0
                  items:
                    type: object
                    description: A single connector configuration
                    properties:
                      name:
                        type: string
                        description: The name of the acceptor
                      type:
                        type: string
                        description: The type either tcp or vm
                      host:
                        type: string
                        description: Hostname or IP to connect to
                      port:
                        type: integer
                        description: Port number
                      sslEnabled:
                        type: boolean
                        description: Whether or not to enable SSL on this port
                      sslSecret:
                        type: string
                        description: Name of the secret to use for ssl information
                      enabledCipherSuites:
                        type: string
                        description: Comma separated list of cipher suites used for SSL communication.
                      enabledProtocols:
                        type: string
                        description: Comma separated list of protocols used for SSL communication.
                      needClientAuth:
                        type: boolean
                        description: Tells a client connecting to this acceptor that 2-way SSL is required. This property takes precedence over wantClientAuth.
                      wantClientAuth:
                        type: boolean
                        description: Tells a client connecting to this acceptor that 2-way SSL is requested but not required. Overridden by needClientAuth.
                      verifyHost:
                        type: boolean
                        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.
                      sslProvider:
                        type: string
                        description: Used to change the SSL Provider between JDK and OPENSSL. The default is JDK.
                      sniHost:
                        type: string
                        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.
                      expose:
                        type: boolean
                        description: Whether or not to expose this connector
                console:
                  type: object
                  description: Configuration for the embedded web console
                  properties:
                    expose:
                      type: boolean
                      description: Whether or not to expose this port
                    sslEnabled:
                      type: boolean
                      description: Whether or not to enable SSL on this port
                    sslSecret:
                      type: string
                      description: Name of the secret to use for ssl information
                    useClientAuth:
                      type: boolean
                      description: If the embedded server requires client authentication
                upgrades:
                  type: object
                  description: Specify the level of upgrade that should be allowed when an older product version is detected
                  properties:
                    enabled:
                      type: boolean
                      description: Set true to enable automatic micro version product upgrades, it is disabled by default.
                    minor:
                      type: boolean
                      description: Set true to enable automatic minor product version upgrades, it is disabled by default. Requires spec.upgrades.enabled to be true.
              type: object
            status:
              properties:
                podStatus:
                  properties:
                    ready:
                      items:
                        type: string
                      type: array
                    starting:
                      items:
                        type: string
                      type: array
                    stopped:
                      items:
                        type: string
                      type: array
                  type: object
              required:
                - podStatus
              type: object
    - name: v2alpha1
      served: true
      storage: false
      schema:
        openAPIV3Schema:
          required:
            - spec
          properties:
            apiVersion:
              type: string
            kind:
              type: string
            metadata:
              type: object
            spec:
              adminUser:
                type: string
                description: User name for standard broker user. It is required for connecting to the broker. If left empty, it will be generated.
              adminPassword:
                type: string
                description: Password for standard broker user. It is required for connecting to the broker. If left empty, it will be generated.
              deploymentPlan:
                type: object
                properties:
                  image:
                    type: string
                    description: The image used for the broker deployment
                  size:
                    type: integer
                    minimum: 0
                    maximum: 16
                    description: The number of broker pods to deploy
                  requireLogin:
                    type: boolean
                    description: If true require user password login credentials for broker protocol ports
                  persistenceEnabled:
                    type: boolean
                    description: If true use persistent volume via persistent volume claim for journal storage
                  journalType:
                    type: string
                    description: If aio use ASYNCIO, if nio use NIO for journal IO
                  messageMigration:
                    type: boolean
                    description: If true migrate messages on scaledown
              acceptors:
                type: array
                description: Configuration of all acceptors
                minItems: 0
                items:
                  type: object
                  description: A single acceptor configuration
                  properties:
                    name:
                      type: string
                      description: The name of the acceptor
                    port:
                      type: integer
                      description: Port number
                    protocols:
                      type: string
                      description: The protocols to enable for this acceptor
                    sslEnabled:
                      type: boolean
                      description: Whether or not to enable SSL on this port
                    sslSecret:
                      type: string
                      description: Name of the secret to use for ssl information
                    enabledCipherSuites:
                      type: string
                      description: Comma separated list of cipher suites used for SSL communication.
                    enabledProtocols:
                      type: string
                      description: Comma separated list of protocols used for SSL communication.
                    needClientAuth:
                      type: boolean
                      description: Tells a client connecting to this acceptor that 2-way SSL is required. This property takes precedence over wantClientAuth.
                    wantClientAuth:
                      type: boolean
                      description: Tells a client connecting to this acceptor that 2-way SSL is requested but not required. Overridden by needClientAuth.
                    verifyHost:
                      type: boolean
                      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.
                    sslProvider:
                      type: string
                      description: Used to change the SSL Provider between JDK and OPENSSL. The default is JDK.
                    sniHost:
                      type: string
                      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.
                    expose:
                      type: boolean
                      description: Whether or not to expose this acceptor
                    anycastPrefix:
                      type: string
                      description: To indicate which kind of routing type to use.
                    multicastPrefix:
                      type: string
                      description: To indicate which kind of routing type to use.
                    connectionsAllowed:
                      type: integer
                      description: Limits the number of connections which the acceptor will allow. When this limit is reached a DEBUG level message is issued to the log, and the connection is refused.
              connectors:
                type: array
                description: Configuration of all connectors
                minItems: 0
                items:
                  type: object
                  description: A single connector configuration
                  properties:
                    name:
                      type: string
                      description: The name of the acceptor
                    type:
                      type: string
                      description: The type either tcp or vm
                    host:
                      type: string
                      description: Hostname or IP to connect to
                    port:
                      type: integer
                      description: Port number
                    sslEnabled:
                      type: boolean
                      description: Whether or not to enable SSL on this port
                    sslSecret:
                      type: string
                      description: Name of the secret to use for ssl information
                    enabledCipherSuites:
                      type: string
                      description: Comma separated list of cipher suites used for SSL communication.
                    enabledProtocols:
                      type: string
                      description: Comma separated list of protocols used for SSL communication.
                    needClientAuth:
                      type: boolean
                      description: Tells a client connecting to this acceptor that 2-way SSL is required. This property takes precedence over wantClientAuth.
                    wantClientAuth:
                      type: boolean
                      description: Tells a client connecting to this acceptor that 2-way SSL is requested but not required. Overridden by needClientAuth.
                    verifyHost:
                      type: boolean
                      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.
                    sslProvider:
                      type: string
                      description: Used to change the SSL Provider between JDK and OPENSSL. The default is JDK.
                    sniHost:
                      type: string
                      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.
                    expose:
                      type: boolean
                      description: Whether or not to expose this connector
              console:
                type: object
                description: Configuration for the embedded web console
                properties:
                  expose:
                    type: boolean
                    description: Whether or not to expose this port
                  sslEnabled:
                    type: boolean
                    description: Whether or not to enable SSL on this port
                  sslSecret:
                    type: string
                    description: Name of the secret to use for ssl information
                  useClientAuth:
                    type: boolean
                    description: If the embedded server requires client authentication
            status:
              properties:
                podStatus:
                  properties:
                    ready:
                      items:
                        type: string
                      type: array
                    starting:
                      items:
                        type: string
                      type: array
                    stopped:
                      items:
                        type: string
                      type: array
                  type: object
              required:
                - podStatus
              type: object
    - name: v1alpha1
      served: false
      storage: false
  subresources:
    scale:
      specReplicasPath: .spec.replicas
      statusReplicasPath: .status.replicas
    status: {}
