Exemplo n.º 1
0
// create pvc claim for couchdb pod, used for rc spawner
// pvc name is automatically generated by kubernetes
// @param cluster *CouchdbCluster - cluster that will be using this pvc
// @return *api.PersistentVolumeClaim - filled pvc claim struct ready to be created
func (cluster *CouchdbCluster) CouchdbPVClaim() *api.PersistentVolumeClaim {
	// resource list
	rsList := make(api.ResourceList)
	// SIZE
	rsList[api.ResourceStorage] = *(resource.NewQuantity(COUCHDB_VOLUME_SIZE, resource.BinarySI))

	// pvc SPEC, witch readWriteOnce access mode
	pvcSpec := api.PersistentVolumeClaimSpec{AccessModes: []api.PersistentVolumeAccessMode{api.ReadWriteOnce}}
	pvcSpec.Resources.Requests = api.ResourceList(rsList)
	// PVC
	pvc := api.PersistentVolumeClaim{Spec: pvcSpec}
	pvc.GenerateName = CLUSTER_PREFIX + cluster.Tag + "-"
	pvc.Labels = cluster.Labels

	return &pvc
}