Expand sidecars, env and initcontainers

Signed-off-by: Mikkel Oscar Lyderik Larsen <mikkel.larsen@zalando.de>
This commit is contained in:
Mikkel Oscar Lyderik Larsen
2026-01-10 19:40:11 +01:00
parent 4e0692205b
commit 8480a80d62
2 changed files with 3225 additions and 37 deletions
File diff suppressed because it is too large Load Diff
+13 -31
View File
@@ -92,27 +92,17 @@ type PostgresSpec struct {
Clone *CloneDescription `json:"clone,omitempty"` Clone *CloneDescription `json:"clone,omitempty"`
// Note: usernames specified here as database owners must be declared // Note: usernames specified here as database owners must be declared
// in the users key of the spec key. // in the users key of the spec key.
Databases map[string]string `json:"databases,omitempty"` Databases map[string]string `json:"databases,omitempty"`
PreparedDatabases map[string]PreparedDatabase `json:"preparedDatabases,omitempty"` PreparedDatabases map[string]PreparedDatabase `json:"preparedDatabases,omitempty"`
SchedulerName *string `json:"schedulerName,omitempty"` SchedulerName *string `json:"schedulerName,omitempty"`
NodeAffinity *v1.NodeAffinity `json:"nodeAffinity,omitempty"` NodeAffinity *v1.NodeAffinity `json:"nodeAffinity,omitempty"`
Tolerations []v1.Toleration `json:"tolerations,omitempty"` Tolerations []v1.Toleration `json:"tolerations,omitempty"`
// +kubebuilder:validation:Type=array Sidecars []Sidecar `json:"sidecars,omitempty"`
// +kubebuilder:validation:Items:Type=object InitContainers []v1.Container `json:"initContainers,omitempty"`
// +kubebuilder:validation:Items:XPreserveUnknownFields PodPriorityClassName string `json:"podPriorityClassName,omitempty"`
// +kubebuilder:validation:Schemaless ShmVolume *bool `json:"enableShmVolume,omitempty"`
// +nullable EnableLogicalBackup bool `json:"enableLogicalBackup,omitempty"`
Sidecars []Sidecar `json:"sidecars,omitempty"` LogicalBackupRetention string `json:"logicalBackupRetention,omitempty"`
// +kubebuilder:validation:Type=array
// +kubebuilder:validation:Items:Type=object
// +kubebuilder:validation:Items:XPreserveUnknownFields
// +kubebuilder:validation:Schemaless
// +nullable
InitContainers []v1.Container `json:"initContainers,omitempty"`
PodPriorityClassName string `json:"podPriorityClassName,omitempty"`
ShmVolume *bool `json:"enableShmVolume,omitempty"`
EnableLogicalBackup bool `json:"enableLogicalBackup,omitempty"`
LogicalBackupRetention string `json:"logicalBackupRetention,omitempty"`
// +kubebuilder:validation:Pattern=`^(\d+|\*)(/\d+)?(\s+(\d+|\*)(/\d+)?){4}$` // +kubebuilder:validation:Pattern=`^(\d+|\*)(/\d+)?(\s+(\d+|\*)(/\d+)?){4}$`
LogicalBackupSchedule string `json:"logicalBackupSchedule,omitempty"` LogicalBackupSchedule string `json:"logicalBackupSchedule,omitempty"`
StandbyCluster *StandbyDescription `json:"standby,omitempty"` StandbyCluster *StandbyDescription `json:"standby,omitempty"`
@@ -125,17 +115,9 @@ type PostgresSpec struct {
TLS *TLSDescription `json:"tls,omitempty"` TLS *TLSDescription `json:"tls,omitempty"`
AdditionalVolumes []AdditionalVolume `json:"additionalVolumes,omitempty"` AdditionalVolumes []AdditionalVolume `json:"additionalVolumes,omitempty"`
Streams []Stream `json:"streams,omitempty"` Streams []Stream `json:"streams,omitempty"`
// +kubebuilder:validation:Type=array Env []v1.EnvVar `json:"env,omitempty"`
// +kubebuilder:validation:Items:Type=object
// +kubebuilder:validation:Items:XPreserveUnknownFields
// +kubebuilder:validation:Schemaless
// +nullable
Env []v1.EnvVar `json:"env,omitempty"`
// deprecated json tags // deprecated
// +kubebuilder:validation:XPreserveUnknownFields
// +kubebuilder:validation:Type=object
// +kubebuilder:validation:Schemaless
InitContainersOld []v1.Container `json:"init_containers,omitempty"` InitContainersOld []v1.Container `json:"init_containers,omitempty"`
// deprecated // deprecated
PodPriorityClassNameOld string `json:"pod_priority_class_name,omitempty"` PodPriorityClassNameOld string `json:"pod_priority_class_name,omitempty"`