Skip to content

Commit

Permalink
Add scaffolding for EKS-A in-place upgrade APIs (#7054)
Browse files Browse the repository at this point in the history
  • Loading branch information
abhinavmpandey08 authored Nov 15, 2023
1 parent d1cbcad commit 25bf901
Show file tree
Hide file tree
Showing 14 changed files with 1,424 additions and 6 deletions.
107 changes: 107 additions & 0 deletions config/crd/bases/anywhere.eks.amazonaws.com_controlplaneupgrades.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.6.1
creationTimestamp: null
name: controlplaneupgrades.anywhere.eks.amazonaws.com
spec:
group: anywhere.eks.amazonaws.com
names:
kind: ControlPlaneUpgrade
listKind: ControlPlaneUpgradeList
plural: controlplaneupgrades
singular: controlplaneupgrade
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: ControlPlaneUpgrade is the Schema for the controlplaneupgrade
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: ControlPlaneUpgradeSpec defines the desired state of ControlPlaneUpgrade.
properties:
cluster:
properties:
kind:
type: string
name:
type: string
type: object
controlPlane:
properties:
kind:
type: string
name:
type: string
type: object
coreDNSVersion:
type: string
etcdVersion:
type: string
kubeadmClusterConfig:
type: string
kubeletVersion:
type: string
kubernetesVersion:
type: string
machinesRequireUpgrade:
items:
properties:
kind:
type: string
name:
type: string
type: object
type: array
required:
- cluster
- controlPlane
- kubeadmClusterConfig
- kubeletVersion
- kubernetesVersion
- machinesRequireUpgrade
type: object
status:
description: ControlPlaneUpgradeStatus defines the observed state of ControlPlaneUpgrade.
properties:
ready:
type: boolean
requireUpgrade:
format: int64
type: integer
upgraded:
format: int64
type: integer
required:
- ready
- requireUpgrade
- upgraded
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.6.1
creationTimestamp: null
name: machinedeploymentupgrades.anywhere.eks.amazonaws.com
spec:
group: anywhere.eks.amazonaws.com
names:
kind: MachineDeploymentUpgrade
listKind: MachineDeploymentUpgradeList
plural: machinedeploymentupgrades
singular: machinedeploymentupgrade
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: MachineDeploymentUpgrade is the Schema for the machinedeploymentupgrades
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: MachineDeploymentUpgradeSpec defines the desired state of
MachineDeploymentUpgrade.
properties:
cluster:
properties:
kind:
type: string
name:
type: string
type: object
controlPlane:
properties:
kind:
type: string
name:
type: string
type: object
kubeadmClusterConfig:
type: string
kubeletVersion:
type: string
kubernetesVersion:
type: string
machinesRequireUpgrade:
items:
properties:
kind:
type: string
name:
type: string
type: object
type: array
required:
- cluster
- controlPlane
- kubeadmClusterConfig
- kubeletVersion
- kubernetesVersion
- machinesRequireUpgrade
type: object
status:
description: MachineDeploymentUpgradeStatus defines the observed state
of MachineDeploymentUpgrade.
properties:
ready:
type: boolean
requireUpgrade:
format: int64
type: integer
upgraded:
format: int64
type: integer
required:
- ready
- requireUpgrade
- upgraded
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
134 changes: 134 additions & 0 deletions config/crd/bases/anywhere.eks.amazonaws.com_nodeupgrades.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.6.1
creationTimestamp: null
name: nodeupgrades.anywhere.eks.amazonaws.com
spec:
group: anywhere.eks.amazonaws.com
names:
kind: NodeUpgrade
listKind: NodeUpgradeList
plural: nodeupgrades
singular: nodeupgrade
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: NodeUpgrade is the Schema for the nodeupgrades 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: NodeUpgradeSpec defines the desired state of NodeUpgrade.
properties:
coreDNSVersion:
type: string
etcdVersion:
type: string
kubeletVersion:
type: string
kubernetesVersion:
type: string
machine:
properties:
kind:
type: string
name:
type: string
type: object
node:
properties:
kind:
type: string
name:
type: string
type: object
required:
- kubeletVersion
- kubernetesVersion
- machine
- node
type: object
status:
description: NodeUpgradeStatus defines the observed state of NodeUpgrade.
properties:
completed:
type: boolean
conditions:
description: Conditions provide observations of the operational state
of a Cluster API resource.
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
phase:
type: string
required:
- completed
- phase
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
3 changes: 3 additions & 0 deletions config/crd/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ resources:
- bases/anywhere.eks.amazonaws.com_nutanixmachineconfigs.yaml
- bases/anywhere.eks.amazonaws.com_nutanixdatacenterconfigs.yaml
- bases/anywhere.eks.amazonaws.com_eksareleases.yaml
- bases/anywhere.eks.amazonaws.com_controlplaneupgrades.yaml
- bases/anywhere.eks.amazonaws.com_machinedeploymentupgrades.yaml
- bases/anywhere.eks.amazonaws.com_nodeupgrades.yaml
#+kubebuilder:scaffold:crdkustomizeresource

patchesStrategicMerge:
Expand Down
Loading

0 comments on commit 25bf901

Please sign in to comment.