add config
Signed-off-by: Howard Lau <howardlau1999@hotmail.com>
This commit is contained in:
parent
5bc96e22b1
commit
a8c8fd65bc
|
@ -122,6 +122,7 @@ type MasterSpec struct {
|
||||||
// Config in raw toml string
|
// Config in raw toml string
|
||||||
Config *string `json:"config,omitempty"`
|
Config *string `json:"config,omitempty"`
|
||||||
|
|
||||||
|
// Master-specific settings
|
||||||
VolumePreallocate *bool `json:"volumePreallocate,omitempty"`
|
VolumePreallocate *bool `json:"volumePreallocate,omitempty"`
|
||||||
VolumeSizeLimitMB *int32 `json:"volumeSizeLimitMB,omitempty"`
|
VolumeSizeLimitMB *int32 `json:"volumeSizeLimitMB,omitempty"`
|
||||||
GarbageThreshold *string `json:"garbageThreshold,omitempty"`
|
GarbageThreshold *string `json:"garbageThreshold,omitempty"`
|
||||||
|
@ -138,6 +139,17 @@ type VolumeSpec struct {
|
||||||
// +kubebuilder:validation:Minimum=1
|
// +kubebuilder:validation:Minimum=1
|
||||||
Replicas int32 `json:"replicas"`
|
Replicas int32 `json:"replicas"`
|
||||||
Service *ServiceSpec `json:"service,omitempty"`
|
Service *ServiceSpec `json:"service,omitempty"`
|
||||||
|
|
||||||
|
StorageClassName *string `json:"storageClassName,omitempty"`
|
||||||
|
|
||||||
|
// Volume-specific settings
|
||||||
|
|
||||||
|
CompactionMBps *int32 `json:"compactionMBps,omitempty"`
|
||||||
|
FileSizeLimitMB *int32 `json:"fileSizeLimitMB,omitempty"`
|
||||||
|
FixJpgOrientation *bool `json:"fixJpgOrientation,omitempty"`
|
||||||
|
IdleTimeout *int32 `json:"idleTimeout,omitempty"`
|
||||||
|
MaxVolumeCounts *int32 `json:"maxVolumeCounts,omitempty"`
|
||||||
|
MinFreeSpacePercent *int32 `json:"minFreeSpacePercent,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// FilerSpec is the spec for filers
|
// FilerSpec is the spec for filers
|
||||||
|
@ -149,8 +161,13 @@ type FilerSpec struct {
|
||||||
// +kubebuilder:validation:Minimum=1
|
// +kubebuilder:validation:Minimum=1
|
||||||
Replicas int32 `json:"replicas"`
|
Replicas int32 `json:"replicas"`
|
||||||
Service *ServiceSpec `json:"service,omitempty"`
|
Service *ServiceSpec `json:"service,omitempty"`
|
||||||
|
|
||||||
// Config in raw toml string
|
// Config in raw toml string
|
||||||
Config *string `json:"config,omitempty"`
|
Config *string `json:"config,omitempty"`
|
||||||
|
|
||||||
|
// Filer-specific settings
|
||||||
|
|
||||||
|
MaxMB *int32 `json:"maxMB,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// ComponentSpec is the base spec of each component, the fields should always accessed by the Basic<Component>Spec() method to respect the cluster-level properties
|
// ComponentSpec is the base spec of each component, the fields should always accessed by the Basic<Component>Spec() method to respect the cluster-level properties
|
||||||
|
|
|
@ -137,6 +137,11 @@ func (in *FilerSpec) DeepCopyInto(out *FilerSpec) {
|
||||||
*out = new(string)
|
*out = new(string)
|
||||||
**out = **in
|
**out = **in
|
||||||
}
|
}
|
||||||
|
if in.MaxMB != nil {
|
||||||
|
in, out := &in.MaxMB, &out.MaxMB
|
||||||
|
*out = new(int32)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilerSpec.
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilerSpec.
|
||||||
|
@ -398,6 +403,41 @@ func (in *VolumeSpec) DeepCopyInto(out *VolumeSpec) {
|
||||||
*out = new(ServiceSpec)
|
*out = new(ServiceSpec)
|
||||||
(*in).DeepCopyInto(*out)
|
(*in).DeepCopyInto(*out)
|
||||||
}
|
}
|
||||||
|
if in.StorageClassName != nil {
|
||||||
|
in, out := &in.StorageClassName, &out.StorageClassName
|
||||||
|
*out = new(string)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
if in.CompactionMBps != nil {
|
||||||
|
in, out := &in.CompactionMBps, &out.CompactionMBps
|
||||||
|
*out = new(int32)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
if in.FileSizeLimitMB != nil {
|
||||||
|
in, out := &in.FileSizeLimitMB, &out.FileSizeLimitMB
|
||||||
|
*out = new(int32)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
if in.FixJpgOrientation != nil {
|
||||||
|
in, out := &in.FixJpgOrientation, &out.FixJpgOrientation
|
||||||
|
*out = new(bool)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
if in.IdleTimeout != nil {
|
||||||
|
in, out := &in.IdleTimeout, &out.IdleTimeout
|
||||||
|
*out = new(int32)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
if in.MaxVolumeCounts != nil {
|
||||||
|
in, out := &in.MaxVolumeCounts, &out.MaxVolumeCounts
|
||||||
|
*out = new(int32)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
if in.MinFreeSpacePercent != nil {
|
||||||
|
in, out := &in.MinFreeSpacePercent, &out.MinFreeSpacePercent
|
||||||
|
*out = new(int32)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeSpec.
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeSpec.
|
||||||
|
|
|
@ -3669,6 +3669,9 @@ spec:
|
||||||
description: 'Limits describes the maximum amount of compute resources
|
description: 'Limits describes the maximum amount of compute resources
|
||||||
allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
|
allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
|
||||||
type: object
|
type: object
|
||||||
|
maxMB:
|
||||||
|
format: int32
|
||||||
|
type: integer
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
type: string
|
type: string
|
||||||
|
@ -6982,6 +6985,7 @@ spec:
|
||||||
version if non-empty
|
version if non-empty
|
||||||
type: string
|
type: string
|
||||||
volumePreallocate:
|
volumePreallocate:
|
||||||
|
description: Master-specific settings
|
||||||
type: boolean
|
type: boolean
|
||||||
volumeSizeLimitMB:
|
volumeSizeLimitMB:
|
||||||
format: int32
|
format: int32
|
||||||
|
@ -9960,6 +9964,9 @@ spec:
|
||||||
description: Annotations of the component. Merged into the cluster-level
|
description: Annotations of the component. Merged into the cluster-level
|
||||||
annotations if non-empty
|
annotations if non-empty
|
||||||
type: object
|
type: object
|
||||||
|
compactionMBps:
|
||||||
|
format: int32
|
||||||
|
type: integer
|
||||||
env:
|
env:
|
||||||
description: List of environment variables to set in the container,
|
description: List of environment variables to set in the container,
|
||||||
like v1.Container.Env. Note that following env names cannot be
|
like v1.Container.Env. Note that following env names cannot be
|
||||||
|
@ -10069,10 +10076,18 @@ spec:
|
||||||
- name
|
- name
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
|
fileSizeLimitMB:
|
||||||
|
format: int32
|
||||||
|
type: integer
|
||||||
|
fixJpgOrientation:
|
||||||
|
type: boolean
|
||||||
hostNetwork:
|
hostNetwork:
|
||||||
description: Whether Hostnetwork of the component is enabled. Override
|
description: Whether Hostnetwork of the component is enabled. Override
|
||||||
the cluster-level setting if present
|
the cluster-level setting if present
|
||||||
type: boolean
|
type: boolean
|
||||||
|
idleTimeout:
|
||||||
|
format: int32
|
||||||
|
type: integer
|
||||||
imagePullPolicy:
|
imagePullPolicy:
|
||||||
description: ImagePullPolicy of the component. Override the cluster-level
|
description: ImagePullPolicy of the component. Override the cluster-level
|
||||||
imagePullPolicy if present
|
imagePullPolicy if present
|
||||||
|
@ -10101,6 +10116,12 @@ spec:
|
||||||
description: 'Limits describes the maximum amount of compute resources
|
description: 'Limits describes the maximum amount of compute resources
|
||||||
allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
|
allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
|
||||||
type: object
|
type: object
|
||||||
|
maxVolumeCounts:
|
||||||
|
format: int32
|
||||||
|
type: integer
|
||||||
|
minFreeSpacePercent:
|
||||||
|
format: int32
|
||||||
|
type: integer
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
type: string
|
type: string
|
||||||
|
@ -10156,6 +10177,8 @@ spec:
|
||||||
that will be employed to update Pods in the StatefulSet when a
|
that will be employed to update Pods in the StatefulSet when a
|
||||||
revision is made to Template.
|
revision is made to Template.
|
||||||
type: string
|
type: string
|
||||||
|
storageClassName:
|
||||||
|
type: string
|
||||||
terminationGracePeriodSeconds:
|
terminationGracePeriodSeconds:
|
||||||
description: Optional duration in seconds the pod needs to terminate
|
description: Optional duration in seconds the pod needs to terminate
|
||||||
gracefully. May be decreased in delete request. Value must be
|
gracefully. May be decreased in delete request. Value must be
|
||||||
|
|
|
@ -59,6 +59,7 @@ func (r *SeaweedReconciler) createVolumeServerStatefulSet(m *seaweedv1.Seaweed)
|
||||||
Name: fmt.Sprintf("mount%d", i),
|
Name: fmt.Sprintf("mount%d", i),
|
||||||
},
|
},
|
||||||
Spec: corev1.PersistentVolumeClaimSpec{
|
Spec: corev1.PersistentVolumeClaimSpec{
|
||||||
|
StorageClassName: m.Spec.Volume.StorageClassName,
|
||||||
AccessModes: []corev1.PersistentVolumeAccessMode{
|
AccessModes: []corev1.PersistentVolumeAccessMode{
|
||||||
corev1.ReadWriteOnce,
|
corev1.ReadWriteOnce,
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue