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