github.com/interconnectedcloud/qdr-operator@v0.0.0-20210826174505-576d2b33dac7/deploy/olm-catalog/qdr-operator/0.4.0/catalog-source.yaml (about)

     1  apiVersion: v1
     2  kind: List
     3  items:
     4    - apiVersion: v1
     5      kind: ConfigMap
     6      metadata:
     7        name: qdr-resources
     8        namespace: operator-lifecycle-manager
     9      data:
    10        clusterServiceVersions: |
    11          - apiVersion: operators.coreos.com/v1alpha1
    12            kind: ClusterServiceVersion
    13            metadata:
    14              annotations:
    15                alm-examples: >-
    16                  [{"apiVersion":"interconnectedcloud.github.io/v1alpha1","kind":"Interconnect","metadata":{"name":"amq-interconnect"},"spec":{"deploymentPlan":{"size":2,"role":"interior","placement":"Any"}}}]
    17                capabilities: Basic Install
    18                categories: Messaging
    19              name: qdr-operator.v0.4.0
    20              namespace: placeholder
    21            spec:
    22              apiservicedefinitions: {}
    23              customresourcedefinitions:
    24                owned:
    25                - version: v1alpha1
    26                  kind: Interconnect
    27                  description: An instance of Interconnect
    28                  displayName: Interconnect
    29                  name: interconnects.interconnectedcloud.github.io
    30                  resources:
    31                  - kind: Service
    32                    version: v1
    33                  - kind: Deployment
    34                    version: v1
    35                  - kind: ServiceAccount
    36                    version: v1
    37                  - kind: interconnects
    38                    version: v1alpha1
    39                  - kind: rolebindings
    40                    version: v1
    41                  - kind: pods
    42                    version: v1
    43                  - kind: configmaps
    44                    version: v1
    45                  - kind: roles
    46                    version: v1
    47                  - kind: routes
    48                    version: v1
    49                  - kind: secrets
    50                    version: v1
    51                  specDescriptors:
    52                  - description: The role and placement plan for the interconnect deployment
    53                    displayName: DeploymentPlan
    54                    path: deploymentPlan
    55                  - description: Listeners for incoming connections to the router
    56                    displayName: Listeners
    57                    path: listeners
    58                  - description: Listeners for inter router mesh connections
    59                    displayName: InterRouterListeners
    60                    path: interRouterListeners
    61                  - description: Listeners for edge downlink connections
    62                    displayName: EdgeListeners
    63                    path: edgeListeners
    64                  - description: TLS/SSL configuration for connections
    65                    displayName: SslProfiles
    66                    path: sslProfiles
    67                  - description: Address configuration for distribution and phasing
    68                    displayName: Addresses
    69                    path: addresses
    70                  - description: Auto links address configuration
    71                    displayName: AutoLinks
    72                    path: autoLinks
    73                  - description: Link routes address configuration
    74                    displayName: LinkRoutes
    75                    path: linkRoutes
    76                  - description: Outbound client connections to AMQP 1.0 entity
    77                    displayName: Connectors
    78                    path: connectors
    79                  - description: Outbound interior router connections for mesh operation
    80                    displayName: InterRouterConnectors
    81                    path: interRouterConnectors
    82                  - description: Outbound edge router connections for edge uplink
    83                    displayName: EdgeConnectors
    84                    path: edgeConnectors
    85                  statusDescriptors:
    86                  - description: The current revision of the Interconnect cluster
    87                    displayName: Revision Number
    88                    path: revNumber
    89                  - description: The current pods
    90                    displayName: Pods
    91                    path: pods
    92                  - description: The current conditions
    93                    displayName: Conditions
    94                    path: conditions
    95              description: |
    96            
    97                The Qdr Operator is a lightweight [AMQP 1.0](https://www.amqp.org/) message router for building large, highly resilient messaging networks for hybrid cloud and IoT/edge deployments. Qdr transparently learns the addresses of messaging endpoints (such as clients, servers, and message brokers) and flexibly routes messages between them.
    98            
    99                ### Core Capabilities
   100            
   101                * High throughput, low latency, shortest path message forwarding based on Layer 7 address routing mechanisms.
   102            
   103                * `Interior` mode deployments for any arbitrary topology of geographically-distributed and interconnected Qdrs.
   104            
   105                * `Edge` mode deployments for extremely large scale device endpoint connectivity.
   106            
   107                * Automatic message traffic re-routing when the network topology changes (resiliency without restrictions).
   108            
   109                * Flexible addressing schemes and delivery semantics (anycast, multicast, closest, balanced).
   110            
   111                * Integrated management with full support for the draft AMQP management specification.
   112            
   113                * Full-featured security capabilities for authentication, authorization, and policy-based resource access control.
   114            
   115                ### Operator Features
   116            
   117                * **Flexible deployment plans** - Configurable deployment plans are available for `interior` and `edge` mode scenarios. These plans include all dependent resources.
   118            
   119                * **Placement directives** - Directives are provided to control how the pods should be scheduled.
   120            
   121                * **Connectivity configuration defaults** - Configuration defaults are automatically generated for listeners, connectors, and SSL/TLS setup.
   122            
   123                * **Exposes the service** - Integrated management of OpenShift Routes for exposed listener services for client, inter-router, and edge communications.
   124            
   125                * **Security certificate management** - Certificates are created and managed through integration with [jetstack cert-manager](https://github.com/jetstack/cert-manager).
   126            
   127                ### Troubleshooting
   128            
   129                After deploying Interconnect, check any of the following to verify that it is operating correctly:
   130            
   131                * The Interconnect instance
   132            
   133                * The Deployment (or DaemonSet) instance
   134            
   135                * An individual pod for the Deployment (or DaemonSet)
   136            
   137                * A Route created for exposed services
   138            
   139                In addition, use `qdstat` commands to verify connectivity.
   140            
   141              displayName: Qdr Operator
   142              install:
   143                spec:
   144                  deployments:
   145                  - name: qdr-operator
   146                    spec:
   147                      replicas: 1
   148                      selector:
   149                        matchLabels:
   150                          name: qdr-operator
   151                      template:
   152                        metadata:
   153                          labels:
   154                            name: qdr-operator
   155                        spec:
   156                          serviceAccountName: qdr-operator
   157                          containers:
   158                          - command:
   159                            - qdr-operator
   160                            env:
   161                            - name: WATCH_NAMESPACE
   162                              valueFrom:
   163                                fieldRef:
   164                                  fieldPath: metadata.namespace
   165                            - name: POD_NAME
   166                              valueFrom:
   167                                fieldRef:
   168                                  fieldPath: metadata.name
   169                            - name: OPERATOR_NAME
   170                              value: qdr-operator
   171                            image: quay.io/interconnectedcloud/qdr-operator
   172                            imagePullPolicy: Always
   173                            name: qdr-operator
   174                            ports:
   175                            - containerPort: 60000
   176                              name: metrics
   177                            resources: {}
   178                  permissions:
   179                  - rules:
   180                    - apiGroups:
   181                      - ""
   182                      resources:
   183                      - pods
   184                      - services
   185                      - endpoints
   186                      - serviceaccounts
   187                      - persistentvolumeclaims
   188                      - events
   189                      - configmaps
   190                      - secrets
   191                      verbs:
   192                      - '*'
   193                    - apiGroups:
   194                      - "route.openshift.io"
   195                      resources:
   196                      - routes
   197                      - routes/custom-host
   198                      - routes/status
   199                      verbs:
   200                      - get
   201                      - list
   202                      - watch
   203                      - create
   204                      - delete
   205                    - apiGroups:
   206                      - rbac.authorization.k8s.io
   207                      resources:
   208                      - rolebindings
   209                      - roles
   210                      verbs:
   211                      - get
   212                      - list
   213                      - watch
   214                      - create
   215                      - delete
   216                    - apiGroups:
   217                      - ""
   218                      resources:
   219                      - namespaces
   220                      verbs:
   221                      - get
   222                    - apiGroups:
   223                      - apps
   224                      resources:
   225                      - deployments
   226                      - daemonsets
   227                      - replicasets
   228                      - statefulsets
   229                      verbs:
   230                      - '*'
   231                    - apiGroups:
   232                      - "certmanager.k8s.io"
   233                      resources:
   234                      - issuers
   235                      - certificates
   236                      verbs:
   237                      - get
   238                      - list
   239                      - watch
   240                      - create
   241                      - delete
   242                    - apiGroups:
   243                      - monitoring.coreos.com
   244                      resources:
   245                      - servicemonitors
   246                      verbs:
   247                      - get
   248                      - create
   249                    - apiGroups:
   250                      - interconnectedcloud.github.io
   251                      resources:
   252                      - '*'
   253                      verbs:
   254                      - '*'
   255                    serviceAccountName: qdr-operator
   256                strategy: deployment
   257              installModes:
   258              - supported: true
   259                type: OwnNamespace
   260              - supported: true
   261                type: SingleNamespace
   262              - supported: false
   263                type: MultiNamespace
   264              - supported: true
   265                type: AllNamespaces
   266              maturity: alpha
   267              provider: {}
   268              version: 0.4.0
   269        customResourceDefinitions: |
   270          - apiVersion: apiextensions.k8s.io/v1beta1
   271            kind: CustomResourceDefinition
   272            metadata:
   273              name: interconnects.interconnectedcloud.github.io
   274            spec:
   275              group: interconnectedcloud.github.io
   276              names:
   277                kind: Interconnect
   278                listKind: InterconnectList
   279                plural: interconnects
   280                singular: interconnect
   281              scope: Namespaced
   282              version: v1alpha1
   283              subresources:
   284                status: {}
   285              validation:
   286               # openAPIV3Schema is the schema for validating custom objects.
   287                openAPIV3Schema:
   288                  required:
   289                    - spec
   290                  properties:
   291                    spec:
   292                      properties:
   293                        deploymentPlan:
   294                          type: object
   295                          properties:
   296                            image:
   297                              type: string
   298                              description: The image used for the interconnect deployment
   299                            size:
   300                              type: integer
   301                              minimum: 1
   302                              maximum: 16
   303                              description: The number of interconnect pods to deploy
   304                            role:
   305                              description: The interconnect deployment role
   306                              type: string
   307                              enum:
   308                                - edge
   309                                - interior
   310                            placement:
   311                              description: The interconnect placement plan
   312                              type: string
   313                              enum:
   314                                - Any
   315                                - Every
   316                                - AntiAffinity
   317                                - Node
   318                            resources:
   319                              type: object
   320                              properties:
   321                                requests:
   322                                  type: object
   323                                  properties:
   324                                    cpu:
   325                                      type: string
   326                                    memory:
   327                                      type: string
   328                                limits:
   329                                  type: object
   330                                  properties:
   331                                    cpu:
   332                                      type: string
   333                                    memory:
   334                                      type: string
   335                            issuer:
   336                              type: string
   337                              description: The externally provided credentials
   338                            livenessPort:
   339                              type: integer
   340                              description: The liveness probe port number
   341                            serviceType:
   342                              type: string
   343                              description: The type of service to create
   344                        users:
   345                          type: string
   346                          description: The name of a secret holding user and password details
   347                        listeners:
   348                          type: array
   349                          description: Configuration of each individual interconnect listener
   350                          minItems: 1
   351                          items:
   352                            type: object
   353                            description: interconnect listener configuration
   354                            properties:
   355                              name:
   356                                type: string
   357                                description: Listener name
   358                              host:
   359                                type: string
   360                                description: Host name
   361                              port:
   362                                type: integer
   363                                description: Port number
   364                              routeContainer:
   365                                type: boolean
   366                                description: Indicator for a router-broker connection
   367                              http:
   368                                type: boolean
   369                                description: Accept HTTP connections
   370                              cost:
   371                                type: integer
   372                                description: Cost metric for inter router connections
   373                              linkCapacity:
   374                                type: integer
   375                                description: Capacity of links within a connection
   376                              sslProfile:
   377                                type: string
   378                                description: Name of the ssl profile to use
   379                              role:
   380                                type: boolean
   381                              expose:
   382                                type: boolean
   383                              authenticatePeer:
   384                                type: boolean
   385                                description: Require incoming connections to authenticate
   386                              saslMechanisms:
   387                                type: string
   388                                description: List of space separate SASL mechanisms to offer
   389                        autoLinks:
   390                          items:
   391                            properties:
   392                              address:
   393                                type: string
   394                              connection:
   395                                type: string
   396                              containerId:
   397                                type: string
   398                              direction:
   399                                type: string
   400                              externalAddress:
   401                                type: string
   402                              phase:
   403                                format: int32
   404                                type: integer
   405                              fallback:
   406                                type: boolean
   407                            required:
   408                              - address
   409                              - direction
   410                            type: object
   411                          type: array
   412                        connectors:
   413                          type: array
   414                          description: Configuration of each individual router connnector
   415                          items:
   416                            properties:
   417                              cost:
   418                                format: int32
   419                                type: integer
   420                              linkCapacity:
   421                                format: int32
   422                                type: integer
   423                              host:
   424                                type: string
   425                              name:
   426                                type: string
   427                              port:
   428                                format: int32
   429                                type: integer
   430                              routeContainer:
   431                                type: boolean
   432                              sslProfile:
   433                                type: string
   434                              verifyHostname:
   435                                type: boolean
   436                                description: Verify hostname of server when using TLS
   437                            required:
   438                              - host
   439                              - port
   440                            type: object
   441                          type: array
   442                        interRouterConnectors:
   443                          type: array
   444                          description: Configuration of each individual inter router connector
   445                          items:
   446                            properties:
   447                              cost:
   448                                format: int32
   449                                type: integer
   450                              linkCapacity:
   451                                format: int32
   452                                type: integer
   453                              host:
   454                                type: string
   455                              name:
   456                                type: string
   457                              port:
   458                                format: int32
   459                                type: integer
   460                              routeContainer:
   461                                type: boolean
   462                              sslProfile:
   463                                type: string
   464                              verifyHostname:
   465                                type: boolean
   466                                description: Verify hostname of server when using TLS
   467                            required:
   468                              - host
   469                              - port
   470                            type: object
   471                          type: array
   472                        edgeConnectors:
   473                          type: array
   474                          description: Configuration of each individual edge uplink connector
   475                          items:
   476                            properties:
   477                              cost:
   478                                format: int32
   479                                type: integer
   480                              linkCapacity:
   481                                format: int32
   482                                type: integer
   483                              host:
   484                                type: string
   485                              name:
   486                                type: string
   487                              port:
   488                                format: int32
   489                                type: integer
   490                              routeContainer:
   491                                type: boolean
   492                                description: Indicator for a router-broker connection
   493                              sslProfile:
   494                                type: string
   495                              verifyHostname:
   496                                type: boolean
   497                                description: Verify hostname of server when using TLS
   498                            required:
   499                              - host
   500                              - port
   501                            type: object
   502                          type: array
   503                        interRouterListeners:
   504                          type: array
   505                          description: Configuration of each individual inter router listener
   506                          items:
   507                            type: object
   508                            description: interconnect listener configuration
   509                            properties:
   510                              name:
   511                                type: string
   512                                description: Listener name
   513                              host:
   514                                type: string
   515                                description: Host name
   516                              port:
   517                                type: integer
   518                                description: Port number
   519                              routeContainer:
   520                                type: boolean
   521                                description: Indicator for a router-broker connection
   522                              http:
   523                                type: boolean
   524                                description: Accept HTTP connections
   525                              cost:
   526                                type: integer
   527                                description: Cost metric for inter router connections
   528                              linkCapacity:
   529                                type: integer
   530                                description: Capacity of links within a connection
   531                              sslProfile:
   532                                type: string
   533                                description: Name of the ssl profile to use
   534                              expose:
   535                                type: boolean
   536                              authenticatePeer:
   537                                type: boolean
   538                                description: Require incoming connections to authenticate
   539                              saslMechanisms:
   540                                type: string
   541                                description: List of space separate SASL mechanisms to offer
   542                        edgeListeners:
   543                          type: array
   544                          description: Configuration of each individual inter edge listener
   545                          items:
   546                            type: object
   547                            description: interconnect listener configuration
   548                            properties:
   549                              name:
   550                                type: string
   551                                description: Listener name
   552                              host:
   553                                type: string
   554                                description: Host name
   555                              port:
   556                                type: integer
   557                                description: Port number
   558                              routeContainer:
   559                                type: boolean
   560                                description: Indicator for a router-broker connection
   561                              http:
   562                                type: boolean
   563                                description: Accept HTTP connections
   564                              cost:
   565                                type: integer
   566                                description: Cost metric for inter router connections
   567                              linkCapacity:
   568                                type: integer
   569                                description: Capacity of links within a connection
   570                              sslProfile:
   571                                type: string
   572                                description: Name of the ssl profile to use
   573                              expose:
   574                                type: boolean
   575                              authenticatePeer:
   576                                type: boolean
   577                                description: Require incoming connections to authenticate
   578                              saslMechanisms:
   579                                type: string
   580                                description: List of space separate SASL mechanisms to offer
   581                        addresses:
   582                          type: array
   583                          description: Configuration of each address distribution and phasing
   584                          items:
   585                            type: object
   586                            description: address configuration
   587                            properties:
   588                              prefix:
   589                                type: string
   590                                description: The address prefix for the configured setting
   591                              pattern:
   592                                type: string
   593                                description: A wildcarded pattern for address matching
   594                              distribution:
   595                                type: string
   596                                description: Treatment of traffic associated with the address
   597                                enum:
   598                                  - balanced
   599                                  - closest
   600                                  - multicast
   601                              waypoint:
   602                                type: boolean
   603                                description: Indicator for waypoint use
   604                              ingressPhase:
   605                                type: integer
   606                                minimum: 0
   607                                maximum: 9
   608                                description: Ingress phase override for the address
   609                              egressPhase:
   610                                type: integer
   611                                minimum: 0
   612                                maximum: 9
   613                                description: Egress phase override for the address
   614                              priority:
   615                                type: integer
   616                                minimum: 0
   617                                maximum: 9
   618                                description: Priority assigned to address for inter router transfer
   619                              enableFallback:
   620                                type: boolean
   621                                description: Indicator for treatment of undeliverable messages
   622                        sslProfiles:
   623                          items:
   624                            properties:
   625                              caCert:
   626                                type: string
   627                              ciphers:
   628                                type: string
   629                              credentials:
   630                                type: string
   631                              generateCredentials:
   632                                type: boolean
   633                              generateCaCert:
   634                                type: boolean
   635                              name:
   636                                type: string
   637                              protocols:
   638                                type: string
   639                              mutualAuth:
   640                                type: boolean
   641                            type: object
   642                          type: array
   643                        linkRoutes:
   644                          items:
   645                            properties:
   646                              addExternalPrefix:
   647                                type: string
   648                              connection:
   649                                type: string
   650                              containerId:
   651                                type: string
   652                              direction:
   653                                type: string
   654                              pattern:
   655                                type: string
   656                              prefix:
   657                                type: string
   658                              delExternalPrefix:
   659                                type: string
   660                            type: object
   661                          type: array
   662                        issuer:
   663                          type: string
   664                      type: object
   665                    status:
   666                      type: object
   667                      required:
   668                      - pods
   669                      - conditions
   670                      properties:
   671                        revNumber:
   672                          type: string
   673                        pods:
   674                          items:
   675                            type: string
   676                          type: array
   677                        phase:
   678                          type: string
   679                        conditions:
   680                          description: Conditions keeps most recent interconnect conditions
   681                          items:
   682                            properties:
   683                              reason:
   684                                type: string
   685                              transitionTime:
   686                                format: date-time
   687                                type: object
   688                              type:
   689                                type: string
   690                            required:
   691                            - type
   692                            type: object
   693                          type: array
   694        packages: >
   695          - #! package-manifest: deploy/olm-catalog/qdr-operator/0.4.0/qdr-operator.v0.4.0.clusterserviceversion.yaml
   696            packageName: qdr-operator
   697            channels:
   698              - name: beta
   699                currentCSV: qdr-operator.v0.4.0
   700  
   701    - apiVersion: operators.coreos.com/v1alpha1
   702      kind: CatalogSource
   703      metadata:
   704        name: qdr-resources
   705        namespace: operator-lifecycle-manager
   706      spec:
   707        configMap: qdr-resources
   708        displayName: Qdr Operators
   709        publisher: Red Hat
   710        sourceType: internal
   711      status:
   712        configMapReference:
   713          name: qdr-resources
   714          namespace: operator-lifecycle-manager