diff --git a/extensions/pkg/controller/worker/machine_crds.go b/extensions/pkg/controller/worker/machine_crds.go index 36e270e5891..b198d574713 100644 --- a/extensions/pkg/controller/worker/machine_crds.go +++ b/extensions/pkg/controller/worker/machine_crds.go @@ -22,7 +22,10 @@ import ( "path/filepath" "text/template" + apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" apiextensionsscheme "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/scheme" + apierrors "k8s.io/apimachinery/pkg/api/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/client-go/rest" @@ -96,5 +99,30 @@ func ApplyMachineResources(ctx context.Context, c client.Client) error { applier := kubernetes.NewApplier(c, c.RESTMapper()) - return applier.ApplyManifest(ctx, manifestReader, kubernetes.DefaultMergeFuncs) + if err := applier.ApplyManifest(ctx, manifestReader, kubernetes.DefaultMergeFuncs); err != nil { + return err + } + + // TODO(rfrankze): Delete this in a future version. + for _, crd := range []*apiextensionsv1.CustomResourceDefinition{ + {ObjectMeta: metav1.ObjectMeta{Name: "alicloudmachineclasses.machine.sapcloud.io"}}, + {ObjectMeta: metav1.ObjectMeta{Name: "awsmachineclasses.machine.sapcloud.io"}}, + {ObjectMeta: metav1.ObjectMeta{Name: "azuremachineclasses.machine.sapcloud.io"}}, + {ObjectMeta: metav1.ObjectMeta{Name: "gcpmachineclasses.machine.sapcloud.io"}}, + {ObjectMeta: metav1.ObjectMeta{Name: "openstackmachineclasses.machine.sapcloud.io"}}, + {ObjectMeta: metav1.ObjectMeta{Name: "packetmachineclasses.machine.sapcloud.io"}}, + } { + if err := gardenerutils.ConfirmDeletion(ctx, c, crd); err != nil { + if !apierrors.IsNotFound(err) { + return err + } + continue + } + + if err := c.Delete(ctx, crd); client.IgnoreNotFound(err) != nil { + return err + } + } + + return nil } diff --git a/extensions/pkg/controller/worker/templates/alicloudmachineclasses.tpl.yaml b/extensions/pkg/controller/worker/templates/alicloudmachineclasses.tpl.yaml deleted file mode 100644 index 3479fd58e40..00000000000 --- a/extensions/pkg/controller/worker/templates/alicloudmachineclasses.tpl.yaml +++ /dev/null @@ -1,155 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.9.2 - labels: -{{ toYaml .labels | indent 4 }} - name: alicloudmachineclasses.machine.sapcloud.io -spec: - group: machine.sapcloud.io - names: - kind: AlicloudMachineClass - listKind: AlicloudMachineClassList - plural: alicloudmachineclasses - singular: alicloudmachineclass - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .spec.instanceType - name: Instance Type - type: string - - jsonPath: .spec.region - name: Region - priority: 1 - type: string - - description: |- - CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. - Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha1 - schema: - openAPIV3Schema: - description: AlicloudMachineClass TODO - 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: AlicloudMachineClassSpec is the specification of a AlicloudMachineClass. - properties: - IoOptimized: - type: string - credentialsSecretRef: - description: SecretReference represents a Secret Reference. It has - enough information to retrieve secret in any namespace - properties: - name: - description: Name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: Namespace defines the space within which the secret - name must be unique. - type: string - type: object - dataDisks: - items: - properties: - category: - type: string - deleteWithInstance: - type: boolean - description: - type: string - encrypted: - type: boolean - name: - type: string - size: - type: integer - required: - - category - - deleteWithInstance - - encrypted - - name - - size - type: object - type: array - imageID: - type: string - instanceChargeType: - type: string - instanceType: - type: string - internetChargeType: - type: string - internetMaxBandwidthIn: - type: integer - internetMaxBandwidthOut: - type: integer - keyPairName: - type: string - privateIPAddress: - type: string - region: - type: string - secretRef: - description: SecretReference represents a Secret Reference. It has - enough information to retrieve secret in any namespace - properties: - name: - description: Name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: Namespace defines the space within which the secret - name must be unique. - type: string - type: object - securityGroupID: - type: string - spotStrategy: - type: string - systemDisk: - description: AlicloudSystemDisk describes SystemDisk for Alicloud. - properties: - category: - type: string - size: - type: integer - required: - - category - - size - type: object - tags: - additionalProperties: - type: string - type: object - vSwitchID: - type: string - zoneID: - type: string - required: - - imageID - - instanceType - - keyPairName - - region - - vSwitchID - type: object - type: object - served: true - storage: true - subresources: {} \ No newline at end of file diff --git a/extensions/pkg/controller/worker/templates/awsmachineclasses.tpl.yaml b/extensions/pkg/controller/worker/templates/awsmachineclasses.tpl.yaml deleted file mode 100644 index aaabee2e51b..00000000000 --- a/extensions/pkg/controller/worker/templates/awsmachineclasses.tpl.yaml +++ /dev/null @@ -1,233 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.9.2 - labels: -{{ toYaml .labels | indent 4 }} - name: awsmachineclasses.machine.sapcloud.io -spec: - group: machine.sapcloud.io - names: - kind: AWSMachineClass - listKind: AWSMachineClassList - plural: awsmachineclasses - singular: awsmachineclass - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .spec.machineType - name: Machine Type - type: string - - jsonPath: .spec.ami - name: AMI - type: string - - jsonPath: .spec.region - name: Region - priority: 1 - type: string - - description: |- - CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. - Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha1 - schema: - openAPIV3Schema: - description: AWSMachineClass TODO - 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: AWSMachineClassSpec is the specification of a AWSMachineClass. - properties: - ami: - type: string - blockDevices: - items: - properties: - deviceName: - description: The device name exposed to the machine (for example, - /dev/sdh or xvdh). - type: string - ebs: - description: Parameters used to automatically set up EBS volumes - when the machine is launched. - properties: - deleteOnTermination: - description: Indicates whether the EBS volume is deleted - on machine termination. - type: boolean - encrypted: - description: Indicates whether the EBS volume is encrypted. - Encrypted Amazon EBS volumes may only be attached to machines - that support Amazon EBS encryption. - type: boolean - iops: - description: "The number of I/O operations per second (IOPS) - that the volume supports. For io1, this represents the - number of IOPS that are provisioned for the volume. For - gp2, this represents the baseline performance of the volume - and the rate at which the volume accumulates I/O credits - for bursting. For more information about General Purpose - SSD baseline performance, I/O credits, and bursting, see - Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) - in the Amazon Elastic Compute Cloud User Guide. \n Constraint: - Range is 100-20000 IOPS for io1 volumes and 100-10000 - IOPS for gp2 volumes. \n Condition: This parameter is - required for requests to create io1 volumes; it is not - used in requests to create gp2, st1, sc1, or standard - volumes." - format: int64 - type: integer - kmsKeyID: - description: "Identifier (key ID, key alias, ID ARN, or - alias ARN) for a customer managed CMK under which the - EBS volume is encrypted. \n This parameter is only supported - on BlockDeviceMapping objects called by RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html), - RequestSpotFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html), - and RequestSpotInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html)." - type: string - snapshotID: - description: The ID of the snapshot. - type: string - volumeSize: - description: "The size of the volume, in GiB. \n Constraints: - 1-16384 for General Purpose SSD (gp2), 4-16384 for Provisioned - IOPS SSD (io1), 500-16384 for Throughput Optimized HDD - (st1), 500-16384 for Cold HDD (sc1), and 1-1024 for Magnetic - (standard) volumes. If you specify a snapshot, the volume - size must be equal to or larger than the snapshot size. - \n Default: If you're creating the volume from a snapshot - and don't specify a volume size, the default is the snapshot - size." - format: int64 - type: integer - volumeType: - description: "The volume type: gp2, io1, st1, sc1, or standard. - \n Default: standard" - type: string - type: object - noDevice: - description: Suppresses the specified device included in the - block device mapping of the AMI. - type: string - virtualName: - description: "The virtual device name (ephemeralN). Machine - store volumes are numbered starting from 0. An machine type - with 2 available machine store volumes can specify mappings - for ephemeral0 and ephemeral1.The number of available machine - store volumes depends on the machine type. After you connect - to the machine, you must mount the volume. \n Constraints: - For M3 machines, you must specify machine store volumes in - the block device mapping for the machine. When you launch - an M3 machine, we ignore any machine store volumes specified - in the block device mapping for the AMI." - type: string - type: object - type: array - credentialsSecretRef: - description: SecretReference represents a Secret Reference. It has - enough information to retrieve secret in any namespace - properties: - name: - description: Name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: Namespace defines the space within which the secret - name must be unique. - type: string - type: object - ebsOptimized: - type: boolean - iam: - description: Describes an IAM machine profile. - properties: - arn: - description: The Amazon Resource Name (ARN) of the machine profile. - type: string - name: - description: The name of the machine profile. - type: string - type: object - keyName: - type: string - machineType: - type: string - monitoring: - type: boolean - networkInterfaces: - items: - description: Describes a network interface. Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MachineAWSNetworkInterfaceSpecification - properties: - associatePublicIPAddress: - description: Indicates whether to assign a public IPv4 address - to an machine you launch in a VPC. The public IP address can - only be assigned to a network interface for eth0, and can - only be assigned to a new network interface, not an existing - one. You cannot specify more than one network interface in - the request. If launching into a default subnet, the default - value is true. - type: boolean - deleteOnTermination: - description: If set to true, the interface is deleted when the - machine is terminated. You can specify true only if creating - a new network interface when launching an machine. - type: boolean - description: - description: The description of the network interface. Applies - only if creating a network interface when launching an machine. - type: string - securityGroupIDs: - description: The IDs of the security groups for the network - interface. Applies only if creating a network interface when - launching an machine. - items: - type: string - type: array - subnetID: - description: The ID of the subnet associated with the network - string. Applies only if creating a network interface when - launching an machine. - type: string - type: object - type: array - region: - type: string - secretRef: - description: SecretReference represents a Secret Reference. It has - enough information to retrieve secret in any namespace - properties: - name: - description: Name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: Namespace defines the space within which the secret - name must be unique. - type: string - type: object - spotPrice: - type: string - tags: - additionalProperties: - type: string - type: object - type: object - type: object - served: true - storage: true - subresources: {} \ No newline at end of file diff --git a/extensions/pkg/controller/worker/templates/azuremachineclasses.tpl.yaml b/extensions/pkg/controller/worker/templates/azuremachineclasses.tpl.yaml deleted file mode 100644 index 4738cd9ffeb..00000000000 --- a/extensions/pkg/controller/worker/templates/azuremachineclasses.tpl.yaml +++ /dev/null @@ -1,259 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.9.2 - labels: -{{ toYaml .labels | indent 4 }} - name: azuremachineclasses.machine.sapcloud.io -spec: - group: machine.sapcloud.io - names: - kind: AzureMachineClass - listKind: AzureMachineClassList - plural: azuremachineclasses - singular: azuremachineclass - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .spec.properties.hardwareProfile.vmSize - name: VM Size - type: string - - jsonPath: .spec.location - name: Location - priority: 1 - type: string - - description: |- - CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. - Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha1 - schema: - openAPIV3Schema: - description: AzureMachineClass TODO - 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: AzureMachineClassSpec is the specification of a AzureMachineClass. - properties: - credentialsSecretRef: - description: SecretReference represents a Secret Reference. It has - enough information to retrieve secret in any namespace - properties: - name: - description: Name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: Namespace defines the space within which the secret - name must be unique. - type: string - type: object - location: - type: string - properties: - description: AzureVirtualMachineProperties is describes the properties - of a Virtual Machine. - properties: - availabilitySet: - description: AzureSubResource is the Sub Resource definition. - properties: - id: - type: string - type: object - hardwareProfile: - description: AzureHardwareProfile is specifies the hardware settings - for the virtual machine. Refer github.com/Azure/azure-sdk-for-go/arm/compute/models.go - for VMSizes - properties: - vmSize: - type: string - type: object - identityID: - type: string - machineSet: - description: AzureMachineSetConfig contains the information about - the machine set - properties: - id: - type: string - kind: - type: string - required: - - id - - kind - type: object - networkProfile: - description: AzureNetworkProfile is specifies the network interfaces - of the virtual machine. - properties: - acceleratedNetworking: - type: boolean - networkInterfaces: - description: AzureNetworkInterfaceReference is describes a - network interface reference. - properties: - id: - type: string - properties: - description: AzureNetworkInterfaceReferenceProperties - is describes a network interface reference properties. - properties: - primary: - type: boolean - type: object - type: object - type: object - osProfile: - description: AzureOSProfile is specifies the operating system - settings for the virtual machine. - properties: - adminPassword: - type: string - adminUsername: - type: string - computerName: - type: string - customData: - type: string - linuxConfiguration: - description: AzureLinuxConfiguration is specifies the Linux - operating system settings on the virtual machine.

