@@ -547,22 +547,31 @@ type PodSpec struct {
547
547
// Deprecated: Use ServiceExpose.Labels instead
548
548
ReplicasServiceLabels map [string ]string `json:"replicasServiceLabels,omitempty"`
549
549
550
- SchedulerName string `json:"schedulerName,omitempty"`
551
- ReadinessInitialDelaySeconds * int32 `json:"readinessDelaySec,omitempty"`
552
- ReadinessProbes corev1.Probe `json:"readinessProbes,omitempty"`
553
- LivenessInitialDelaySeconds * int32 `json:"livenessDelaySec,omitempty"`
554
- LivenessProbes corev1.Probe `json:"livenessProbes,omitempty"`
555
- PodSecurityContext * corev1.PodSecurityContext `json:"podSecurityContext,omitempty"`
556
- ContainerSecurityContext * corev1.SecurityContext `json:"containerSecurityContext,omitempty"`
557
- ServiceAccountName string `json:"serviceAccountName,omitempty"`
558
- ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`
559
- Sidecars []corev1.Container `json:"sidecars,omitempty"`
560
- SidecarVolumes []corev1.Volume `json:"sidecarVolumes,omitempty"`
561
- SidecarPVCs []corev1.PersistentVolumeClaim `json:"sidecarPVCs,omitempty"`
562
- RuntimeClassName * string `json:"runtimeClassName,omitempty"`
563
- HookScript string `json:"hookScript,omitempty"`
564
- Lifecycle corev1.Lifecycle `json:"lifecycle,omitempty"`
565
- TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
550
+ SchedulerName string `json:"schedulerName,omitempty"`
551
+ ReadinessInitialDelaySeconds * int32 `json:"readinessDelaySec,omitempty"`
552
+ ReadinessProbes corev1.Probe `json:"readinessProbes,omitempty"`
553
+ LivenessInitialDelaySeconds * int32 `json:"livenessDelaySec,omitempty"`
554
+ LivenessProbes corev1.Probe `json:"livenessProbes,omitempty"`
555
+ PodSecurityContext * corev1.PodSecurityContext `json:"podSecurityContext,omitempty"`
556
+ ContainerSecurityContext * corev1.SecurityContext `json:"containerSecurityContext,omitempty"`
557
+ ServiceAccountName string `json:"serviceAccountName,omitempty"`
558
+ ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`
559
+ Sidecars []corev1.Container `json:"sidecars,omitempty"`
560
+ SidecarVolumes []corev1.Volume `json:"sidecarVolumes,omitempty"`
561
+ // +kubebuilder:validation:items:XEmbeddedResource
562
+ SidecarPVCs []corev1.PersistentVolumeClaim `json:"sidecarPVCs,omitempty"`
563
+ RuntimeClassName * string `json:"runtimeClassName,omitempty"`
564
+ HookScript string `json:"hookScript,omitempty"`
565
+ Lifecycle corev1.Lifecycle `json:"lifecycle,omitempty"`
566
+ TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
567
+ ExtraPVCs []ExtraPVC `json:"extraPVCs,omitempty"`
568
+ }
569
+
570
+ type ExtraPVC struct {
571
+ // +kubebuilder:validation:EmbeddedResource
572
+ VolumeClaimTemplate corev1.PersistentVolumeClaim `json:"volumeClaimTemplate,omitempty"`
573
+ MountPath string `json:"mountPath,omitempty"`
574
+ ReadOnly * bool `json:"readOnly,omitempty"`
566
575
}
567
576
568
577
func (spec * PodSpec ) HasSidecarInternalSecret (secret * corev1.Secret ) bool {
@@ -1522,6 +1531,14 @@ func AddSidecarContainers(log logr.Logger, existing, sidecars []corev1.Container
1522
1531
return existing
1523
1532
}
1524
1533
1534
+ func AddExtraVolumes (log logr.Logger , existing []corev1.Volume , extraVolumes []ExtraPVC ) []corev1.Volume {
1535
+ if len (extraVolumes ) == 0 {
1536
+ return existing
1537
+ }
1538
+
1539
+ return existing
1540
+ }
1541
+
1525
1542
func AddSidecarVolumes (log logr.Logger , existing , sidecarVolumes []corev1.Volume ) []corev1.Volume {
1526
1543
if len (sidecarVolumes ) == 0 {
1527
1544
return existing
0 commit comments