github.com/giantswarm/apiextensions/v2@v2.6.2/config/crd/v1beta1/provider.giantswarm.io_awsconfigs.yaml (about) 1 2 --- 3 apiVersion: apiextensions.k8s.io/v1beta1 4 kind: CustomResourceDefinition 5 metadata: 6 annotations: 7 controller-gen.kubebuilder.io/version: v0.2.4 8 creationTimestamp: null 9 name: awsconfigs.provider.giantswarm.io 10 spec: 11 group: provider.giantswarm.io 12 names: 13 categories: 14 - aws 15 - giantswarm 16 kind: AWSConfig 17 listKind: AWSConfigList 18 plural: awsconfigs 19 singular: awsconfig 20 scope: Namespaced 21 subresources: 22 status: {} 23 validation: 24 openAPIV3Schema: 25 description: AWSConfig used to represent tenant cluster configuration in earlier 26 releases. Deprecated. 27 properties: 28 apiVersion: 29 description: 'APIVersion defines the versioned schema of this representation 30 of an object. Servers should convert recognized schemas to the latest 31 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 32 type: string 33 kind: 34 description: 'Kind is a string value representing the REST resource this 35 object represents. Servers may infer this from the endpoint the client 36 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 37 type: string 38 metadata: 39 type: object 40 spec: 41 properties: 42 aws: 43 properties: 44 api: 45 description: AWSConfigSpecAWSAPI deprecated since aws-operator v12 46 resources. 47 properties: 48 elb: 49 description: AWSConfigSpecAWSAPIELB deprecated since aws-operator 50 v12 resources. 51 properties: 52 idleTimeoutSeconds: 53 type: integer 54 required: 55 - idleTimeoutSeconds 56 type: object 57 hostedZones: 58 type: string 59 required: 60 - elb 61 - hostedZones 62 type: object 63 availabilityZones: 64 description: "AvailabilityZones is the number of AWS availability 65 zones used to spread the tenant cluster's worker nodes across. 66 There are limitations on availability zone settings due to binary 67 IP range splitting and provider specific region capabilities. 68 When for instance choosing 3 availability zones, the configured 69 IP range will be split into 4 ranges and thus one of it will not 70 be able to be utilized. Such limitations have to be considered 71 when designing the network topology and configuring tenant cluster 72 HA via AvailabilityZones. \n The selection and usage of the actual 73 availability zones for the created tenant cluster is randomized. 74 In case there are 4 availability zones provided in the used region 75 and the user selects 2 availability zones, the actually used availability 76 zones in which tenant cluster workload is put into will tend to 77 be different across tenant cluster creations. This is done in 78 order to provide more HA during single availability zone failures. 79 In case a specific availability zone fails, not all tenant clusters 80 will be affected due to the described selection process." 81 type: integer 82 az: 83 description: "TODO remove the deprecated AZ field due to AvailabilityZones. 84 \n https://github.com/giantswarm/giantswarm/issues/4507" 85 type: string 86 credentialSecret: 87 properties: 88 name: 89 type: string 90 namespace: 91 type: string 92 required: 93 - name 94 - namespace 95 type: object 96 etcd: 97 description: AWSConfigSpecAWSEtcd deprecated since aws-operator 98 v12 resources. 99 properties: 100 elb: 101 description: AWSConfigSpecAWSEtcdELB deprecated since aws-operator 102 v12 resources. 103 properties: 104 idleTimeoutSeconds: 105 type: integer 106 required: 107 - idleTimeoutSeconds 108 type: object 109 hostedZones: 110 type: string 111 required: 112 - elb 113 - hostedZones 114 type: object 115 hostedZones: 116 description: "HostedZones is AWS hosted zones names in the host 117 cluster account. For each zone there will be \"CLUSTER_ID.k8s\" 118 NS record created in the host cluster account. Then for each created 119 NS record there will be a zone created in the guest account. After 120 that component specific records under those zones: \t- api.CLUSTER_ID.k8s.{{ 121 .Spec.AWS.HostedZones.API.Name }} \t- etcd.CLUSTER_ID.k8s.{{ .Spec.AWS.HostedZones.Etcd.Name 122 }} \t- ingress.CLUSTER_ID.k8s.{{ .Spec.AWS.HostedZones.Ingress.Name 123 }} \t- *.CLUSTER_ID.k8s.{{ .Spec.AWS.HostedZones.Ingress.Name 124 }}" 125 properties: 126 api: 127 properties: 128 name: 129 type: string 130 required: 131 - name 132 type: object 133 etcd: 134 properties: 135 name: 136 type: string 137 required: 138 - name 139 type: object 140 ingress: 141 properties: 142 name: 143 type: string 144 required: 145 - name 146 type: object 147 required: 148 - api 149 - etcd 150 - ingress 151 type: object 152 ingress: 153 description: AWSConfigSpecAWSIngress deprecated since aws-operator 154 v12 resources. 155 properties: 156 elb: 157 description: AWSConfigSpecAWSIngressELB deprecated since aws-operator 158 v12 resources. 159 properties: 160 idleTimeoutSeconds: 161 type: integer 162 required: 163 - idleTimeoutSeconds 164 type: object 165 hostedZones: 166 type: string 167 required: 168 - elb 169 - hostedZones 170 type: object 171 masters: 172 items: 173 properties: 174 dockerVolumeSizeGB: 175 type: integer 176 imageID: 177 type: string 178 instanceType: 179 type: string 180 required: 181 - dockerVolumeSizeGB 182 - imageID 183 - instanceType 184 type: object 185 type: array 186 region: 187 type: string 188 vpc: 189 properties: 190 cidr: 191 type: string 192 peerId: 193 type: string 194 privateSubnetCidr: 195 type: string 196 publicSubnetCidr: 197 type: string 198 routeTableNames: 199 items: 200 type: string 201 type: array 202 required: 203 - cidr 204 - peerId 205 - privateSubnetCidr 206 - publicSubnetCidr 207 - routeTableNames 208 type: object 209 workers: 210 items: 211 properties: 212 dockerVolumeSizeGB: 213 type: integer 214 imageID: 215 type: string 216 instanceType: 217 type: string 218 required: 219 - dockerVolumeSizeGB 220 - imageID 221 - instanceType 222 type: object 223 type: array 224 required: 225 - api 226 - availabilityZones 227 - az 228 - credentialSecret 229 - etcd 230 - hostedZones 231 - ingress 232 - masters 233 - region 234 - vpc 235 - workers 236 type: object 237 cluster: 238 properties: 239 calico: 240 properties: 241 cidr: 242 type: integer 243 mtu: 244 type: integer 245 subnet: 246 type: string 247 required: 248 - cidr 249 - mtu 250 - subnet 251 type: object 252 customer: 253 properties: 254 id: 255 type: string 256 required: 257 - id 258 type: object 259 docker: 260 properties: 261 daemon: 262 properties: 263 cidr: 264 type: string 265 required: 266 - cidr 267 type: object 268 required: 269 - daemon 270 type: object 271 etcd: 272 properties: 273 altNames: 274 type: string 275 domain: 276 type: string 277 port: 278 type: integer 279 prefix: 280 type: string 281 required: 282 - altNames 283 - domain 284 - port 285 - prefix 286 type: object 287 id: 288 type: string 289 kubernetes: 290 properties: 291 api: 292 properties: 293 clusterIPRange: 294 type: string 295 domain: 296 type: string 297 securePort: 298 type: integer 299 required: 300 - clusterIPRange 301 - domain 302 - securePort 303 type: object 304 cloudProvider: 305 type: string 306 dns: 307 properties: 308 ip: 309 type: string 310 required: 311 - ip 312 type: object 313 domain: 314 type: string 315 ingressController: 316 properties: 317 docker: 318 properties: 319 image: 320 type: string 321 required: 322 - image 323 type: object 324 domain: 325 type: string 326 insecurePort: 327 type: integer 328 securePort: 329 type: integer 330 wildcardDomain: 331 type: string 332 required: 333 - docker 334 - domain 335 - insecurePort 336 - securePort 337 - wildcardDomain 338 type: object 339 kubelet: 340 properties: 341 altNames: 342 type: string 343 domain: 344 type: string 345 labels: 346 type: string 347 port: 348 type: integer 349 required: 350 - altNames 351 - domain 352 - labels 353 - port 354 type: object 355 networkSetup: 356 properties: 357 docker: 358 properties: 359 image: 360 type: string 361 required: 362 - image 363 type: object 364 kubeProxy: 365 description: ClusterKubernetesNetworkSetupKubeProxy describes 366 values passed to the kube-proxy running in a tenant cluster. 367 properties: 368 conntrackMaxPerCore: 369 description: Maximum number of NAT connections to track 370 per CPU core (0 to leave the limit as-is and ignore 371 conntrack-min). Passed to kube-proxy as --conntrack-max-per-core. 372 type: integer 373 required: 374 - conntrackMaxPerCore 375 type: object 376 required: 377 - docker 378 - kubeProxy 379 type: object 380 ssh: 381 properties: 382 userList: 383 items: 384 properties: 385 name: 386 type: string 387 publicKey: 388 type: string 389 required: 390 - name 391 - publicKey 392 type: object 393 type: array 394 required: 395 - userList 396 type: object 397 required: 398 - api 399 - cloudProvider 400 - dns 401 - domain 402 - ingressController 403 - kubelet 404 - networkSetup 405 - ssh 406 type: object 407 masters: 408 items: 409 properties: 410 id: 411 type: string 412 required: 413 - id 414 type: object 415 type: array 416 scaling: 417 properties: 418 max: 419 description: Max defines maximum number of worker nodes guest 420 cluster is allowed to have. 421 type: integer 422 min: 423 description: Min defines minimum number of worker nodes required 424 to be present in guest cluster. 425 type: integer 426 required: 427 - max 428 - min 429 type: object 430 version: 431 description: Version is DEPRECATED and should just be dropped. 432 type: string 433 workers: 434 items: 435 properties: 436 id: 437 type: string 438 required: 439 - id 440 type: object 441 type: array 442 required: 443 - calico 444 - customer 445 - docker 446 - etcd 447 - id 448 - kubernetes 449 - masters 450 - scaling 451 - version 452 type: object 453 versionBundle: 454 properties: 455 version: 456 type: string 457 required: 458 - version 459 type: object 460 required: 461 - aws 462 - cluster 463 - versionBundle 464 type: object 465 status: 466 properties: 467 aws: 468 properties: 469 autoScalingGroup: 470 properties: 471 name: 472 type: string 473 required: 474 - name 475 type: object 476 availabilityZones: 477 items: 478 properties: 479 name: 480 type: string 481 subnet: 482 properties: 483 private: 484 properties: 485 cidr: 486 type: string 487 required: 488 - cidr 489 type: object 490 public: 491 properties: 492 cidr: 493 type: string 494 required: 495 - cidr 496 type: object 497 required: 498 - private 499 - public 500 type: object 501 required: 502 - name 503 - subnet 504 type: object 505 type: array 506 required: 507 - autoScalingGroup 508 - availabilityZones 509 type: object 510 cluster: 511 properties: 512 conditions: 513 description: Conditions is a list of status information expressing 514 the current conditional state of a guest cluster. This may reflect 515 the status of the guest cluster being updating or being up to 516 date. 517 items: 518 description: StatusClusterCondition expresses the conditions in 519 which a guest cluster may is. 520 properties: 521 lastTransitionTime: 522 description: LastTransitionTime is the last time the condition 523 transitioned from one status to another. 524 format: date-time 525 nullable: true 526 type: string 527 status: 528 description: Status may be True, False or Unknown. 529 type: string 530 type: 531 description: Type may be Creating, Created, Scaling, Scaled, 532 Draining, Drained, Updating, Updated, Deleting, Deleted. 533 type: string 534 type: object 535 nullable: true 536 type: array 537 network: 538 description: StatusClusterNetwork expresses the network segment 539 that is allocated for a guest cluster. 540 nullable: true 541 properties: 542 cidr: 543 type: string 544 type: object 545 nodes: 546 description: Nodes is a list of guest cluster node information reflecting 547 the current state of the guest cluster nodes. 548 items: 549 description: StatusClusterNode holds information about a guest 550 cluster node. 551 properties: 552 labels: 553 additionalProperties: 554 type: string 555 description: Labels contains the kubernetes labels for corresponding 556 node. 557 nullable: true 558 type: object 559 lastTransitionTime: 560 description: LastTransitionTime is the last time the condition 561 transitioned from one status to another. 562 format: date-time 563 nullable: true 564 type: string 565 name: 566 description: Name referrs to a tenant cluster node name. 567 type: string 568 version: 569 description: Version referrs to the version used by the node 570 as mandated by the provider operator. 571 type: string 572 type: object 573 nullable: true 574 type: array 575 resources: 576 description: Resources is a list of arbitrary conditions of operatorkit 577 resource implementations. 578 items: 579 description: Resource is structure holding arbitrary conditions 580 of operatorkit resource implementations. Imagine an operator 581 implements an instance resource. This resource may operates 582 sequentially but has to operate based on a certain system state 583 it manages. So it tracks the status as needed here specific 584 to its own implementation and means in order to fulfil its premise. 585 properties: 586 conditions: 587 items: 588 description: StatusClusterResourceCondition expresses the 589 conditions in which an operatorkit resource may is. 590 properties: 591 lastTransitionTime: 592 description: LastTransitionTime is the last time the 593 condition transitioned from one status to another. 594 format: date-time 595 nullable: true 596 type: string 597 status: 598 description: Status may be True, False or Unknown. 599 type: string 600 type: 601 description: Type may be anything an operatorkit resource 602 may define. 603 type: string 604 type: object 605 nullable: true 606 type: array 607 name: 608 type: string 609 type: object 610 nullable: true 611 type: array 612 scaling: 613 description: StatusClusterScaling expresses the current status of 614 desired number of worker nodes in guest cluster. 615 nullable: true 616 properties: 617 desiredCapacity: 618 type: integer 619 type: object 620 versions: 621 description: Versions is a list that acts like a historical track 622 record of versions a guest cluster went through. A version is 623 only added to the list as soon as the guest cluster successfully 624 migrated to the version added here. 625 items: 626 description: StatusClusterVersion expresses the versions in which 627 a guest cluster was and may still be. 628 properties: 629 date: 630 description: "TODO date is deprecated due to LastTransitionTime 631 This can be removed ones the new properties are properly 632 used in all tenant clusters. \n https://github.com/giantswarm/giantswarm/issues/3988" 633 format: date-time 634 nullable: true 635 type: string 636 lastTransitionTime: 637 description: LastTransitionTime is the last time the condition 638 transitioned from one status to another. 639 format: date-time 640 nullable: true 641 type: string 642 semver: 643 description: Semver is some semver version, e.g. 1.0.0. 644 type: string 645 type: object 646 nullable: true 647 type: array 648 type: object 649 required: 650 - aws 651 - cluster 652 type: object 653 required: 654 - metadata 655 - spec 656 type: object 657 version: v1alpha1 658 versions: 659 - name: v1alpha1 660 served: true 661 storage: true 662 status: 663 acceptedNames: 664 kind: "" 665 plural: "" 666 conditions: [] 667 storedVersions: []