@@ -27,6 +27,7 @@ import (
2727 batchv1 "k8s.io/api/batch/v1"
2828 batchv1beta1 "k8s.io/api/batch/v1beta1"
2929 v1 "k8s.io/api/core/v1"
30+ "k8s.io/apimachinery/pkg/api/resource"
3031 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
3132)
3233
@@ -114,6 +115,38 @@ func buildJobTemplate(conf *config.Config, dbcr *kciv1alpha1.Database) (batchv1b
114115 }, nil
115116}
116117
118+ func getResourceRequirements (conf * config.Config ) v1.ResourceRequirements {
119+ resourceRequirements := v1.ResourceRequirements {}
120+
121+ requests := make (v1.ResourceList )
122+ cpuRequests , err := resource .ParseQuantity (conf .Backup .Resource .Requests .Cpu )
123+ if err == nil {
124+ requests ["cpu" ] = cpuRequests
125+ }
126+ memRequests , err := resource .ParseQuantity (conf .Backup .Resource .Requests .Memory )
127+ if err == nil {
128+ requests ["memory" ] = memRequests
129+ }
130+ if len (requests ) != 0 {
131+ resourceRequirements .Requests = requests
132+ }
133+
134+ limits := make (v1.ResourceList )
135+ cpuLimits , err := resource .ParseQuantity (conf .Backup .Resource .Limits .Cpu )
136+ if err == nil {
137+ limits ["cpu" ] = cpuLimits
138+ }
139+ memLimits , err := resource .ParseQuantity (conf .Backup .Resource .Limits .Memory )
140+ if err == nil {
141+ limits ["memory" ] = memLimits
142+ }
143+ if len (limits ) != 0 {
144+ resourceRequirements .Limits = limits
145+ }
146+
147+ return resourceRequirements
148+ }
149+
117150func postgresBackupContainer (conf * config.Config , dbcr * kciv1alpha1.Database ) (v1.Container , error ) {
118151 env , err := postgresEnvVars (conf , dbcr )
119152 if err != nil {
@@ -126,6 +159,7 @@ func postgresBackupContainer(conf *config.Config, dbcr *kciv1alpha1.Database) (v
126159 ImagePullPolicy : v1 .PullAlways ,
127160 VolumeMounts : volumeMounts (),
128161 Env : env ,
162+ Resources : getResourceRequirements (conf ),
129163 }, nil
130164}
131165
@@ -141,6 +175,7 @@ func mysqlBackupContainer(conf *config.Config, dbcr *kciv1alpha1.Database) (v1.C
141175 ImagePullPolicy : v1 .PullAlways ,
142176 VolumeMounts : volumeMounts (),
143177 Env : env ,
178+ Resources : getResourceRequirements (conf ),
144179 }, nil
145180}
146181
0 commit comments