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