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