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