@@ -163,10 +163,34 @@ type PgBouncerSpec struct {
163163 // +optional
164164 PoolMode PgBouncerPoolMode `json:"poolMode,omitempty"`
165165
166+ // ServerTLSSecret, when pointing to a TLS secret, provides pgbouncer's
167+ // `server_tls_key_file` and `server_tls_cert_file`, used when
168+ // authenticating against PostgreSQL.
169+ // +optional
170+ ServerTLSSecret * LocalObjectReference `json:"serverTLSSecret,omitempty"`
171+
172+ // ServerCASecret provides PgBouncer’s server_tls_ca_file, the root
173+ // CA for validating PostgreSQL certificates
174+ // +optional
175+ ServerCASecret * LocalObjectReference `json:"serverCASecret,omitempty"`
176+
177+ // ClientCASecret provides PgBouncer’s client_tls_ca_file, the root
178+ // CA for validating client certificates
179+ // +optional
180+ ClientCASecret * LocalObjectReference `json:"clientCASecret,omitempty"`
181+
182+ // ClientTLSSecret provides PgBouncer’s client_tls_key_file (private key)
183+ // and client_tls_cert_file (certificate) used to accept client connections
184+ // +optional
185+ ClientTLSSecret * LocalObjectReference `json:"clientTLSSecret,omitempty"`
186+
166187 // The credentials of the user that need to be used for the authentication
167188 // query. In case it is specified, also an AuthQuery
168189 // (e.g. "SELECT usename, passwd FROM pg_catalog.pg_shadow WHERE usename=$1")
169190 // has to be specified and no automatic CNPG Cluster integration will be triggered.
191+ //
192+ // Deprecated.
193+ //
170194 // +optional
171195 AuthQuerySecret * LocalObjectReference `json:"authQuerySecret,omitempty"`
172196
@@ -208,6 +232,10 @@ type PoolerStatus struct {
208232
209233// PoolerSecrets contains the versions of all the secrets used
210234type PoolerSecrets struct {
235+ // The client TLS secret version
236+ // +optional
237+ ClientTLS SecretVersion `json:"clientTLS,omitempty"`
238+
211239 // The server TLS secret version
212240 // +optional
213241 ServerTLS SecretVersion `json:"serverTLS,omitempty"`
0 commit comments