github.com/interconnectedcloud/qdr-operator@v0.0.0-20210826174505-576d2b33dac7/deploy/crds/interconnectedcloud_v1alpha1_interconnect_crd.yaml (about)

     1  apiVersion: apiextensions.k8s.io/v1
     2  kind: CustomResourceDefinition
     3  metadata:
     4    name: interconnects.interconnectedcloud.github.io
     5  spec:
     6    group: interconnectedcloud.github.io
     7    names:
     8      kind: Interconnect
     9      listKind: InterconnectList
    10      plural: interconnects
    11      singular: interconnect
    12    scope: Namespaced
    13    versions:
    14      - name: v1alpha1
    15        served: true
    16        storage: true
    17        subresources:
    18          status: {}
    19        schema:
    20          # openAPIV3Schema is the schema for validating custom objects.
    21          openAPIV3Schema:
    22            type: object
    23            required:
    24              - spec
    25            properties:
    26              spec:
    27                properties:
    28                  deploymentPlan:
    29                    type: object
    30                    properties:
    31                      image:
    32                        type: string
    33                        description: The image used for the interconnect deployment
    34                      size:
    35                        type: integer
    36                        minimum: 1
    37                        maximum: 16
    38                        description: The number of interconnect pods to deploy
    39                      role:
    40                        description: The interconnect deployment role
    41                        type: string
    42                        enum:
    43                          - edge
    44                          - interior
    45                      placement:
    46                        description: The interconnect placement plan
    47                        type: string
    48                        enum:
    49                          - Any
    50                          - Every
    51                          - AntiAffinity
    52                          - Node
    53                      resources:
    54                        type: object
    55                        properties:
    56                          requests:
    57                            type: object
    58                            properties:
    59                              cpu:
    60                                type: string
    61                              memory:
    62                                type: string
    63                          limits:
    64                            type: object
    65                            properties:
    66                              cpu:
    67                                type: string
    68                              memory:
    69                                type: string
    70                      issuer:
    71                        type: string
    72                        description: The externally provided credentials
    73                      livenessPort:
    74                        type: integer
    75                        description: The liveness probe port number
    76                      serviceType:
    77                        type: string
    78                        description: The type of service to create
    79                  users:
    80                    type: string
    81                    description: The name of a secret holding user and password details
    82                  listeners:
    83                    type: array
    84                    description: Configuration of each individual interconnect listener
    85                    minItems: 1
    86                    items:
    87                      type: object
    88                      description: interconnect listener configuration
    89                      properties:
    90                        name:
    91                          type: string
    92                          description: Listener name
    93                        host:
    94                          type: string
    95                          description: Host name
    96                        port:
    97                          type: integer
    98                          description: Port number
    99                        routeContainer:
   100                          type: boolean
   101                          description: Indicator for a router-broker connection
   102                        http:
   103                          type: boolean
   104                          description: Accept HTTP connections
   105                        cost:
   106                          type: integer
   107                          description: Cost metric for inter router connections
   108                        linkCapacity:
   109                          type: integer
   110                          description: Capacity of links within a connection
   111                        sslProfile:
   112                          type: string
   113                          description: Name of the ssl profile to use
   114                        role:
   115                          type: boolean
   116                        expose:
   117                          type: boolean
   118                        authenticatePeer:
   119                          type: boolean
   120                          description: Require incoming connections to authenticate
   121                        saslMechanisms:
   122                          type: string
   123                          description: List of space separate SASL mechanisms to offer
   124                  autoLinks:
   125                    items:
   126                      properties:
   127                        address:
   128                          type: string
   129                        connection:
   130                          type: string
   131                        containerId:
   132                          type: string
   133                        direction:
   134                          type: string
   135                        externalAddress:
   136                          type: string
   137                        phase:
   138                          format: int32
   139                          type: integer
   140                        fallback:
   141                          type: boolean
   142                      required:
   143                        - address
   144                        - direction
   145                      type: object
   146                    type: array
   147                  connectors:
   148                    type: array
   149                    description: Configuration of each individual router connnector
   150                    items:
   151                      properties:
   152                        cost:
   153                          format: int32
   154                          type: integer
   155                        linkCapacity:
   156                          format: int32
   157                          type: integer
   158                        host:
   159                          type: string
   160                        name:
   161                          type: string
   162                        port:
   163                          format: int32
   164                          type: integer
   165                        routeContainer:
   166                          type: boolean
   167                        sslProfile:
   168                          type: string
   169                        verifyHostname:
   170                          type: boolean
   171                          description: Verify hostname of server when using TLS
   172                      required:
   173                        - host
   174                        - port
   175                      type: object
   176                  interRouterConnectors:
   177                    type: array
   178                    description: Configuration of each individual inter router connector
   179                    items:
   180                      properties:
   181                        cost:
   182                          format: int32
   183                          type: integer
   184                        linkCapacity:
   185                          format: int32
   186                          type: integer
   187                        host:
   188                          type: string
   189                        name:
   190                          type: string
   191                        port:
   192                          format: int32
   193                          type: integer
   194                        routeContainer:
   195                          type: boolean
   196                        sslProfile:
   197                          type: string
   198                        verifyHostname:
   199                          type: boolean
   200                          description: Verify hostname of server when using TLS
   201                      required:
   202                        - host
   203                        - port
   204                      type: object
   205                  edgeConnectors:
   206                    type: array
   207                    description: Configuration of each individual edge uplink connector
   208                    items:
   209                      properties:
   210                        cost:
   211                          format: int32
   212                          type: integer
   213                        linkCapacity:
   214                          format: int32
   215                          type: integer
   216                        host:
   217                          type: string
   218                        name:
   219                          type: string
   220                        port:
   221                          format: int32
   222                          type: integer
   223                        routeContainer:
   224                          type: boolean
   225                          description: Indicator for a router-broker connection
   226                        sslProfile:
   227                          type: string
   228                        verifyHostname:
   229                          type: boolean
   230                          description: Verify hostname of server when using TLS
   231                      required:
   232                        - host
   233                        - port
   234                      type: object
   235                  interRouterListeners:
   236                    type: array
   237                    description: Configuration of each individual inter router listener
   238                    items:
   239                      type: object
   240                      description: interconnect listener configuration
   241                      properties:
   242                        name:
   243                          type: string
   244                          description: Listener name
   245                        host:
   246                          type: string
   247                          description: Host name
   248                        port:
   249                          type: integer
   250                          description: Port number
   251                        routeContainer:
   252                          type: boolean
   253                          description: Indicator for a router-broker connection
   254                        http:
   255                          type: boolean
   256                          description: Accept HTTP connections
   257                        cost:
   258                          type: integer
   259                          description: Cost metric for inter router connections
   260                        linkCapacity:
   261                          type: integer
   262                          description: Capacity of links within a connection
   263                        sslProfile:
   264                          type: string
   265                          description: Name of the ssl profile to use
   266                        expose:
   267                          type: boolean
   268                        authenticatePeer:
   269                          type: boolean
   270                          description: Require incoming connections to authenticate
   271                        saslMechanisms:
   272                          type: string
   273                          description: List of space separate SASL mechanisms to offer
   274                  edgeListeners:
   275                    type: array
   276                    description: Configuration of each individual inter edge listener
   277                    items:
   278                      type: object
   279                      description: interconnect listener configuration
   280                      properties:
   281                        name:
   282                          type: string
   283                          description: Listener name
   284                        host:
   285                          type: string
   286                          description: Host name
   287                        port:
   288                          type: integer
   289                          description: Port number
   290                        routeContainer:
   291                          type: boolean
   292                          description: Indicator for a router-broker connection
   293                        http:
   294                          type: boolean
   295                          description: Accept HTTP connections
   296                        cost:
   297                          type: integer
   298                          description: Cost metric for inter router connections
   299                        linkCapacity:
   300                          type: integer
   301                          description: Capacity of links within a connection
   302                        sslProfile:
   303                          type: string
   304                          description: Name of the ssl profile to use
   305                        expose:
   306                          type: boolean
   307                        authenticatePeer:
   308                          type: boolean
   309                          description: Require incoming connections to authenticate
   310                        saslMechanisms:
   311                          type: string
   312                          description: List of space separate SASL mechanisms to offer
   313                  addresses:
   314                    type: array
   315                    description: Configuration of each address distribution and phasing
   316                    items:
   317                      type: object
   318                      description: address configuration
   319                      properties:
   320                        prefix:
   321                          type: string
   322                          description: The address prefix for the configured setting
   323                        pattern:
   324                          type: string
   325                          description: A wildcarded pattern for address matching
   326                        distribution:
   327                          type: string
   328                          description: Treatment of traffic associated with the address
   329                          enum:
   330                            - balanced
   331                            - closest
   332                            - multicast
   333                        waypoint:
   334                          type: boolean
   335                          description: Indicator for waypoint use
   336                        ingressPhase:
   337                          type: integer
   338                          minimum: 0
   339                          maximum: 9
   340                          description: Ingress phase override for the address
   341                        egressPhase:
   342                          type: integer
   343                          minimum: 0
   344                          maximum: 9
   345                          description: Egress phase override for the address
   346                        priority:
   347                          type: integer
   348                          minimum: 0
   349                          maximum: 9
   350                          description: Priority assigned to address for inter router transfer
   351                        enableFallback:
   352                          type: boolean
   353                          description: Indicator for treatment of undeliverable messages
   354                  sslProfiles:
   355                    items:
   356                      properties:
   357                        caCert:
   358                          type: string
   359                        ciphers:
   360                          type: string
   361                        credentials:
   362                          type: string
   363                        generateCredentials:
   364                          type: boolean
   365                        generateCaCert:
   366                          type: boolean
   367                        name:
   368                          type: string
   369                        protocols:
   370                          type: string
   371                        mutualAuth:
   372                          type: boolean
   373                      type: object
   374                    type: array
   375                  linkRoutes:
   376                    items:
   377                      properties:
   378                        addExternalPrefix:
   379                          type: string
   380                        connection:
   381                          type: string
   382                        containerId:
   383                          type: string
   384                        direction:
   385                          type: string
   386                        pattern:
   387                          type: string
   388                        prefix:
   389                          type: string
   390                        delExternalPrefix:
   391                          type: string
   392                      type: object
   393                    type: array
   394                  issuer:
   395                    type: string
   396                type: object
   397              status:
   398                type: object
   399                required:
   400                - pods
   401                - conditions
   402                properties:
   403                  revNumber:
   404                    type: string
   405                  pods:
   406                    items:
   407                      type: string
   408                    type: array
   409                  phase:
   410                    type: string
   411                  conditions:
   412                    description: Conditions keeps most recent interconnect conditions
   413                    items:
   414                      properties:
   415                        reason:
   416                          type: string
   417                        transitionTime:
   418                          format: date-time
   419                          type: object
   420                        type:
   421                          type: string
   422                      required:
   423                      - type
   424                      type: object
   425                    type: array