For - a list of supported Linux distributions, see [Linux on Azure-Endorsed - Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) -

For running non-endorsed distributions, see [Information - for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json). - properties: - disablePasswordAuthentication: - type: boolean - ssh: - description: AzureSSHConfiguration is SSH configuration - for Linux based VMs running on Azure - properties: - publicKeys: - description: AzureSSHPublicKey is contains information - about SSH certificate public key and the path on - the Linux VM where the public key is placed. - properties: - keyData: - type: string - path: - type: string - type: object - type: object - type: object - type: object - storageProfile: - description: AzureStorageProfile is specifies the storage settings - for the virtual machine disks. - properties: - dataDisks: - items: - properties: - caching: - type: string - diskSizeGB: - format: int32 - type: integer - lun: - format: int32 - type: integer - name: - type: string - storageAccountType: - type: string - type: object - type: array - imageReference: - description: AzureImageReference is specifies information - about the image to use. You can specify information about - platform images, marketplace images, or virtual machine - images. This element is required when you want to use a - platform image, marketplace image, or virtual machine image, - but is not used in other creation operations. - properties: - id: - type: string - urn: - description: Uniform Resource Name of the OS image to - be used , it has the format 'publisher:offer:sku:version' - type: string - type: object - osDisk: - description: AzureOSDisk is specifies information about the - operating system disk used by the virtual machine.

