Skip to content

Commit 5d66385

Browse files
authored
Merge pull request #575 from dprince/storage_updates
storage: Add new ToCoreVolume and ProjectVolumeSource
2 parents 30baa23 + 333dbab commit 5d66385

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

modules/storage/storage.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,9 @@ type VolumeSource struct {
9090
// csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature).
9191
// +optional
9292
CSI *corev1.CSIVolumeSource `json:"csi,omitempty" protobuf:"bytes,28,opt,name=csi"`
93+
94+
// projected items for all in one resources secrets, configmaps, and downward API
95+
Projected *corev1.ProjectedVolumeSource `json:"projected,omitempty" protobuf:"bytes,26,opt,name=projected"`
9396
}
9497

9598
// Volume our slimmed down version of Volume
@@ -161,3 +164,20 @@ func (s *VolumeSource) ToCoreVolumeSource() (*corev1.VolumeSource, error) {
161164

162165
return coreVolumeSource, nil
163166
}
167+
168+
// ToCoreVolume - convert Volume to corev1.Volume
169+
func (s *Volume) ToCoreVolume() (*corev1.Volume, error) {
170+
coreVolume := &corev1.Volume{}
171+
172+
coreVolumeBytes, err := json.Marshal(s)
173+
if err != nil {
174+
return nil, fmt.Errorf("error marshalling Volume: %w", err)
175+
}
176+
177+
err = json.Unmarshal(coreVolumeBytes, coreVolume)
178+
if err != nil {
179+
return nil, fmt.Errorf("error unmarshalling Volume: %w", err)
180+
}
181+
182+
return coreVolume, nil
183+
}

0 commit comments

Comments
 (0)