Fix empty capabilities (#1380)
* helm chart remove 1.6.0 archive from 1.6.0 archive * empty pod capabilities should be nil
This commit is contained in:
parent
648d663dbb
commit
ca968ca150
Binary file not shown.
Binary file not shown.
|
|
@ -320,14 +320,17 @@ func getLocalAndBoostrapPostgreSQLParameters(parameters map[string]string) (loca
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func generateCapabilities(capabilities []string) v1.Capabilities {
|
func generateCapabilities(capabilities []string) *v1.Capabilities {
|
||||||
additionalCapabilities := make([]v1.Capability, 0, len(capabilities))
|
additionalCapabilities := make([]v1.Capability, 0, len(capabilities))
|
||||||
for _, capability := range capabilities {
|
for _, capability := range capabilities {
|
||||||
additionalCapabilities = append(additionalCapabilities, v1.Capability(strings.ToUpper(capability)))
|
additionalCapabilities = append(additionalCapabilities, v1.Capability(strings.ToUpper(capability)))
|
||||||
}
|
}
|
||||||
return v1.Capabilities{
|
if len(additionalCapabilities) > 0 {
|
||||||
Add: additionalCapabilities,
|
return &v1.Capabilities{
|
||||||
|
Add: additionalCapabilities,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func nodeAffinity(nodeReadinessLabel map[string]string, nodeAffinity *v1.NodeAffinity) *v1.Affinity {
|
func nodeAffinity(nodeReadinessLabel map[string]string, nodeAffinity *v1.NodeAffinity) *v1.Affinity {
|
||||||
|
|
@ -440,7 +443,7 @@ func generateContainer(
|
||||||
envVars []v1.EnvVar,
|
envVars []v1.EnvVar,
|
||||||
volumeMounts []v1.VolumeMount,
|
volumeMounts []v1.VolumeMount,
|
||||||
privilegedMode bool,
|
privilegedMode bool,
|
||||||
additionalPodCapabilities v1.Capabilities,
|
additionalPodCapabilities *v1.Capabilities,
|
||||||
) *v1.Container {
|
) *v1.Container {
|
||||||
return &v1.Container{
|
return &v1.Container{
|
||||||
Name: name,
|
Name: name,
|
||||||
|
|
@ -467,7 +470,7 @@ func generateContainer(
|
||||||
AllowPrivilegeEscalation: &privilegedMode,
|
AllowPrivilegeEscalation: &privilegedMode,
|
||||||
Privileged: &privilegedMode,
|
Privileged: &privilegedMode,
|
||||||
ReadOnlyRootFilesystem: util.False(),
|
ReadOnlyRootFilesystem: util.False(),
|
||||||
Capabilities: &additionalPodCapabilities,
|
Capabilities: additionalPodCapabilities,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1914,7 +1917,7 @@ func (c *Cluster) generateLogicalBackupJob() (*batchv1beta1.CronJob, error) {
|
||||||
envVars,
|
envVars,
|
||||||
[]v1.VolumeMount{},
|
[]v1.VolumeMount{},
|
||||||
c.OpConfig.SpiloPrivileged, // use same value as for normal DB pods
|
c.OpConfig.SpiloPrivileged, // use same value as for normal DB pods
|
||||||
v1.Capabilities{},
|
nil,
|
||||||
)
|
)
|
||||||
|
|
||||||
labels := map[string]string{
|
labels := map[string]string{
|
||||||
|
|
|
||||||
|
|
@ -1496,25 +1496,25 @@ func TestGenerateCapabilities(t *testing.T) {
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
subTest string
|
subTest string
|
||||||
configured []string
|
configured []string
|
||||||
capabilities v1.Capabilities
|
capabilities *v1.Capabilities
|
||||||
err error
|
err error
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
subTest: "no capabilities",
|
subTest: "no capabilities",
|
||||||
configured: nil,
|
configured: nil,
|
||||||
capabilities: v1.Capabilities{Add: []v1.Capability{}},
|
capabilities: nil,
|
||||||
err: fmt.Errorf("could not parse capabilities configuration of nil"),
|
err: fmt.Errorf("could not parse capabilities configuration of nil"),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
subTest: "empty capabilities",
|
subTest: "empty capabilities",
|
||||||
configured: []string{},
|
configured: []string{},
|
||||||
capabilities: v1.Capabilities{Add: []v1.Capability{}},
|
capabilities: nil,
|
||||||
err: fmt.Errorf("could not parse empty capabilities configuration"),
|
err: fmt.Errorf("could not parse empty capabilities configuration"),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
subTest: "configured capability",
|
subTest: "configured capability",
|
||||||
configured: []string{"SYS_NICE"},
|
configured: []string{"SYS_NICE"},
|
||||||
capabilities: v1.Capabilities{
|
capabilities: &v1.Capabilities{
|
||||||
Add: []v1.Capability{"SYS_NICE"},
|
Add: []v1.Capability{"SYS_NICE"},
|
||||||
},
|
},
|
||||||
err: fmt.Errorf("could not generate one configured capability"),
|
err: fmt.Errorf("could not generate one configured capability"),
|
||||||
|
|
@ -1522,7 +1522,7 @@ func TestGenerateCapabilities(t *testing.T) {
|
||||||
{
|
{
|
||||||
subTest: "configured capabilities",
|
subTest: "configured capabilities",
|
||||||
configured: []string{"SYS_NICE", "CHOWN"},
|
configured: []string{"SYS_NICE", "CHOWN"},
|
||||||
capabilities: v1.Capabilities{
|
capabilities: &v1.Capabilities{
|
||||||
Add: []v1.Capability{"SYS_NICE", "CHOWN"},
|
Add: []v1.Capability{"SYS_NICE", "CHOWN"},
|
||||||
},
|
},
|
||||||
err: fmt.Errorf("could not generate multiple configured capabilities"),
|
err: fmt.Errorf("could not generate multiple configured capabilities"),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue