Add global option to enable/disable init containers and sidecars

This commit is contained in:
Felix Kunde
2019-11-26 12:02:37 +01:00
committed by Felix Kunde
parent 5f87384d7f
commit 5fd53d0b28
16 changed files with 118 additions and 31 deletions
+19 -4
View File
@@ -720,6 +720,7 @@ func (c *Cluster) generateStatefulSet(spec *acidv1.PostgresSpec) (*appsv1.Statef
var (
err error
initContainers []v1.Container
sidecarContainers []v1.Container
podTemplate *v1.PodTemplateSpec
volumeClaimTemplate *v1.PersistentVolumeClaim
@@ -786,6 +787,14 @@ func (c *Cluster) generateStatefulSet(spec *acidv1.PostgresSpec) (*appsv1.Statef
return nil, fmt.Errorf("could not generate resource requirements: %v", err)
}
if spec.InitContainers != nil {
if c.OpConfig.EnableInitContainers {
initContainers = spec.InitContainers
} else {
return nil, fmt.Errorf("InitContainers specified but globally disabled!")
}
}
customPodEnvVarsList := make([]v1.EnvVar, 0)
if c.OpConfig.PodEnvironmentConfigMap != "" {
@@ -872,9 +881,15 @@ func (c *Cluster) generateStatefulSet(spec *acidv1.PostgresSpec) (*appsv1.Statef
}
// generate sidecar containers
if sidecarContainers, err = generateSidecarContainers(sideCars, volumeMounts, defaultResources,
c.OpConfig.SuperUsername, c.credentialSecretName(c.OpConfig.SuperUsername), c.logger); err != nil {
return nil, fmt.Errorf("could not generate sidecar containers: %v", err)
if sideCars != nil {
if c.OpConfig.EnableSidecars {
if sidecarContainers, err = generateSidecarContainers(sideCars, volumeMounts, defaultResources,
c.OpConfig.SuperUsername, c.credentialSecretName(c.OpConfig.SuperUsername), c.logger); err != nil {
return nil, fmt.Errorf("could not generate sidecar containers: %v", err)
}
} else {
return nil, fmt.Errorf("Sidecar containers specified but globally disabled!")
}
}
tolerationSpec := tolerations(&spec.Tolerations, c.OpConfig.PodToleration)
@@ -894,7 +909,7 @@ func (c *Cluster) generateStatefulSet(spec *acidv1.PostgresSpec) (*appsv1.Statef
c.labelsSet(true),
annotations,
spiloContainer,
spec.InitContainers,
initContainers,
sidecarContainers,
&tolerationSpec,
effectiveFSGroup,
+1 -1
View File
@@ -3,7 +3,7 @@ package cluster
import (
"reflect"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
"testing"
+1 -1
View File
@@ -5,7 +5,7 @@ import (
acidv1 "github.com/zalando/postgres-operator/pkg/apis/acid.zalan.do/v1"
appsv1 "k8s.io/api/apps/v1"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
policybeta1 "k8s.io/api/policy/v1beta1"
"k8s.io/apimachinery/pkg/types"
)