--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.6.1 creationTimestamp: null name: clusters.anywhere.eks.amazonaws.com spec: group: anywhere.eks.amazonaws.com names: kind: Cluster listKind: ClusterList plural: clusters singular: cluster scope: Namespaced versions: - name: v1alpha1 schema: openAPIV3Schema: description: Cluster is the Schema for the clusters API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: description: ClusterSpec defines the desired state of Cluster. properties: bundlesRef: description: 'BundlesRef contains a reference to the Bundles containing the desired dependencies for the cluster. DEPRECATED: Use EksaVersion instead.' properties: apiVersion: description: APIVersion refers to the Bundles APIVersion type: string name: description: Name refers to the name of the Bundles object in the cluster type: string namespace: description: Namespace refers to the Bundles's namespace type: string required: - apiVersion - name - namespace type: object clusterNetwork: properties: cni: description: Deprecated. Use CNIConfig type: string cniConfig: description: CNIConfig specifies the CNI plugin to be installed in the cluster properties: cilium: properties: egressMasqueradeInterfaces: description: EgressMasquaradeInterfaces determines which network interfaces are used for masquerading. Accepted values are a valid interface name or interface prefix. type: string policyEnforcementMode: description: PolicyEnforcementMode determines communication allowed between pods. Accepted values are default, always, never. type: string skipUpgrade: description: SkipUpgrade indicicates that Cilium maintenance should be skipped during upgrades. This can be used when operators wish to self manage the Cilium installation. type: boolean type: object kindnetd: type: object type: object dns: properties: resolvConf: description: ResolvConf refers to the DNS resolver configuration properties: path: description: Path defines the path to the file that contains the DNS resolver configuration type: string type: object type: object nodes: properties: cidrMaskSize: description: CIDRMaskSize defines the mask size for node cidr in the cluster, default for ipv4 is 24. This is an optional field type: integer type: object pods: description: Comma-separated list of CIDR blocks to use for pod and service subnets. Defaults to 192.168.0.0/16 for pod subnet. properties: cidrBlocks: items: type: string type: array type: object services: properties: cidrBlocks: items: type: string type: array type: object type: object controlPlaneConfiguration: properties: count: description: Count defines the number of desired control plane nodes. Defaults to 1. type: integer endpoint: description: Endpoint defines the host ip and port to use for the control plane. properties: host: description: Host defines the ip that you want to use to connect to the control plane type: string required: - host type: object labels: additionalProperties: type: string description: Labels define the labels to assign to the node type: object machineGroupRef: description: MachineGroupRef defines the machine group configuration for the control plane. properties: kind: type: string name: type: string type: object skipLoadBalancerDeployment: description: SkipLoadBalancerDeployment skip deploying control plane load balancer. Make sure your infrastructure can handle control plane load balancing when you set this field to true. type: boolean taints: description: Taints define the set of taints to be applied on control plane nodes items: description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: description: Required. The taint key to be applied to a node. type: string timeAdded: description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: description: The taint value corresponding to the taint key. type: string required: - effect - key type: object type: array upgradeRolloutStrategy: description: UpgradeRolloutStrategy determines the rollout strategy to use for rolling upgrades and related parameters/knobs properties: rollingUpdate: description: ControlPlaneRollingUpdateParams is API for rolling update strategy knobs. properties: maxSurge: type: integer required: - maxSurge type: object type: type: string type: object type: object datacenterRef: properties: kind: type: string name: type: string type: object eksaVersion: description: EksaVersion is the semver identifying the release of eks-a used to populate the cluster components. type: string externalEtcdConfiguration: description: ExternalEtcdConfiguration defines the configuration options for using unstacked etcd topology. properties: count: type: integer machineGroupRef: description: MachineGroupRef defines the machine group configuration for the etcd machines. properties: kind: type: string name: type: string type: object type: object gitOpsRef: properties: kind: type: string name: type: string type: object identityProviderRefs: items: properties: kind: type: string name: type: string type: object type: array kubernetesVersion: type: string machineHealthCheck: description: MachineHealthCheck allows to configure timeouts for machine health checks. Machine Health Checks are responsible for remediating unhealthy Machines. Configuring these values will decide how long to wait to remediate unhealthy machine or determine health of nodes' machines. properties: nodeStartupTimeout: description: NodeStartupTimeout is used to configure the node startup timeout in machine health checks. It determines how long a MachineHealthCheck should wait for a Node to join the cluster, before considering a Machine unhealthy. If not configured, the default value is set to "10m0s" (10 minutes) for all providers. For Tinkerbell provider the default is "20m0s". type: string unhealthyMachineTimeout: description: UnhealthyMachineTimeout is used to configure the unhealthy machine timeout in machine health checks. If any unhealthy conditions are met for the amount of time specified as the timeout, the machines are considered unhealthy. If not configured, the default value is set to "5m0s" (5 minutes). type: string type: object managementCluster: properties: name: type: string type: object packages: description: PackageConfiguration for installing EKS Anywhere curated packages. properties: controller: description: Controller package controller configuration properties: digest: description: Digest package controller digest type: string disableWebhooks: description: DisableWebhooks on package controller type: boolean env: description: Env of package controller in the format `key=value` items: type: string type: array repository: description: Repository package controller repository type: string resources: description: Resources of package controller properties: limits: description: ImageResource resources for container image. properties: cpu: description: CPU image cpu type: string memory: description: Memory image memory type: string type: object requests: description: Requests for image resources properties: cpu: description: CPU image cpu type: string memory: description: Memory image memory type: string type: object type: object tag: description: Tag package controller tag type: string type: object cronjob: description: Cronjob for ecr token refresher properties: digest: description: Digest ecr token refresher digest type: string disable: description: Disable on cron job type: boolean repository: description: Repository ecr token refresher repository type: string tag: description: Tag ecr token refresher tag type: string type: object disable: description: Disable package controller on cluster type: boolean type: object podIamConfig: properties: serviceAccountIssuer: type: string required: - serviceAccountIssuer type: object proxyConfiguration: properties: httpProxy: type: string httpsProxy: type: string noProxy: items: type: string type: array type: object registryMirrorConfiguration: description: RegistryMirrorConfiguration defines the settings for image registry mirror. properties: authenticate: description: Authenticate defines if registry requires authentication type: boolean caCertContent: description: CACertContent defines the contents registry mirror CA certificate type: string endpoint: description: Endpoint defines the registry mirror endpoint to use for pulling images type: string insecureSkipVerify: description: InsecureSkipVerify skips the registry certificate verification. Only use this solution for isolated testing or in a tightly controlled, air-gapped environment. type: boolean ociNamespaces: description: OCINamespaces defines the mapping from an upstream registry to a local namespace where upstream artifacts are placed into items: description: OCINamespace represents an entity in a local reigstry to group related images. properties: namespace: description: Namespace refers to the name of a namespace in the local registry type: string registry: description: Name refers to the name of the upstream registry type: string required: - namespace - registry type: object type: array port: description: Port defines the port exposed for registry mirror endpoint type: string type: object workerNodeGroupConfigurations: items: properties: autoscalingConfiguration: description: AutoScalingConfiguration defines the auto scaling configuration properties: maxCount: description: MaxCount defines the maximum number of nodes for the associated resource group. type: integer minCount: description: MinCount defines the minimum number of nodes for the associated resource group. type: integer type: object count: description: Count defines the number of desired worker nodes. Defaults to 1. type: integer kubernetesVersion: description: KuberenetesVersion defines the version for worker nodes. If not set, the top level spec kubernetesVersion will be used. type: string labels: additionalProperties: type: string description: Labels define the labels to assign to the node type: object machineGroupRef: description: MachineGroupRef defines the machine group configuration for the worker nodes. properties: kind: type: string name: type: string type: object name: description: Name refers to the name of the worker node group type: string taints: description: Taints define the set of taints to be applied on worker nodes items: description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: description: Required. The taint key to be applied to a node. type: string timeAdded: description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: description: The taint value corresponding to the taint key. type: string required: - effect - key type: object type: array upgradeRolloutStrategy: description: UpgradeRolloutStrategy determines the rollout strategy to use for rolling upgrades and related parameters/knobs properties: rollingUpdate: description: WorkerNodesRollingUpdateParams is API for rolling update strategy knobs. properties: maxSurge: type: integer maxUnavailable: type: integer required: - maxSurge - maxUnavailable type: object type: type: string type: object type: object type: array type: object status: description: ClusterStatus defines the observed state of Cluster. properties: childrenReconciledGeneration: description: 'ChildrenReconciledGeneration represents the sum of the .metadata.generation for all the linked objects for the cluster, observed the last time the cluster was successfully reconciled. NOTE: This field was added for internal use and we do not provide guarantees to its behavior if changed externally. Its meaning and implementation are subject to change in the future.' format: int64 type: integer conditions: items: description: Condition defines an observation of a Cluster API resource operational state. properties: lastTransitionTime: description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: description: A human readable message indicating details about the transition. This field may be empty. type: string reason: description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime - status - type type: object type: array eksdReleaseRef: description: EksdReleaseRef defines the properties of the EKS-D object on the cluster properties: apiVersion: description: ApiVersion refers to the EKS-D API version type: string kind: description: Kind refers to the Release kind for the EKS-D object type: string name: description: Name refers to the name of the EKS-D object on the cluster type: string namespace: description: Namespace refers to the namespace for the EKS-D release resources type: string required: - apiVersion - kind - name - namespace type: object failureMessage: description: Descriptive message about a fatal problem while reconciling a cluster type: string failureReason: description: Machine readable value about a terminal problem while reconciling the cluster set at the same time as failureMessage type: string observedGeneration: description: ObservedGeneration is the latest generation observed by the controller. format: int64 type: integer reconciledGeneration: description: 'ReconciledGeneration represents the .metadata.generation the last time the cluster was successfully reconciled. It is the latest generation observed by the controller. NOTE: This field was added for internal use and we do not provide guarantees to its behavior if changed externally. Its meaning and implementation are subject to change in the future.' format: int64 type: integer type: object type: object served: true storage: true subresources: status: {} status: acceptedNames: kind: "" plural: "" conditions: [] storedVersions: []