github.com/redhat-appstudio/e2e-tests@v0.0.0-20240520140907-9709f6f59323/pkg/utils/tekton/persistent_volume_claims.go (about)

     1  package tekton
     2  
     3  import (
     4  	"context"
     5  
     6  	corev1 "k8s.io/api/core/v1"
     7  	"k8s.io/apimachinery/pkg/api/resource"
     8  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
     9  	v1 "k8s.io/client-go/kubernetes/typed/core/v1"
    10  )
    11  
    12  // CreatePVC creates PVC.
    13  func CreatePVC(pvcs v1.PersistentVolumeClaimInterface, pvcName string) error {
    14  	pvc := &corev1.PersistentVolumeClaim{
    15  		ObjectMeta: metav1.ObjectMeta{
    16  			Name: pvcName,
    17  		},
    18  		Spec: corev1.PersistentVolumeClaimSpec{
    19  			AccessModes: []corev1.PersistentVolumeAccessMode{
    20  				corev1.ReadWriteOnce,
    21  			},
    22  			Resources: corev1.ResourceRequirements{
    23  				Requests: corev1.ResourceList{
    24  					corev1.ResourceStorage: resource.MustParse("1Gi"),
    25  				},
    26  			},
    27  		},
    28  	}
    29  
    30  	if _, err := pvcs.Create(context.Background(), pvc, metav1.CreateOptions{}); err != nil {
    31  		return err
    32  	}
    33  
    34  	return nil
    35  }