feat(crd): mirror connection_pooler generate-config fields in OperatorConfiguration

This commit is contained in:
Mitch Murphy 2026-06-05 13:52:04 -04:00
parent c49aac8cc2
commit bf0aa1ec8d
3 changed files with 32 additions and 0 deletions

View File

@ -220,6 +220,11 @@ type ConnectionPoolerConfiguration struct {
DefaultMemoryRequest string `json:"connection_pooler_default_memory_request,omitempty"`
DefaultCPULimit string `json:"connection_pooler_default_cpu_limit,omitempty"`
DefaultMemoryLimit string `json:"connection_pooler_default_memory_limit,omitempty"`
GenerateConfig *bool `json:"connection_pooler_generate_config,omitempty"`
Command []string `json:"connection_pooler_command,omitempty"`
Args []string `json:"connection_pooler_args,omitempty"`
AuthType string `json:"connection_pooler_auth_type,omitempty"`
ConfigPath string `json:"connection_pooler_config_path,omitempty"`
}
// OperatorLogicalBackupConfiguration defines configuration for logical backup

View File

@ -142,6 +142,21 @@ func (in *ConnectionPoolerConfiguration) DeepCopyInto(out *ConnectionPoolerConfi
*out = new(int32)
**out = **in
}
if in.GenerateConfig != nil {
in, out := &in.GenerateConfig, &out.GenerateConfig
*out = new(bool)
**out = **in
}
if in.Command != nil {
in, out := &in.Command, &out.Command
*out = make([]string, len(*in))
copy(*out, *in)
}
if in.Args != nil {
in, out := &in.Args, &out.Args
*out = make([]string, len(*in))
copy(*out, *in)
}
return
}

View File

@ -291,5 +291,17 @@ func (c *Controller) importConfigurationFromCRD(fromCRD *acidv1.OperatorConfigur
fromCRD.ConnectionPooler.MaxDBConnections,
k8sutil.Int32ToPointer(constants.ConnectionPoolerMaxDBConnections))
if fromCRD.ConnectionPooler.GenerateConfig != nil {
result.ConnectionPooler.GenerateConfig = *fromCRD.ConnectionPooler.GenerateConfig
}
result.ConnectionPooler.Command = fromCRD.ConnectionPooler.Command
result.ConnectionPooler.Args = util.CoalesceStrArr(
fromCRD.ConnectionPooler.Args,
[]string{"/etc/pgbouncer/pgbouncer.ini"})
result.ConnectionPooler.AuthType = util.Coalesce(
fromCRD.ConnectionPooler.AuthType, "scram-sha-256")
result.ConnectionPooler.ConfigPath = util.Coalesce(
fromCRD.ConnectionPooler.ConfigPath, "/etc/pgbouncer/pgbouncer.ini")
return result
}