- For more information about disks, see [About disks and VHDs - for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). - properties: - caching: - type: string - createOption: - type: string - diskSizeGB: - format: int32 - type: integer - managedDisk: - description: AzureManagedDiskParameters is the parameters - of a managed disk. - properties: - id: - type: string - storageAccountType: - type: string - type: object - name: - type: string - type: object - type: object - zone: - type: integer - type: object - resourceGroup: - type: string - secretRef: - description: SecretReference represents a Secret Reference. It has - enough information to retrieve secret in any namespace - properties: - name: - description: Name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: Namespace defines the space within which the secret - name must be unique. - type: string - type: object - subnetInfo: - description: AzureSubnetInfo is the information containing the subnet - details - properties: - subnetName: - type: string - vnetName: - type: string - vnetResourceGroup: - type: string - type: object - tags: - additionalProperties: - type: string - type: object - type: object - type: object - served: true - storage: true - subresources: {} \ No newline at end of file diff --git a/extensions/pkg/controller/worker/templates/gcpmachineclasses.tpl.yaml b/extensions/pkg/controller/worker/templates/gcpmachineclasses.tpl.yaml deleted file mode 100644 index f2d1b527c1f..00000000000 --- a/extensions/pkg/controller/worker/templates/gcpmachineclasses.tpl.yaml +++ /dev/null @@ -1,198 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.9.2 - labels: -{{ toYaml .labels | indent 4 }} - name: gcpmachineclasses.machine.sapcloud.io -spec: - group: machine.sapcloud.io - names: - kind: GCPMachineClass - listKind: GCPMachineClassList - plural: gcpmachineclasses - singular: gcpmachineclass - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .spec.machineType - name: Machine Type - type: string - - jsonPath: .spec.region - name: Region - priority: 1 - type: string - - description: |- - CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. - Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha1 - schema: - openAPIV3Schema: - description: GCPMachineClass TODO - 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: GCPMachineClassSpec is the specification of a GCPMachineClass. - properties: - canIpForward: - type: boolean - credentialsSecretRef: - description: SecretReference represents a Secret Reference. It has - enough information to retrieve secret in any namespace - properties: - name: - description: Name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: Namespace defines the space within which the secret - name must be unique. - type: string - type: object - deletionProtection: - type: boolean - description: - type: string - disks: - items: - description: GCPDisk describes disks for GCP. - properties: - autoDelete: - type: boolean - boot: - type: boolean - image: - type: string - interface: - type: string - labels: - additionalProperties: - type: string - type: object - sizeGb: - format: int64 - type: integer - type: - type: string - required: - - autoDelete - - boot - - image - - interface - - labels - - sizeGb - - type - type: object - type: array - labels: - additionalProperties: - type: string - type: object - machineType: - type: string - metadata: - items: - description: GCPMetadata describes metadata for GCP. - properties: - key: - type: string - value: - type: string - required: - - key - - value - type: object - type: array - networkInterfaces: - items: - description: GCPNetworkInterface describes network interfaces for - GCP - properties: - disableExternalIP: - type: boolean - network: - type: string - subnetwork: - type: string - type: object - type: array - region: - type: string - scheduling: - description: GCPScheduling describes scheduling configuration for - GCP. - properties: - automaticRestart: - type: boolean - onHostMaintenance: - type: string - preemptible: - type: boolean - required: - - automaticRestart - - onHostMaintenance - - preemptible - type: object - secretRef: - description: SecretReference represents a Secret Reference. It has - enough information to retrieve secret in any namespace - properties: - name: - description: Name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: Namespace defines the space within which the secret - name must be unique. - type: string - type: object - serviceAccounts: - items: - description: GCPServiceAccount describes service accounts for GCP. - properties: - email: - type: string - scopes: - items: - type: string - type: array - required: - - email - - scopes - type: object - type: array - tags: - items: - type: string - type: array - zone: - type: string - required: - - canIpForward - - deletionProtection - - machineType - - region - - scheduling - - serviceAccounts - - zone - type: object - type: object - served: true - storage: true - subresources: {} \ No newline at end of file diff --git a/extensions/pkg/controller/worker/templates/openstackmachineclasses.tpl.yaml b/extensions/pkg/controller/worker/templates/openstackmachineclasses.tpl.yaml deleted file mode 100644 index e22bce2232a..00000000000 --- a/extensions/pkg/controller/worker/templates/openstackmachineclasses.tpl.yaml +++ /dev/null @@ -1,139 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.9.2 - labels: -{{ toYaml .labels | indent 4 }} - name: openstackmachineclasses.machine.sapcloud.io -spec: - group: machine.sapcloud.io - names: - kind: OpenStackMachineClass - listKind: OpenStackMachineClassList - plural: openstackmachineclasses - singular: openstackmachineclass - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .spec.flavorName - name: Flavor - type: string - - jsonPath: .spec.imageName - name: Image - type: string - - jsonPath: .spec.region - name: Region - priority: 1 - type: string - - description: |- - CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. - Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha1 - schema: - openAPIV3Schema: - description: OpenStackMachineClass TODO - 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: OpenStackMachineClassSpec is the specification of a OpenStackMachineClass. - properties: - availabilityZone: - type: string - credentialsSecretRef: - description: SecretReference represents a Secret Reference. It has - enough information to retrieve secret in any namespace - properties: - name: - description: Name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: Namespace defines the space within which the secret - name must be unique. - type: string - type: object - flavorName: - type: string - imageID: - type: string - imageName: - type: string - keyName: - type: string - networkID: - type: string - networks: - items: - properties: - id: - type: string - name: - type: string - podNetwork: - type: boolean - type: object - type: array - podNetworkCidr: - type: string - region: - type: string - rootDiskSize: - type: integer - secretRef: - description: SecretReference represents a Secret Reference. It has - enough information to retrieve secret in any namespace - properties: - name: - description: Name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: Namespace defines the space within which the secret - name must be unique. - type: string - type: object - securityGroups: - items: - type: string - type: array - serverGroupID: - type: string - subnetID: - type: string - tags: - additionalProperties: - type: string - type: object - useConfigDrive: - type: boolean - required: - - availabilityZone - - flavorName - - imageID - - imageName - - keyName - - networkID - - podNetworkCidr - - region - - securityGroups - type: object - type: object - served: true - storage: true - subresources: {} \ No newline at end of file diff --git a/extensions/pkg/controller/worker/templates/packetmachineclasses.tpl.yaml b/extensions/pkg/controller/worker/templates/packetmachineclasses.tpl.yaml deleted file mode 100644 index bbf133263af..00000000000 --- a/extensions/pkg/controller/worker/templates/packetmachineclasses.tpl.yaml +++ /dev/null @@ -1,104 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.9.2 - labels: -{{ toYaml .labels | indent 4 }} - name: packetmachineclasses.machine.sapcloud.io -spec: - group: machine.sapcloud.io - names: - kind: PacketMachineClass - listKind: PacketMachineClassList - plural: packetmachineclasses - singular: packetmachineclass - scope: Namespaced - versions: - - additionalPrinterColumns: - - description: |- - CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. - Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha1 - schema: - openAPIV3Schema: - description: PacketMachineClass TODO - 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: PacketMachineClassSpec is the specification of a PacketMachineClass. - properties: - OS: - type: string - billingCycle: - type: string - credentialsSecretRef: - description: SecretReference represents a Secret Reference. It has - enough information to retrieve secret in any namespace - properties: - name: - description: Name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: Namespace defines the space within which the secret - name must be unique. - type: string - type: object - facility: - items: - type: string - type: array - machineType: - type: string - projectID: - type: string - secretRef: - description: SecretReference represents a Secret Reference. It has - enough information to retrieve secret in any namespace - properties: - name: - description: Name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: Namespace defines the space within which the secret - name must be unique. - type: string - type: object - sshKeys: - items: - type: string - type: array - tags: - items: - type: string - type: array - userdata: - type: string - required: - - OS - - billingCycle - - facility - - machineType - - projectID - type: object - type: object - served: true - storage: true - subresources: {} \ No newline at end of file