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: []