Newer
Older
"github.com/imdario/mergo"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
"github.com/pkg/errors"
corev1 "k8s.io/api/core/v1"
)
func Generate(m Mutate) (out corev1.PersistentVolumeClaim, err error) {
om, err := meta.MutateObjectMeta(m)
return out, errors.Wrap(err, "failed to generate objectmeta")
accessModes, err := m.GenAccessModes()
if err != nil {
return out, errors.Wrap(err, "failed to generate pvc accessmodes")
resources, err := m.GenResources()
if err != nil {
return out, errors.Wrap(err, "failed to generate pvc accessmodes")
out.Spec = corev1.PersistentVolumeClaimSpec{
AccessModes: accessModes,
Resources: resources,
// StorageClassName: c.StorageClassName,
func (c Conf) Mutate() controllerutil.MutateFn {
return func() error {
out, err := Generate(c)
if err != nil {