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