diff --git a/api/compute/v1alpha1/machine_types.go b/api/compute/v1alpha1/machine_types.go index 1626d9594..1050acf9a 100644 --- a/api/compute/v1alpha1/machine_types.go +++ b/api/compute/v1alpha1/machine_types.go @@ -33,7 +33,7 @@ type MachineSpec struct { // MachinePoolRef defines machine pool to run the machine in. // If empty, a scheduler will figure out an appropriate pool to run the machine in. MachinePoolRef *corev1.LocalObjectReference `json:"machinePoolRef,omitempty"` - // Power ist the desired machine power state. + // Power is the desired machine power state. // Defaults to PowerOn. Power Power `json:"power,omitempty"` // Image is the optional URL providing the operating system image of the machine. diff --git a/api/storage/v1alpha1/volume_types.go b/api/storage/v1alpha1/volume_types.go index 9bd1d1bdc..0d56bc00b 100644 --- a/api/storage/v1alpha1/volume_types.go +++ b/api/storage/v1alpha1/volume_types.go @@ -17,10 +17,11 @@ package v1alpha1 import ( - commonv1alpha1 "github.com/onmetal/onmetal-api/api/common/v1alpha1" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime/schema" + + commonv1alpha1 "github.com/onmetal/onmetal-api/api/common/v1alpha1" ) // VolumeGK is a helper to easily access the GroupKind information of an Volume @@ -29,6 +30,13 @@ var VolumeGK = schema.GroupKind{ Kind: "Volume", } +// VolumeEncryption represents information to encrypt a volume. +type VolumeEncryption struct { + // SecretRef references the Secret containing the encryption key to encrypt a Volume. + // This secret is created by user with encryptionKey as Key and base64 encoded 256-bit encryption key as Value. + SecretRef corev1.LocalObjectReference `json:"secretRef"` +} + // VolumeSpec defines the desired state of Volume type VolumeSpec struct { // VolumeClassRef is the VolumeClass of a volume @@ -52,6 +60,8 @@ type VolumeSpec struct { // Tolerations define tolerations the Volume has. Only any VolumePool whose taints // covered by Tolerations will be considered to host the Volume. Tolerations []commonv1alpha1.Toleration `json:"tolerations,omitempty"` + // Encryption is an optional field which provides attributes to encrypt Volume. + Encryption *VolumeEncryption `json:"encryption,omitempty"` } // VolumeAccess represents information on how to access a volume. diff --git a/api/storage/v1alpha1/zz_generated.deepcopy.go b/api/storage/v1alpha1/zz_generated.deepcopy.go index 04332e1ba..1d56d06e3 100644 --- a/api/storage/v1alpha1/zz_generated.deepcopy.go +++ b/api/storage/v1alpha1/zz_generated.deepcopy.go @@ -521,6 +521,23 @@ func (in *VolumeCondition) DeepCopy() *VolumeCondition { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VolumeEncryption) DeepCopyInto(out *VolumeEncryption) { + *out = *in + out.SecretRef = in.SecretRef + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeEncryption. +func (in *VolumeEncryption) DeepCopy() *VolumeEncryption { + if in == nil { + return nil + } + out := new(VolumeEncryption) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *VolumeList) DeepCopyInto(out *VolumeList) { *out = *in @@ -737,6 +754,11 @@ func (in *VolumeSpec) DeepCopyInto(out *VolumeSpec) { *out = make([]commonv1alpha1.Toleration, len(*in)) copy(*out, *in) } + if in.Encryption != nil { + in, out := &in.Encryption, &out.Encryption + *out = new(VolumeEncryption) + **out = **in + } return } diff --git a/client-go/applyconfigurations/internal/internal.go b/client-go/applyconfigurations/internal/internal.go index 3328e70e4..90f4aa15f 100644 --- a/client-go/applyconfigurations/internal/internal.go +++ b/client-go/applyconfigurations/internal/internal.go @@ -1313,6 +1313,13 @@ var schemaYAML = typed.YAMLObject(`types: type: scalar: string default: "" +- name: com.github.onmetal.onmetal-api.api.storage.v1alpha1.VolumeEncryption + map: + fields: + - name: secretRef + type: + namedType: io.k8s.api.core.v1.LocalObjectReference + default: {} - name: com.github.onmetal.onmetal-api.api.storage.v1alpha1.VolumePool map: fields: @@ -1407,6 +1414,9 @@ var schemaYAML = typed.YAMLObject(`types: - name: claimRef type: namedType: com.github.onmetal.onmetal-api.api.common.v1alpha1.LocalUIDReference + - name: encryption + type: + namedType: com.github.onmetal.onmetal-api.api.storage.v1alpha1.VolumeEncryption - name: image type: scalar: string diff --git a/client-go/applyconfigurations/storage/v1alpha1/volumeencryption.go b/client-go/applyconfigurations/storage/v1alpha1/volumeencryption.go new file mode 100644 index 000000000..22077d78a --- /dev/null +++ b/client-go/applyconfigurations/storage/v1alpha1/volumeencryption.go @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2022 by the OnMetal authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + v1 "k8s.io/api/core/v1" +) + +// VolumeEncryptionApplyConfiguration represents an declarative configuration of the VolumeEncryption type for use +// with apply. +type VolumeEncryptionApplyConfiguration struct { + SecretRef *v1.LocalObjectReference `json:"secretRef,omitempty"` +} + +// VolumeEncryptionApplyConfiguration constructs an declarative configuration of the VolumeEncryption type for use with +// apply. +func VolumeEncryption() *VolumeEncryptionApplyConfiguration { + return &VolumeEncryptionApplyConfiguration{} +} + +// WithSecretRef sets the SecretRef field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SecretRef field is set to the value of the last call. +func (b *VolumeEncryptionApplyConfiguration) WithSecretRef(value v1.LocalObjectReference) *VolumeEncryptionApplyConfiguration { + b.SecretRef = &value + return b +} diff --git a/client-go/applyconfigurations/storage/v1alpha1/volumespec.go b/client-go/applyconfigurations/storage/v1alpha1/volumespec.go index edce4ab09..408bf49b9 100644 --- a/client-go/applyconfigurations/storage/v1alpha1/volumespec.go +++ b/client-go/applyconfigurations/storage/v1alpha1/volumespec.go @@ -34,6 +34,7 @@ type VolumeSpecApplyConfiguration struct { ImagePullSecretRef *v1.LocalObjectReference `json:"imagePullSecretRef,omitempty"` Unclaimable *bool `json:"unclaimable,omitempty"` Tolerations []v1alpha1.TolerationApplyConfiguration `json:"tolerations,omitempty"` + Encryption *VolumeEncryptionApplyConfiguration `json:"encryption,omitempty"` } // VolumeSpecApplyConfiguration constructs an declarative configuration of the VolumeSpec type for use with @@ -124,3 +125,11 @@ func (b *VolumeSpecApplyConfiguration) WithTolerations(values ...*v1alpha1.Toler } return b } + +// WithEncryption sets the Encryption field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Encryption field is set to the value of the last call. +func (b *VolumeSpecApplyConfiguration) WithEncryption(value *VolumeEncryptionApplyConfiguration) *VolumeSpecApplyConfiguration { + b.Encryption = value + return b +} diff --git a/client-go/applyconfigurations/utils.go b/client-go/applyconfigurations/utils.go index dc380a2ea..29c829eb2 100644 --- a/client-go/applyconfigurations/utils.go +++ b/client-go/applyconfigurations/utils.go @@ -216,6 +216,8 @@ func ForKind(kind schema.GroupVersionKind) interface{} { return &applyconfigurationsstoragev1alpha1.VolumeClassApplyConfiguration{} case storagev1alpha1.SchemeGroupVersion.WithKind("VolumeCondition"): return &applyconfigurationsstoragev1alpha1.VolumeConditionApplyConfiguration{} + case storagev1alpha1.SchemeGroupVersion.WithKind("VolumeEncryption"): + return &applyconfigurationsstoragev1alpha1.VolumeEncryptionApplyConfiguration{} case storagev1alpha1.SchemeGroupVersion.WithKind("VolumePool"): return &applyconfigurationsstoragev1alpha1.VolumePoolApplyConfiguration{} case storagev1alpha1.SchemeGroupVersion.WithKind("VolumePoolCondition"): diff --git a/client-go/openapi/zz_generated.openapi.go b/client-go/openapi/zz_generated.openapi.go index 1e80b3226..9fdb086c1 100644 --- a/client-go/openapi/zz_generated.openapi.go +++ b/client-go/openapi/zz_generated.openapi.go @@ -134,6 +134,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "github.com/onmetal/onmetal-api/api/storage/v1alpha1.VolumeClass": schema_onmetal_api_api_storage_v1alpha1_VolumeClass(ref), "github.com/onmetal/onmetal-api/api/storage/v1alpha1.VolumeClassList": schema_onmetal_api_api_storage_v1alpha1_VolumeClassList(ref), "github.com/onmetal/onmetal-api/api/storage/v1alpha1.VolumeCondition": schema_onmetal_api_api_storage_v1alpha1_VolumeCondition(ref), + "github.com/onmetal/onmetal-api/api/storage/v1alpha1.VolumeEncryption": schema_onmetal_api_api_storage_v1alpha1_VolumeEncryption(ref), "github.com/onmetal/onmetal-api/api/storage/v1alpha1.VolumeList": schema_onmetal_api_api_storage_v1alpha1_VolumeList(ref), "github.com/onmetal/onmetal-api/api/storage/v1alpha1.VolumePool": schema_onmetal_api_api_storage_v1alpha1_VolumePool(ref), "github.com/onmetal/onmetal-api/api/storage/v1alpha1.VolumePoolCondition": schema_onmetal_api_api_storage_v1alpha1_VolumePoolCondition(ref), @@ -1343,7 +1344,7 @@ func schema_onmetal_api_api_compute_v1alpha1_MachineSpec(ref common.ReferenceCal }, "power": { SchemaProps: spec.SchemaProps{ - Description: "Power ist the desired machine power state. Defaults to PowerOn.", + Description: "Power is the desired machine power state. Defaults to PowerOn.", Type: []string{"string"}, Format: "", }, @@ -4791,6 +4792,29 @@ func schema_onmetal_api_api_storage_v1alpha1_VolumeCondition(ref common.Referenc } } +func schema_onmetal_api_api_storage_v1alpha1_VolumeEncryption(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "VolumeEncryption represents information to encrypt a volume.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "secretRef": { + SchemaProps: spec.SchemaProps{ + Description: "SecretRef references the Secret containing the encryption key to encrypt a Volume. This secret is created by user with encryptionKey as Key and base64 encoded 256-bit encryption key as Value.", + Default: map[string]interface{}{}, + Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + }, + }, + }, + Required: []string{"secretRef"}, + }, + }, + Dependencies: []string{ + "k8s.io/api/core/v1.LocalObjectReference"}, + } +} + func schema_onmetal_api_api_storage_v1alpha1_VolumeList(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -5204,11 +5228,17 @@ func schema_onmetal_api_api_storage_v1alpha1_VolumeSpec(ref common.ReferenceCall }, }, }, + "encryption": { + SchemaProps: spec.SchemaProps{ + Description: "Encryption is an optional field which provides attributes to encrypt Volume.", + Ref: ref("github.com/onmetal/onmetal-api/api/storage/v1alpha1.VolumeEncryption"), + }, + }, }, }, }, Dependencies: []string{ - "github.com/onmetal/onmetal-api/api/common/v1alpha1.LocalUIDReference", "github.com/onmetal/onmetal-api/api/common/v1alpha1.Toleration", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/apimachinery/pkg/api/resource.Quantity"}, + "github.com/onmetal/onmetal-api/api/common/v1alpha1.LocalUIDReference", "github.com/onmetal/onmetal-api/api/common/v1alpha1.Toleration", "github.com/onmetal/onmetal-api/api/storage/v1alpha1.VolumeEncryption", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/apimachinery/pkg/api/resource.Quantity"}, } } diff --git a/docs/api-reference/compute.md b/docs/api-reference/compute.md index 7031ffeab..b4a95b19f 100644 --- a/docs/api-reference/compute.md +++ b/docs/api-reference/compute.md @@ -113,6 +113,20 @@ If empty, a scheduler will figure out an appropriate pool to run the machine in.
power
Power is the desired machine power state. +Defaults to PowerOn.
+image
power
Power is the desired machine power state. +Defaults to PowerOn.
+image
"Shutdown"
MachineStateShutdown means the machine is shut down.
"Terminated"
MachineStateTerminated means the machine has been permanently stopped and cannot be started.
+machineID
MachineID is the provider specific machine ID in the format ‘
machinePoolObservedGeneration
string
alias)+(Appears on:MachineSpec) +
+Power is the desired power state of a Machine.
+Value | +Description | +
---|---|
"Off" |
+PowerOff indicates that a Machine should be powered off. + |
+
"On" |
+PowerOn indicates that a Machine should be powered on. + |
+
diff --git a/docs/api-reference/networking.md b/docs/api-reference/networking.md index 813478379..1682002dd 100644 --- a/docs/api-reference/networking.md +++ b/docs/api-reference/networking.md @@ -1939,6 +1939,19 @@ NetworkInterfacePhase
machinePoolRef
MachinePoolRef is the machine pool the network interface is currently on, if any.
+lastPhaseTransitionTime
Volume is the Schema for the volumes API
+Bucket is the Schema for the buckets API
Volume |
+Bucket |
||||||||
@@ -64,8 +70,8 @@ Refer to the Kubernetes API documentation for the fields of the |
spec - -VolumeSpec + +BucketSpec |
@@ -75,7 +81,7 @@ VolumeSpec
-volumeClassRef + bucketClassRef Kubernetes core/v1.LocalObjectReference @@ -83,75 +89,851 @@ Kubernetes core/v1.LocalObjectReference |
- VolumeClassRef is the VolumeClass of a volume -If empty, an external controller has to provision the volume. +BucketClassRef is the BucketClass of a bucket +If empty, an external controller has to provision the bucket. |
-volumePoolSelector + bucketPoolSelector map[string]string |
- VolumePoolSelector selects a suitable VolumePoolRef by the given labels. +BucketPoolSelector selects a suitable BucketPoolRef by the given labels. + |
+
+bucketPoolRef + + +Kubernetes core/v1.LocalObjectReference + + + |
+
+ BucketPoolRef indicates which BucketPool to use for a bucket. +If unset, the scheduler will figure out a suitable BucketPoolRef. + |
+
+tolerations + + +[]github.com/onmetal/onmetal-api/api/common/v1alpha1.Toleration + + + |
+
+ Tolerations define tolerations the Bucket has. Only any BucketPool whose taints +covered by Tolerations will be considered to host the Bucket. + |
+
status
BucketClass is the Schema for the bucketclasses API
+Field | +Description | +
---|---|
+apiVersion +string |
+
+
+storage.api.onmetal.de/v1alpha1
+
+ |
+
+kind +string + |
+BucketClass |
+
+metadata + + +Kubernetes meta/v1.ObjectMeta + + + |
+
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
+ |
+
+capabilities + + +Kubernetes core/v1.ResourceList + + + |
+
+ Capabilities describes the capabilities of a BucketClass. + |
+
BucketPool is the Schema for the bucketpools API
+Field | +Description | +||||
---|---|---|---|---|---|
+apiVersion +string |
+
+
+storage.api.onmetal.de/v1alpha1
+
+ |
+||||
+kind +string + |
+BucketPool |
+||||
+metadata + + +Kubernetes meta/v1.ObjectMeta + + + |
+
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
+ |
+||||
+spec + + +BucketPoolSpec + + + |
+
+ + +
|
+||||
+status + + +BucketPoolStatus + + + |
++ | +
Volume is the Schema for the volumes API
+Field | +Description | +||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+apiVersion +string |
+
+
+storage.api.onmetal.de/v1alpha1
+
+ |
+||||||||||||||||||||
+kind +string |
+Volume |
+||||||||||||||||||||
+metadata + + +Kubernetes meta/v1.ObjectMeta + + + |
+
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
+ |
+||||||||||||||||||||
+spec + + +VolumeSpec + + + |
+
+ + +
|
+||||||||||||||||||||
+status + + +VolumeStatus + + + |
++ | +
VolumeClass is the Schema for the volumeclasses API
+Field | +Description | +
---|---|
+apiVersion +string |
+
+
+storage.api.onmetal.de/v1alpha1
+
+ |
+
+kind +string + |
+VolumeClass |
+
+metadata + + +Kubernetes meta/v1.ObjectMeta + + + |
+
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
+ |
+
+capabilities + + +Kubernetes core/v1.ResourceList + + + |
+
+ Capabilities describes the capabilities of a VolumeClass. + |
+
VolumePool is the Schema for the volumepools API
+Field | +Description | +||||
---|---|---|---|---|---|
+apiVersion +string |
+
+
+storage.api.onmetal.de/v1alpha1
+
+ |
+||||
+kind +string + |
+VolumePool |
+||||
+metadata + + +Kubernetes meta/v1.ObjectMeta + + + |
+
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
+ |
+||||
+spec + + +VolumePoolSpec + + + |
+
+ + +
|
+||||
+status + + +VolumePoolStatus + + + |
++ | +
+(Appears on:BucketStatus) +
+BucketAccess represents information on how to access a bucket.
+Field | +Description | +
---|---|
+secretRef + + +Kubernetes core/v1.LocalObjectReference + + + |
+
+ SecretRef references the Secret containing the access credentials to consume a Bucket. + |
+
+endpoint + +string + + |
+
+ Endpoint defines address of the Bucket REST-API. + |
+
+(Appears on:BucketStatus) +
+BucketCondition is one of the conditions of a bucket.
+Field | +Description | +
---|---|
+type + + +BucketConditionType + + + |
+
+ Type is the type of the condition. + |
+
+status + + +Kubernetes core/v1.ConditionStatus + + + |
+
+ Status is the status of the condition. + |
+
+reason + +string + + |
+
+ Reason is a machine-readable indication of why the condition is in a certain state. + |
+
+message + +string + + |
+
+ Message is a human-readable explanation of why the condition has a certain reason / state. + |
+
+observedGeneration + +int64 + + |
+
+ ObservedGeneration represents the .metadata.generation that the condition was set based upon. + |
+
+lastTransitionTime + + +Kubernetes meta/v1.Time + + + |
+
+ LastTransitionTime is the last time the status of a condition has transitioned from one state to another. + |
+
string
alias)+(Appears on:BucketCondition) +
+BucketConditionType is a type a BucketCondition can have.
++(Appears on:BucketPool) +
+BucketPoolSpec defines the desired state of BucketPool
+Field | +Description |
---|---|
-volumePoolRef + providerID - -Kubernetes core/v1.LocalObjectReference - +string |
- VolumePoolRef indicates which VolumePool to use for a volume. -If unset, the scheduler will figure out a suitable VolumePoolRef. +ProviderID identifies the BucketPool on provider side. |
-claimRef + taints - -github.com/onmetal/onmetal-api/api/common/v1alpha1.LocalUIDReference + +[]github.com/onmetal/onmetal-api/api/common/v1alpha1.Taint |
- ClaimRef is the reference to the claiming entity of the Volume. +Taints of the BucketPool. Only Buckets who tolerate all the taints +will land in the BucketPool. |
string
alias)+(Appears on:BucketPoolStatus) +
+Value | +Description | +
---|---|
"Available" |
++ |
"Pending" |
++ |
"Unavailable" |
++ |
+(Appears on:BucketPool) +
+BucketPoolStatus defines the observed state of BucketPool
+Field | +Description | +
---|---|
-resources + state - -Kubernetes core/v1.ResourceList + +BucketPoolState |
- Resources is a description of the volume’s resources and capacity. +State represents the infrastructure state of a BucketPool. |
-image + availableBucketClasses -string + +[]Kubernetes core/v1.LocalObjectReference + |
- Image is an optional image to bootstrap the volume with. +AvailableBucketClasses list the references of any supported BucketClass of this pool |
+(Appears on:Bucket, BucketTemplateSpec) +
+BucketSpec defines the desired state of Bucket
+Field | +Description | +
---|---|
-imagePullSecretRef + bucketClassRef Kubernetes core/v1.LocalObjectReference @@ -159,55 +941,84 @@ Kubernetes core/v1.LocalObjectReference |
- ImagePullSecretRef is an optional secret for pulling the image of a volume. +BucketClassRef is the BucketClass of a bucket +If empty, an external controller has to provision the bucket. |
-unclaimable + bucketPoolSelector -bool +map[string]string |
- Unclaimable marks the volume as unclaimable. +BucketPoolSelector selects a suitable BucketPoolRef by the given labels. |
-tolerations + bucketPoolRef - -[]github.com/onmetal/onmetal-api/api/common/v1alpha1.Toleration + +Kubernetes core/v1.LocalObjectReference |
- Tolerations define tolerations the Volume has. Only any VolumePool whose taints -covered by Tolerations will be considered to host the Volume. - |
-
BucketPoolRef indicates which BucketPool to use for a bucket. +If unset, the scheduler will figure out a suitable BucketPoolRef.
status
tolerations
Tolerations define tolerations the Bucket has. Only any BucketPool whose taints +covered by Tolerations will be considered to host the Bucket.
string
alias)+(Appears on:BucketStatus) +
+BucketState represents the infrastructure state of a Bucket.
+Value | +Description | +
---|---|
"Available" |
+BucketStateAvailable reports whether a Bucket is available to be used. + |
+
"Error" |
+BucketStateError reports that a Bucket is in an error state. + |
+
"Pending" |
+BucketStatePending reports whether a Bucket is about to be ready. + |
+
+(Appears on:Bucket) +
VolumeClass is the Schema for the volumeclasses API
+BucketStatus defines the observed state of Bucket
-apiVersion -string |
+
-
-storage.api.onmetal.de/v1alpha1
-
+State represents the infrastructure state of a Bucket. |
|
-kind -string + lastStateTransitionTime + + +Kubernetes meta/v1.Time + + + |
+
+ LastStateTransitionTime is the last time the State transitioned between values. |
-VolumeClass |
-metadata + access - -Kubernetes meta/v1.ObjectMeta + +BucketAccess |
-Refer to the Kubernetes API documentation for the fields of the
-metadata field.
+Access specifies how to access a Bucket. +This is set by the bucket provider when the bucket is provisioned. |
|
-capabilities + conditions - -Kubernetes core/v1.ResourceList + +[]BucketCondition |
- Capabilities describes the capabilities of a VolumeClass. +Conditions are the conditions of a bucket. |
VolumePool is the Schema for the volumepools API
+BucketTemplateSpec is the specification of a Bucket template.
-apiVersion -string |
-
-
-storage.api.onmetal.de/v1alpha1
-
- |
-||||||||
-kind -string - |
-VolumePool |
-||||||||
metadata @@ -311,8 +1114,8 @@ Refer to the Kubernetes API documentation for the fields of the
|
@@ -322,42 +1125,58 @@ VolumePoolSpec
spec - -VolumePoolSpec + +BucketSpec
+ |
+bucketPoolRef + + +Kubernetes core/v1.LocalObjectReference + + +
+ |
BucketPoolRef indicates which BucketPool to use for a bucket. +If unset, the scheduler will figure out a suitable BucketPoolRef.
- |
status + tolerations - -VolumePoolStatus + +[]github.com/onmetal/onmetal-api/api/common/v1alpha1.Toleration
+ |
+Tolerations define tolerations the Bucket has. Only any BucketPool whose taints +covered by Tolerations will be considered to host the Bucket. + |
VolumeConditionType is a type a VolumeCondition can have.
+(Appears on:VolumeSpec) +
+VolumeEncryption represents information to encrypt a volume.
+Field | +Description | +
---|---|
+secretRef + + +Kubernetes core/v1.LocalObjectReference + + + |
+
+ SecretRef references the Secret containing the encryption key to encrypt a Volume. +This secret is created by user with encryptionKey as Key and base64 encoded 256-bit encryption key as Value. + |
+
string
alias)@@ -707,10 +1558,10 @@ will land in the VolumePool.
"Available"
"NotAvailable"
"Pending"
"Unavailable"
encryption
Encryption is an optional field which provides attributes to encrypt Volume.
+encryption
Encryption is an optional field which provides attributes to encrypt Volume.
+