MCPcopy Create free account
hub / github.com/cloudnative-pg/cloudnative-pg / createPostgresVolumes

Function createPostgresVolumes

pkg/specs/volumes.go:98–162  ·  view source on GitHub ↗
(
	cluster *apiv1.Cluster,
	podName string,
	extensions []apiv1.ExtensionConfiguration,
)

Source from the content-addressed store, hash-verified

96}
97
98func createPostgresVolumes(
99 cluster *apiv1.Cluster,
100 podName string,
101 extensions []apiv1.ExtensionConfiguration,
102) []corev1.Volume {
103 result := []corev1.Volume{
104 {
105 Name: pgdataVolumeName,
106 VolumeSource: corev1.VolumeSource{
107 PersistentVolumeClaim: &corev1.PersistentVolumeClaimVolumeSource{
108 ClaimName: podName,
109 },
110 },
111 },
112 createEphemeralVolume(cluster),
113 {
114 Name: "shm",
115 VolumeSource: corev1.VolumeSource{
116 EmptyDir: &corev1.EmptyDirVolumeSource{
117 Medium: "Memory",
118 SizeLimit: cluster.Spec.EphemeralVolumesSizeLimit.GetShmLimit(),
119 },
120 },
121 },
122 }
123
124 if cluster.ShouldCreateWalArchiveVolume() {
125 result = append(result,
126 corev1.Volume{
127 Name: "pg-wal",
128 VolumeSource: corev1.VolumeSource{
129 PersistentVolumeClaim: &corev1.PersistentVolumeClaimVolumeSource{
130 ClaimName: podName + apiv1.WalArchiveVolumeSuffix,
131 },
132 },
133 })
134 }
135
136 // we should create volumeMounts in fixed sequence as podSpec will store it in annotation and
137 // later it will be retrieved to do deepEquals
138 if cluster.ContainsTablespaces() {
139 // Try to get a fix order of name
140 tbsNames := getSortedTablespaceList(cluster)
141 for i := range tbsNames {
142 result = append(result,
143 corev1.Volume{
144 Name: VolumeMountNameForTablespace(tbsNames[i]),
145 VolumeSource: corev1.VolumeSource{
146 PersistentVolumeClaim: &corev1.PersistentVolumeClaimVolumeSource{
147 ClaimName: PvcNameForTablespace(podName, tbsNames[i]),
148 },
149 },
150 },
151 )
152 }
153 }
154
155 if cluster.ShouldCreateProjectedVolume() {

Callers 3

CreatePrimaryJobFunction · 0.85
createClusterPodSpecFunction · 0.85
volumes_test.goFile · 0.85

Calls 10

createEphemeralVolumeFunction · 0.85
getSortedTablespaceListFunction · 0.85
PvcNameForTablespaceFunction · 0.85
createProjectedVolumeFunction · 0.85
CreateExtensionVolumesFunction · 0.85
GetShmLimitMethod · 0.80
ContainsTablespacesMethod · 0.80

Tested by

no test coverage detected