diff --git a/api/v1beta1/hetznerbaremetalmachine_types.go b/api/v1beta1/hetznerbaremetalmachine_types.go index 99d5a20a4..37fafdd4d 100644 --- a/api/v1beta1/hetznerbaremetalmachine_types.go +++ b/api/v1beta1/hetznerbaremetalmachine_types.go @@ -63,12 +63,12 @@ const ( // HetznerBareMetalMachineSpec defines the desired state of HetznerBareMetalMachine. type HetznerBareMetalMachineSpec struct { - // ProviderID will be the hetznerbaremetalmachine in ProviderID format - // (hcloud://) + // ProviderID will be the hetznerbaremetalmachine which is set by the controller + // in the `hcloud://bm-` format. // +optional ProviderID *string `json:"providerID,omitempty"` - // InstallImage is the configuration which is used for the autosetup configuration for installing an OS via InstallImage. + // InstallImage is the configuration that is used for the autosetup configuration for installing an OS via InstallImage. InstallImage InstallImage `json:"installImage"` // HostSelector specifies matching criteria for labels on HetznerBareMetalHosts. @@ -77,7 +77,7 @@ type HetznerBareMetalMachineSpec struct { // +optional HostSelector HostSelector `json:"hostSelector,omitempty"` - // SSHSpec gives a reference on the secret where SSH details are specified as well as ports for ssh. + // SSHSpec gives a reference on the secret where SSH details are specified as well as ports for SSH. SSHSpec SSHSpec `json:"sshSpec,omitempty"` } @@ -85,77 +85,93 @@ type HetznerBareMetalMachineSpec struct { // This is used to limit the set of BareMetalHost objects considered for // claiming for a Machine. type HostSelector struct { - // Key/value pairs of labels that must exist on a chosen BareMetalHost + // MatchLabels defines the key/value pairs of labels that must exist on a chosen BareMetalHost. // +optional MatchLabels map[string]string `json:"matchLabels,omitempty"` - // Label match expressions that must be true on a chosen BareMetalHost + // MatchExpressions defines the label match expressions that must be true on a chosen BareMetalHost. // +optional MatchExpressions []HostSelectorRequirement `json:"matchExpressions,omitempty"` } // HostSelectorRequirement defines a requirement used for MatchExpressions to select host machines. type HostSelectorRequirement struct { - Key string `json:"key"` + // Key defines the key of the label that should be matched in the host object. + Key string `json:"key"` + + // Operator defines the selection operator. Operator selection.Operator `json:"operator"` - Values []string `json:"values"` + + // Values define the values whose relation to the label value in the host machine is defined by the selection operator. + Values []string `json:"values"` } // SSHSpec defines specs for SSH. type SSHSpec struct { - // SecretRef gives reference to the secret. + // SecretRef gives reference to the secret where the SSH key is stored. SecretRef SSHSecretRef `json:"secretRef"` - // PortAfterInstallImage specifies the port that has to be used to connect to the machine after install image. + // PortAfterInstallImage specifies the port that has to be used to connect to the machine + // by reaching the server via SSH after installing the image successfully. // +kubebuilder:default=22 // +optional PortAfterInstallImage int `json:"portAfterInstallImage"` - // PortAfterCloudInit specifies the port that has to be used to connect to the machine after cloud init. + // PortAfterCloudInit specifies the port that has to be used to connect to the machine + // by reaching the server via SSH after the successful completion of cloud init. // +optional PortAfterCloudInit int `json:"portAfterCloudInit"` } -// SSHSecretRef defines the secret containing all information of the SSH key used for Hetzner robot. +// SSHSecretRef defines the secret containing all information of the SSH key used for the Hetzner robot. type SSHSecretRef struct { - Name string `json:"name"` - Key SSHSecretKeyRef `json:"key"` + // Name is the name of the secret. + Name string `json:"name"` + + // Key contains details about the keys used in the data of the secret. + Key SSHSecretKeyRef `json:"key"` } // SSHSecretKeyRef defines the key name of the SSHSecret. type SSHSecretKeyRef struct { - Name string `json:"name"` - PublicKey string `json:"publicKey"` + // Name is the key in the secret's data where the SSH key's name is stored. + Name string `json:"name"` + + // PublicKey is the key in the secret's data where the SSH key's public key is stored. + PublicKey string `json:"publicKey"` + + // PrivateKey is the key in the secret's data where the SSH key's private key is stored. PrivateKey string `json:"privateKey"` } // InstallImage defines the configuration for InstallImage. type InstallImage struct { - // Image is the image to be provisioned. + // Image is the image to be provisioned. It defines the image for baremetal machine. Image Image `json:"image"` - // PostInstallScript is used for configuring commands which should be executed after installimage. + // PostInstallScript is used for configuring commands that should be executed after installimage. // It is passed along with the installimage command. PostInstallScript string `json:"postInstallScript,omitempty"` - // Partitions defines the additional Partitions to be created. + // Partitions define the additional Partitions to be created in installimage. Partitions []Partition `json:"partitions"` // LVMDefinitions defines the logical volume definitions to be created. // +optional LVMDefinitions []LVMDefinition `json:"logicalVolumeDefinitions,omitempty"` - // BTRFSDefinitions defines the btrfs subvolume definitions to be created. + // BTRFSDefinitions define the btrfs subvolume definitions to be created. // +optional BTRFSDefinitions []BTRFSDefinition `json:"btrfsDefinitions,omitempty"` - // Swraid defines the SWRAID in InstallImage. + // Swraid defines the SWRAID in InstallImage. It enables or disables raids. Set 1 to enable. // +optional // +kubebuilder:default=0 // +kubebuilder:validation:Enum=0;1; Swraid int `json:"swraid"` - // SwraidLevel defines the SWRAIDLEVEL in InstallImage. Ignored if Swraid=0. + // SwraidLevel defines the SWRAIDLEVEL in InstallImage. Only relevant if the raid is enabled. + // Pick one of 0,1,5,6,10. Ignored if Swraid=0. // +optional // +kubebuilder:default=1 // +kubebuilder:validation:Enum=0;1;5;6;10; @@ -218,10 +234,10 @@ func (image Image) String() string { // Partition defines the additional Partitions to be created. type Partition struct { // Mount defines the mount path for this filesystem. - // or keyword 'lvm' to use this PART as volume group (VG) for LVM - // identifier 'btrfs.X' to use this PART as volume for + // Keyword 'lvm' to use this PART as volume group (VG) for LVM. + // Identifier 'btrfs.X' to use this PART as volume for // btrfs subvolumes. X can be replaced with a unique - // alphanumeric keyword. NOTE: no support btrfs multi-device volumes + // alphanumeric keyword. NOTE: no support for btrfs multi-device volumes. Mount string `json:"mount"` // FileSystem can be ext2, ext3, ext4, btrfs, reiserfs, xfs, swap @@ -229,7 +245,7 @@ type Partition struct { FileSystem string `json:"fileSystem"` // Size can use the keyword 'all' to assign all the remaining space of the drive to the last partition. - // can use M/G/T for unit specification in MiB/GiB/TiB + // You can use M/G/T for unit specification in MiB/GiB/TiB. Size string `json:"size"` } @@ -287,11 +303,11 @@ type HetznerBareMetalMachineStatus struct { Ready bool `json:"ready"` // Phase represents the current phase of HetznerBareMetalMachineStatus actuation. - // E.g. Pending, Running, Terminating, Failed etc. + // E.g. Pending, Running, Terminating, Failed, etc. // +optional Phase clusterv1.MachinePhase `json:"phase,omitempty"` - // Conditions defines current service state of the HetznerBareMetalMachine. + // Conditions define the current service state of the HetznerBareMetalMachine. // +optional Conditions clusterv1.Conditions `json:"conditions,omitempty"` } diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_hetznerbaremetalhosts.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_hetznerbaremetalhosts.yaml index 1549ae64c..d5815b244 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_hetznerbaremetalhosts.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_hetznerbaremetalhosts.yaml @@ -325,8 +325,8 @@ spec: the autosetup configuration for installing an OS via InstallImage. properties: btrfsDefinitions: - description: BTRFSDefinitions defines the btrfs subvolume - definitions to be created. + description: BTRFSDefinitions define the btrfs subvolume definitions + to be created. items: description: BTRFSDefinition defines the btrfs subvolume definitions to be created. @@ -347,7 +347,8 @@ spec: type: object type: array image: - description: Image is the image to be provisioned. + description: Image is the image to be provisioned. It defines + the image for baremetal machine. properties: name: description: Name defines the archive name after download. @@ -395,8 +396,8 @@ spec: type: object type: array partitions: - description: Partitions defines the additional Partitions - to be created. + description: Partitions define the additional Partitions to + be created in installimage. items: description: Partition defines the additional Partitions to be created. @@ -408,16 +409,16 @@ spec: type: string mount: description: 'Mount defines the mount path for this - filesystem. or keyword ''lvm'' to use this PART as - volume group (VG) for LVM identifier ''btrfs.X'' to - use this PART as volume for btrfs subvolumes. X can - be replaced with a unique alphanumeric keyword. NOTE: - no support btrfs multi-device volumes' + filesystem. Keyword ''lvm'' to use this PART as volume + group (VG) for LVM. Identifier ''btrfs.X'' to use + this PART as volume for btrfs subvolumes. X can be + replaced with a unique alphanumeric keyword. NOTE: + no support for btrfs multi-device volumes.' type: string size: description: Size can use the keyword 'all' to assign all the remaining space of the drive to the last partition. - can use M/G/T for unit specification in MiB/GiB/TiB + You can use M/G/T for unit specification in MiB/GiB/TiB. type: string required: - fileSystem @@ -427,12 +428,13 @@ spec: type: array postInstallScript: description: PostInstallScript is used for configuring commands - which should be executed after installimage. It is passed + that should be executed after installimage. It is passed along with the installimage command. type: string swraid: default: 0 - description: Swraid defines the SWRAID in InstallImage. + description: Swraid defines the SWRAID in InstallImage. It + enables or disables raids. Set 1 to enable. enum: - 0 - 1 @@ -440,6 +442,7 @@ spec: swraidLevel: default: 1 description: SwraidLevel defines the SWRAIDLEVEL in InstallImage. + Only relevant if the raid is enabled. Pick one of 0,1,5,6,10. Ignored if Swraid=0. enum: - 0 @@ -483,25 +486,34 @@ spec: properties: portAfterCloudInit: description: PortAfterCloudInit specifies the port that has - to be used to connect to the machine after cloud init. + to be used to connect to the machine by reaching the server + via SSH after the successful completion of cloud init. type: integer portAfterInstallImage: default: 22 description: PortAfterInstallImage specifies the port that - has to be used to connect to the machine after install image. + has to be used to connect to the machine by reaching the + server via SSH after installing the image successfully. type: integer secretRef: - description: SecretRef gives reference to the secret. + description: SecretRef gives reference to the secret where + the SSH key is stored. properties: key: - description: SSHSecretKeyRef defines the key name of the - SSHSecret. + description: Key contains details about the keys used + in the data of the secret. properties: name: + description: Name is the key in the secret's data + where the SSH key's name is stored. type: string privateKey: + description: PrivateKey is the key in the secret's + data where the SSH key's private key is stored. type: string publicKey: + description: PublicKey is the key in the secret's + data where the SSH key's public key is stored. type: string required: - name @@ -509,6 +521,7 @@ spec: - publicKey type: object name: + description: Name is the name of the secret. type: string required: - key diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_hetznerbaremetalmachines.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_hetznerbaremetalmachines.yaml index 7386107f8..4ec6393a3 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_hetznerbaremetalmachines.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_hetznerbaremetalmachines.yaml @@ -79,20 +79,23 @@ spec: objects considered for claiming for a HetznerBareMetalMachine. properties: matchExpressions: - description: Label match expressions that must be true on a chosen - BareMetalHost + description: MatchExpressions defines the label match expressions + that must be true on a chosen BareMetalHost. items: description: HostSelectorRequirement defines a requirement used for MatchExpressions to select host machines. properties: key: + description: Key defines the key of the label that should + be matched in the host object. type: string operator: - description: Operator represents a key/field's relationship - to value(s). See labels.Requirement and fields.Requirement - for more details. + description: Operator defines the selection operator. type: string values: + description: Values define the values whose relation to + the label value in the host machine is defined by the + selection operator. items: type: string type: array @@ -105,16 +108,16 @@ spec: matchLabels: additionalProperties: type: string - description: Key/value pairs of labels that must exist on a chosen - BareMetalHost + description: MatchLabels defines the key/value pairs of labels + that must exist on a chosen BareMetalHost. type: object type: object installImage: - description: InstallImage is the configuration which is used for the + description: InstallImage is the configuration that is used for the autosetup configuration for installing an OS via InstallImage. properties: btrfsDefinitions: - description: BTRFSDefinitions defines the btrfs subvolume definitions + description: BTRFSDefinitions define the btrfs subvolume definitions to be created. items: description: BTRFSDefinition defines the btrfs subvolume definitions @@ -136,7 +139,8 @@ spec: type: object type: array image: - description: Image is the image to be provisioned. + description: Image is the image to be provisioned. It defines + the image for baremetal machine. properties: name: description: Name defines the archive name after download. @@ -183,8 +187,8 @@ spec: type: object type: array partitions: - description: Partitions defines the additional Partitions to be - created. + description: Partitions define the additional Partitions to be + created in installimage. items: description: Partition defines the additional Partitions to be created. @@ -196,16 +200,16 @@ spec: type: string mount: description: 'Mount defines the mount path for this filesystem. - or keyword ''lvm'' to use this PART as volume group (VG) - for LVM identifier ''btrfs.X'' to use this PART as volume + Keyword ''lvm'' to use this PART as volume group (VG) + for LVM. Identifier ''btrfs.X'' to use this PART as volume for btrfs subvolumes. X can be replaced with a unique - alphanumeric keyword. NOTE: no support btrfs multi-device - volumes' + alphanumeric keyword. NOTE: no support for btrfs multi-device + volumes.' type: string size: description: Size can use the keyword 'all' to assign all the remaining space of the drive to the last partition. - can use M/G/T for unit specification in MiB/GiB/TiB + You can use M/G/T for unit specification in MiB/GiB/TiB. type: string required: - fileSystem @@ -215,12 +219,13 @@ spec: type: array postInstallScript: description: PostInstallScript is used for configuring commands - which should be executed after installimage. It is passed along + that should be executed after installimage. It is passed along with the installimage command. type: string swraid: default: 0 - description: Swraid defines the SWRAID in InstallImage. + description: Swraid defines the SWRAID in InstallImage. It enables + or disables raids. Set 1 to enable. enum: - 0 - 1 @@ -228,6 +233,7 @@ spec: swraidLevel: default: 1 description: SwraidLevel defines the SWRAIDLEVEL in InstallImage. + Only relevant if the raid is enabled. Pick one of 0,1,5,6,10. Ignored if Swraid=0. enum: - 0 @@ -241,33 +247,43 @@ spec: - partitions type: object providerID: - description: ProviderID will be the hetznerbaremetalmachine in ProviderID - format (hcloud://) + description: ProviderID will be the hetznerbaremetalmachine which + is set by the controller in the `hcloud://bm-` format. type: string sshSpec: description: SSHSpec gives a reference on the secret where SSH details - are specified as well as ports for ssh. + are specified as well as ports for SSH. properties: portAfterCloudInit: description: PortAfterCloudInit specifies the port that has to - be used to connect to the machine after cloud init. + be used to connect to the machine by reaching the server via + SSH after the successful completion of cloud init. type: integer portAfterInstallImage: default: 22 description: PortAfterInstallImage specifies the port that has - to be used to connect to the machine after install image. + to be used to connect to the machine by reaching the server + via SSH after installing the image successfully. type: integer secretRef: - description: SecretRef gives reference to the secret. + description: SecretRef gives reference to the secret where the + SSH key is stored. properties: key: - description: SSHSecretKeyRef defines the key name of the SSHSecret. + description: Key contains details about the keys used in the + data of the secret. properties: name: + description: Name is the key in the secret's data where + the SSH key's name is stored. type: string privateKey: + description: PrivateKey is the key in the secret's data + where the SSH key's private key is stored. type: string publicKey: + description: PublicKey is the key in the secret's data + where the SSH key's public key is stored. type: string required: - name @@ -275,6 +291,7 @@ spec: - publicKey type: object name: + description: Name is the name of the secret. type: string required: - key @@ -310,7 +327,7 @@ spec: type: object type: array conditions: - description: Conditions defines current service state of the HetznerBareMetalMachine. + description: Conditions define the current service state of the HetznerBareMetalMachine. items: description: Condition defines an observation of a Cluster API resource operational state. @@ -368,7 +385,7 @@ spec: type: string phase: description: Phase represents the current phase of HetznerBareMetalMachineStatus - actuation. E.g. Pending, Running, Terminating, Failed etc. + actuation. E.g. Pending, Running, Terminating, Failed, etc. type: string ready: description: Ready is the state of the hetznerbaremetalmachine. diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_hetznerbaremetalmachinetemplates.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_hetznerbaremetalmachinetemplates.yaml index 25c163516..1b9030776 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_hetznerbaremetalmachinetemplates.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_hetznerbaremetalmachinetemplates.yaml @@ -63,20 +63,23 @@ spec: for a HetznerBareMetalMachine. properties: matchExpressions: - description: Label match expressions that must be true - on a chosen BareMetalHost + description: MatchExpressions defines the label match + expressions that must be true on a chosen BareMetalHost. items: description: HostSelectorRequirement defines a requirement used for MatchExpressions to select host machines. properties: key: + description: Key defines the key of the label that + should be matched in the host object. type: string operator: - description: Operator represents a key/field's relationship - to value(s). See labels.Requirement and fields.Requirement - for more details. + description: Operator defines the selection operator. type: string values: + description: Values define the values whose relation + to the label value in the host machine is defined + by the selection operator. items: type: string type: array @@ -89,17 +92,17 @@ spec: matchLabels: additionalProperties: type: string - description: Key/value pairs of labels that must exist - on a chosen BareMetalHost + description: MatchLabels defines the key/value pairs of + labels that must exist on a chosen BareMetalHost. type: object type: object installImage: - description: InstallImage is the configuration which is used + description: InstallImage is the configuration that is used for the autosetup configuration for installing an OS via InstallImage. properties: btrfsDefinitions: - description: BTRFSDefinitions defines the btrfs subvolume + description: BTRFSDefinitions define the btrfs subvolume definitions to be created. items: description: BTRFSDefinition defines the btrfs subvolume @@ -121,7 +124,8 @@ spec: type: object type: array image: - description: Image is the image to be provisioned. + description: Image is the image to be provisioned. It + defines the image for baremetal machine. properties: name: description: Name defines the archive name after download. @@ -169,8 +173,8 @@ spec: type: object type: array partitions: - description: Partitions defines the additional Partitions - to be created. + description: Partitions define the additional Partitions + to be created in installimage. items: description: Partition defines the additional Partitions to be created. @@ -182,17 +186,17 @@ spec: type: string mount: description: 'Mount defines the mount path for this - filesystem. or keyword ''lvm'' to use this PART - as volume group (VG) for LVM identifier ''btrfs.X'' + filesystem. Keyword ''lvm'' to use this PART as + volume group (VG) for LVM. Identifier ''btrfs.X'' to use this PART as volume for btrfs subvolumes. X can be replaced with a unique alphanumeric keyword. - NOTE: no support btrfs multi-device volumes' + NOTE: no support for btrfs multi-device volumes.' type: string size: description: Size can use the keyword 'all' to assign all the remaining space of the drive to the last - partition. can use M/G/T for unit specification - in MiB/GiB/TiB + partition. You can use M/G/T for unit specification + in MiB/GiB/TiB. type: string required: - fileSystem @@ -202,12 +206,13 @@ spec: type: array postInstallScript: description: PostInstallScript is used for configuring - commands which should be executed after installimage. + commands that should be executed after installimage. It is passed along with the installimage command. type: string swraid: default: 0 description: Swraid defines the SWRAID in InstallImage. + It enables or disables raids. Set 1 to enable. enum: - 0 - 1 @@ -215,6 +220,7 @@ spec: swraidLevel: default: 1 description: SwraidLevel defines the SWRAIDLEVEL in InstallImage. + Only relevant if the raid is enabled. Pick one of 0,1,5,6,10. Ignored if Swraid=0. enum: - 0 @@ -229,35 +235,44 @@ spec: type: object providerID: description: ProviderID will be the hetznerbaremetalmachine - in ProviderID format (hcloud://) + which is set by the controller in the `hcloud://bm-` + format. type: string sshSpec: description: SSHSpec gives a reference on the secret where - SSH details are specified as well as ports for ssh. + SSH details are specified as well as ports for SSH. properties: portAfterCloudInit: description: PortAfterCloudInit specifies the port that - has to be used to connect to the machine after cloud - init. + has to be used to connect to the machine by reaching + the server via SSH after the successful completion of + cloud init. type: integer portAfterInstallImage: default: 22 description: PortAfterInstallImage specifies the port - that has to be used to connect to the machine after - install image. + that has to be used to connect to the machine by reaching + the server via SSH after installing the image successfully. type: integer secretRef: - description: SecretRef gives reference to the secret. + description: SecretRef gives reference to the secret where + the SSH key is stored. properties: key: - description: SSHSecretKeyRef defines the key name - of the SSHSecret. + description: Key contains details about the keys used + in the data of the secret. properties: name: + description: Name is the key in the secret's data + where the SSH key's name is stored. type: string privateKey: + description: PrivateKey is the key in the secret's + data where the SSH key's private key is stored. type: string publicKey: + description: PublicKey is the key in the secret's + data where the SSH key's public key is stored. type: string required: - name @@ -265,6 +280,7 @@ spec: - publicKey type: object name: + description: Name is the name of the secret. type: string required: - key diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_hetznerclusters.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_hetznerclusters.yaml index af5352dd0..8e1b453a4 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_hetznerclusters.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_hetznerclusters.yaml @@ -261,16 +261,23 @@ spec: type: array robotRescueSecretRef: description: SSHSecretRef defines the secret containing all information - of the SSH key used for Hetzner robot. + of the SSH key used for the Hetzner robot. properties: key: - description: SSHSecretKeyRef defines the key name of the SSHSecret. + description: Key contains details about the keys used in the + data of the secret. properties: name: + description: Name is the key in the secret's data where + the SSH key's name is stored. type: string privateKey: + description: PrivateKey is the key in the secret's data + where the SSH key's private key is stored. type: string publicKey: + description: PublicKey is the key in the secret's data + where the SSH key's public key is stored. type: string required: - name @@ -278,6 +285,7 @@ spec: - publicKey type: object name: + description: Name is the name of the secret. type: string required: - key diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_hetznerclustertemplates.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_hetznerclustertemplates.yaml index fa73cdc96..1ff8729eb 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_hetznerclustertemplates.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_hetznerclustertemplates.yaml @@ -285,17 +285,24 @@ spec: type: array robotRescueSecretRef: description: SSHSecretRef defines the secret containing - all information of the SSH key used for Hetzner robot. + all information of the SSH key used for the Hetzner + robot. properties: key: - description: SSHSecretKeyRef defines the key name - of the SSHSecret. + description: Key contains details about the keys used + in the data of the secret. properties: name: + description: Name is the key in the secret's data + where the SSH key's name is stored. type: string privateKey: + description: PrivateKey is the key in the secret's + data where the SSH key's private key is stored. type: string publicKey: + description: PublicKey is the key in the secret's + data where the SSH key's public key is stored. type: string required: - name @@ -303,6 +310,7 @@ spec: - publicKey type: object name: + description: Name is the name of the secret. type: string required: - key