postgresql

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 22, 2024 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RenderChart

func RenderChart(release, namespace string, values *Values) ([]*unstructured.Unstructured, error)

Types

type Values

type Values struct {
	// PostgreSQL architecture (`standalone` or `replication`)
	Architecture string `json:"architecture,omitempty" yaml:"architecture,omitempty" mapstructure:"architecture,omitempty"`

	// Audit corresponds to the JSON schema field "audit".
	Audit *ValuesAudit `json:"audit,omitempty" yaml:"audit,omitempty" mapstructure:"audit,omitempty"`

	// Auth corresponds to the JSON schema field "auth".
	Auth *ValuesAuth `json:"auth,omitempty" yaml:"auth,omitempty" mapstructure:"auth,omitempty"`

	// Backup corresponds to the JSON schema field "backup".
	Backup *ValuesBackup `json:"backup,omitempty" yaml:"backup,omitempty" mapstructure:"backup,omitempty"`

	// Kubernetes Cluster Domain
	ClusterDomain string `json:"clusterDomain,omitempty" yaml:"clusterDomain,omitempty" mapstructure:"clusterDomain,omitempty"`

	// Add annotations to all the deployed resources
	CommonAnnotations ValuesCommonAnnotations `json:"commonAnnotations,omitempty" yaml:"commonAnnotations,omitempty" mapstructure:"commonAnnotations,omitempty"`

	// Add labels to all the deployed resources
	CommonLabels ValuesCommonLabels `json:"commonLabels,omitempty" yaml:"commonLabels,omitempty" mapstructure:"commonLabels,omitempty"`

	// ContainerPorts corresponds to the JSON schema field "containerPorts".
	ContainerPorts *ValuesContainerPorts `json:"containerPorts,omitempty" yaml:"containerPorts,omitempty" mapstructure:"containerPorts,omitempty"`

	// DiagnosticMode corresponds to the JSON schema field "diagnosticMode".
	DiagnosticMode *ValuesDiagnosticMode `json:"diagnosticMode,omitempty" yaml:"diagnosticMode,omitempty" mapstructure:"diagnosticMode,omitempty"`

	// Array of extra objects to deploy with the release (evaluated as a template)
	ExtraDeploy []interface{} `json:"extraDeploy,omitempty" yaml:"extraDeploy,omitempty" mapstructure:"extraDeploy,omitempty"`

	// String to fully override common.names.fullname template
	FullnameOverride string `json:"fullnameOverride,omitempty" yaml:"fullnameOverride,omitempty" mapstructure:"fullnameOverride,omitempty"`

	// Global corresponds to the JSON schema field "global".
	Global *ValuesGlobal `json:"global,omitempty" yaml:"global,omitempty" mapstructure:"global,omitempty"`

	// Image corresponds to the JSON schema field "image".
	Image *ValuesImage `json:"image,omitempty" yaml:"image,omitempty" mapstructure:"image,omitempty"`

	// Override Kubernetes version
	KubeVersion string `json:"kubeVersion,omitempty" yaml:"kubeVersion,omitempty" mapstructure:"kubeVersion,omitempty"`

	// Ldap corresponds to the JSON schema field "ldap".
	Ldap *ValuesLdap `json:"ldap,omitempty" yaml:"ldap,omitempty" mapstructure:"ldap,omitempty"`

	// Metrics corresponds to the JSON schema field "metrics".
	Metrics *ValuesMetrics `json:"metrics,omitempty" yaml:"metrics,omitempty" mapstructure:"metrics,omitempty"`

	// String to partially override common.names.fullname template (will maintain the
	// release name)
	NameOverride string `json:"nameOverride,omitempty" yaml:"nameOverride,omitempty" mapstructure:"nameOverride,omitempty"`

	// PostgreSQL data dir folder
	PostgresqlDataDir string `json:"postgresqlDataDir,omitempty" yaml:"postgresqlDataDir,omitempty" mapstructure:"postgresqlDataDir,omitempty"`

	// Shared preload libraries (comma-separated list)
	PostgresqlSharedPreloadLibraries string `` /* 157-byte string literal not displayed */

	// Primary corresponds to the JSON schema field "primary".
	Primary *ValuesPrimary `json:"primary,omitempty" yaml:"primary,omitempty" mapstructure:"primary,omitempty"`

	// Psp corresponds to the JSON schema field "psp".
	Psp *ValuesPsp `json:"psp,omitempty" yaml:"psp,omitempty" mapstructure:"psp,omitempty"`

	// Rbac corresponds to the JSON schema field "rbac".
	Rbac *ValuesRbac `json:"rbac,omitempty" yaml:"rbac,omitempty" mapstructure:"rbac,omitempty"`

	// ReadReplicas corresponds to the JSON schema field "readReplicas".
	ReadReplicas *ValuesReadReplicas `json:"readReplicas,omitempty" yaml:"readReplicas,omitempty" mapstructure:"readReplicas,omitempty"`

	// Replication corresponds to the JSON schema field "replication".
	Replication *ValuesReplication `json:"replication,omitempty" yaml:"replication,omitempty" mapstructure:"replication,omitempty"`

	// ServiceAccount corresponds to the JSON schema field "serviceAccount".
	ServiceAccount *ValuesServiceAccount `json:"serviceAccount,omitempty" yaml:"serviceAccount,omitempty" mapstructure:"serviceAccount,omitempty"`

	// ServiceBindings corresponds to the JSON schema field "serviceBindings".
	ServiceBindings *ValuesServiceBindings `json:"serviceBindings,omitempty" yaml:"serviceBindings,omitempty" mapstructure:"serviceBindings,omitempty"`

	// ShmVolume corresponds to the JSON schema field "shmVolume".
	ShmVolume *ValuesShmVolume `json:"shmVolume,omitempty" yaml:"shmVolume,omitempty" mapstructure:"shmVolume,omitempty"`

	// Tls corresponds to the JSON schema field "tls".
	Tls *ValuesTls `json:"tls,omitempty" yaml:"tls,omitempty" mapstructure:"tls,omitempty"`

	// VolumePermissions corresponds to the JSON schema field "volumePermissions".
	VolumePermissions *ValuesVolumePermissions `json:"volumePermissions,omitempty" yaml:"volumePermissions,omitempty" mapstructure:"volumePermissions,omitempty"`
}

type ValuesAudit

type ValuesAudit struct {
	// Message log level to share with the user
	ClientMinMessages string `json:"clientMinMessages,omitempty" yaml:"clientMinMessages,omitempty" mapstructure:"clientMinMessages,omitempty"`

	// Add client log-in operations to the log file
	LogConnections bool `json:"logConnections,omitempty" yaml:"logConnections,omitempty" mapstructure:"logConnections,omitempty"`

	// Add client log-outs operations to the log file
	LogDisconnections bool `json:"logDisconnections,omitempty" yaml:"logDisconnections,omitempty" mapstructure:"logDisconnections,omitempty"`

	// Log client hostnames
	LogHostname bool `json:"logHostname,omitempty" yaml:"logHostname,omitempty" mapstructure:"logHostname,omitempty"`

	// Template for log line prefix (default if not set)
	LogLinePrefix string `json:"logLinePrefix,omitempty" yaml:"logLinePrefix,omitempty" mapstructure:"logLinePrefix,omitempty"`

	// Timezone for the log timestamps
	LogTimezone string `json:"logTimezone,omitempty" yaml:"logTimezone,omitempty" mapstructure:"logTimezone,omitempty"`

	// Add operations to log using the pgAudit extension
	PgAuditLog string `json:"pgAuditLog,omitempty" yaml:"pgAuditLog,omitempty" mapstructure:"pgAuditLog,omitempty"`

	// Log catalog using pgAudit
	PgAuditLogCatalog string `json:"pgAuditLogCatalog,omitempty" yaml:"pgAuditLogCatalog,omitempty" mapstructure:"pgAuditLogCatalog,omitempty"`
}

type ValuesAuth

type ValuesAuth struct {
	// Name for a custom database to create
	Database string `json:"database,omitempty" yaml:"database,omitempty" mapstructure:"database,omitempty"`

	// Assign a password to the "postgres" admin user. Otherwise, remote access will
	// be blocked for this user
	EnablePostgresUser bool `json:"enablePostgresUser,omitempty" yaml:"enablePostgresUser,omitempty" mapstructure:"enablePostgresUser,omitempty"`

	// Name of existing secret to use for PostgreSQL credentials.
	// `auth.postgresPassword`, `auth.password`, and `auth.replicationPassword` will
	// be ignored and picked up from this secret. The secret might also contains the
	// key `ldap-password` if LDAP is enabled. `ldap.bind_password` will be ignored
	// and picked from this secret in this case.
	ExistingSecret string `json:"existingSecret,omitempty" yaml:"existingSecret,omitempty" mapstructure:"existingSecret,omitempty"`

	// Password for the custom user to create. Ignored if `auth.existingSecret` is
	// provided
	Password string `json:"password,omitempty" yaml:"password,omitempty" mapstructure:"password,omitempty"`

	// Password for the "postgres" admin user. Ignored if `auth.existingSecret` is
	// provided
	PostgresPassword string `json:"postgresPassword,omitempty" yaml:"postgresPassword,omitempty" mapstructure:"postgresPassword,omitempty"`

	// Password for the replication user. Ignored if `auth.existingSecret` is provided
	ReplicationPassword string `json:"replicationPassword,omitempty" yaml:"replicationPassword,omitempty" mapstructure:"replicationPassword,omitempty"`

	// Name of the replication user
	ReplicationUsername string `json:"replicationUsername,omitempty" yaml:"replicationUsername,omitempty" mapstructure:"replicationUsername,omitempty"`

	// SecretKeys corresponds to the JSON schema field "secretKeys".
	SecretKeys *ValuesAuthSecretKeys `json:"secretKeys,omitempty" yaml:"secretKeys,omitempty" mapstructure:"secretKeys,omitempty"`

	// Mount credentials as a files instead of using an environment variable
	UsePasswordFiles bool `json:"usePasswordFiles,omitempty" yaml:"usePasswordFiles,omitempty" mapstructure:"usePasswordFiles,omitempty"`

	// Name for a custom user to create
	Username string `json:"username,omitempty" yaml:"username,omitempty" mapstructure:"username,omitempty"`
}

type ValuesAuthSecretKeys

type ValuesAuthSecretKeys struct {
	// Name of key in existing secret to use for PostgreSQL credentials. Only used
	// when `auth.existingSecret` is set.
	AdminPasswordKey string `json:"adminPasswordKey,omitempty" yaml:"adminPasswordKey,omitempty" mapstructure:"adminPasswordKey,omitempty"`

	// Name of key in existing secret to use for PostgreSQL credentials. Only used
	// when `auth.existingSecret` is set.
	ReplicationPasswordKey string `` /* 127-byte string literal not displayed */

	// Name of key in existing secret to use for PostgreSQL credentials. Only used
	// when `auth.existingSecret` is set.
	UserPasswordKey string `json:"userPasswordKey,omitempty" yaml:"userPasswordKey,omitempty" mapstructure:"userPasswordKey,omitempty"`
}

type ValuesBackup

type ValuesBackup struct {
	// Cronjob corresponds to the JSON schema field "cronjob".
	Cronjob *ValuesBackupCronjob `json:"cronjob,omitempty" yaml:"cronjob,omitempty" mapstructure:"cronjob,omitempty"`

	// Enable the logical dump of the database "regularly"
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
}

type ValuesBackupCronjob

type ValuesBackupCronjob struct {
	// Set the cronjob annotations
	Annotations ValuesBackupCronjobAnnotations `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"`

	// Set backup container's command to run
	Command []string `json:"command,omitempty" yaml:"command,omitempty" mapstructure:"command,omitempty"`

	// Set the cronjob parameter concurrencyPolicy
	ConcurrencyPolicy string `json:"concurrencyPolicy,omitempty" yaml:"concurrencyPolicy,omitempty" mapstructure:"concurrencyPolicy,omitempty"`

	// ContainerSecurityContext corresponds to the JSON schema field
	// "containerSecurityContext".
	ContainerSecurityContext *ValuesBackupCronjobContainerSecurityContext `` /* 133-byte string literal not displayed */

	// Set the cronjob parameter failedJobsHistoryLimit
	FailedJobsHistoryLimit float64 `` /* 127-byte string literal not displayed */

	// Set the cronjob labels
	Labels ValuesBackupCronjobLabels `json:"labels,omitempty" yaml:"labels,omitempty" mapstructure:"labels,omitempty"`

	// Node labels for PostgreSQL backup CronJob pod assignment
	NodeSelector ValuesBackupCronjobNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"`

	// PodSecurityContext corresponds to the JSON schema field "podSecurityContext".
	PodSecurityContext *ValuesBackupCronjobPodSecurityContext `json:"podSecurityContext,omitempty" yaml:"podSecurityContext,omitempty" mapstructure:"podSecurityContext,omitempty"`

	// Set the cronjob parameter restartPolicy
	RestartPolicy string `json:"restartPolicy,omitempty" yaml:"restartPolicy,omitempty" mapstructure:"restartPolicy,omitempty"`

	// Set the cronjob parameter schedule
	Schedule string `json:"schedule,omitempty" yaml:"schedule,omitempty" mapstructure:"schedule,omitempty"`

	// Set the cronjob parameter startingDeadlineSeconds
	StartingDeadlineSeconds string `` /* 130-byte string literal not displayed */

	// Storage corresponds to the JSON schema field "storage".
	Storage *ValuesBackupCronjobStorage `json:"storage,omitempty" yaml:"storage,omitempty" mapstructure:"storage,omitempty"`

	// Set the cronjob parameter successfulJobsHistoryLimit
	SuccessfulJobsHistoryLimit float64 `` /* 139-byte string literal not displayed */

	// Set the cronjob parameter timeZone
	TimeZone string `json:"timeZone,omitempty" yaml:"timeZone,omitempty" mapstructure:"timeZone,omitempty"`

	// Set the cronjob parameter ttlSecondsAfterFinished
	TtlSecondsAfterFinished string `` /* 130-byte string literal not displayed */
}

type ValuesBackupCronjobAnnotations

type ValuesBackupCronjobAnnotations map[string]interface{}

Set the cronjob annotations

type ValuesBackupCronjobContainerSecurityContext

type ValuesBackupCronjobContainerSecurityContext struct {
	// Set container's Security Context allowPrivilegeEscalation
	AllowPrivilegeEscalation bool `` /* 133-byte string literal not displayed */

	// Capabilities corresponds to the JSON schema field "capabilities".
	Capabilities *ValuesBackupCronjobContainerSecurityContextCapabilities `json:"capabilities,omitempty" yaml:"capabilities,omitempty" mapstructure:"capabilities,omitempty"`

	// Enabled containers' Security Context
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Set container's Security Context privileged
	Privileged bool `json:"privileged,omitempty" yaml:"privileged,omitempty" mapstructure:"privileged,omitempty"`

	// Set container's Security Context readOnlyRootFilesystem
	ReadOnlyRootFilesystem bool `` /* 127-byte string literal not displayed */

	// Set containers' Security Context runAsGroup
	RunAsGroup float64 `json:"runAsGroup,omitempty" yaml:"runAsGroup,omitempty" mapstructure:"runAsGroup,omitempty"`

	// Set container's Security Context runAsNonRoot
	RunAsNonRoot bool `json:"runAsNonRoot,omitempty" yaml:"runAsNonRoot,omitempty" mapstructure:"runAsNonRoot,omitempty"`

	// Set containers' Security Context runAsUser
	RunAsUser float64 `json:"runAsUser,omitempty" yaml:"runAsUser,omitempty" mapstructure:"runAsUser,omitempty"`

	// SeccompProfile corresponds to the JSON schema field "seccompProfile".
	SeccompProfile *ValuesBackupCronjobContainerSecurityContextSeccompProfile `json:"seccompProfile,omitempty" yaml:"seccompProfile,omitempty" mapstructure:"seccompProfile,omitempty"`
}

type ValuesBackupCronjobContainerSecurityContextCapabilities

type ValuesBackupCronjobContainerSecurityContextCapabilities struct {
	// List of capabilities to be dropped
	Drop []string `json:"drop,omitempty" yaml:"drop,omitempty" mapstructure:"drop,omitempty"`
}

type ValuesBackupCronjobContainerSecurityContextSeccompProfile

type ValuesBackupCronjobContainerSecurityContextSeccompProfile struct {
	// Set container's Security Context seccomp profile
	Type string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"`
}

type ValuesBackupCronjobLabels

type ValuesBackupCronjobLabels map[string]interface{}

Set the cronjob labels

type ValuesBackupCronjobNodeSelector

type ValuesBackupCronjobNodeSelector map[string]interface{}

Node labels for PostgreSQL backup CronJob pod assignment

type ValuesBackupCronjobPodSecurityContext

type ValuesBackupCronjobPodSecurityContext struct {
	// Enable PodSecurityContext for CronJob/Backup
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Group ID for the CronJob
	FsGroup float64 `json:"fsGroup,omitempty" yaml:"fsGroup,omitempty" mapstructure:"fsGroup,omitempty"`

	// Set filesystem group change policy
	FsGroupChangePolicy string `json:"fsGroupChangePolicy,omitempty" yaml:"fsGroupChangePolicy,omitempty" mapstructure:"fsGroupChangePolicy,omitempty"`

	// Set filesystem extra groups
	SupplementalGroups []interface{} `json:"supplementalGroups,omitempty" yaml:"supplementalGroups,omitempty" mapstructure:"supplementalGroups,omitempty"`

	// Set kernel settings using the sysctl interface
	Sysctls []interface{} `json:"sysctls,omitempty" yaml:"sysctls,omitempty" mapstructure:"sysctls,omitempty"`
}

type ValuesBackupCronjobStorage

type ValuesBackupCronjobStorage struct {
	// PV Access Mode
	AccessModes []string `json:"accessModes,omitempty" yaml:"accessModes,omitempty" mapstructure:"accessModes,omitempty"`

	// PVC annotations
	Annotations ValuesBackupCronjobStorageAnnotations `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"`

	// Provide an existing `PersistentVolumeClaim` (only when
	// `architecture=standalone`)
	ExistingClaim string `json:"existingClaim,omitempty" yaml:"existingClaim,omitempty" mapstructure:"existingClaim,omitempty"`

	// Path to mount the volume at
	MountPath string `json:"mountPath,omitempty" yaml:"mountPath,omitempty" mapstructure:"mountPath,omitempty"`

	// Setting it to "keep" to avoid removing PVCs during a helm delete operation.
	// Leaving it empty will delete PVCs after the chart deleted
	ResourcePolicy string `json:"resourcePolicy,omitempty" yaml:"resourcePolicy,omitempty" mapstructure:"resourcePolicy,omitempty"`

	// PVC Storage Request for the backup data volume
	Size string `json:"size,omitempty" yaml:"size,omitempty" mapstructure:"size,omitempty"`

	// PVC Storage Class for the backup data volume
	StorageClass string `json:"storageClass,omitempty" yaml:"storageClass,omitempty" mapstructure:"storageClass,omitempty"`

	// Subdirectory of the volume to mount at
	SubPath string `json:"subPath,omitempty" yaml:"subPath,omitempty" mapstructure:"subPath,omitempty"`

	// VolumeClaimTemplates corresponds to the JSON schema field
	// "volumeClaimTemplates".
	VolumeClaimTemplates *ValuesBackupCronjobStorageVolumeClaimTemplates `json:"volumeClaimTemplates,omitempty" yaml:"volumeClaimTemplates,omitempty" mapstructure:"volumeClaimTemplates,omitempty"`
}

type ValuesBackupCronjobStorageAnnotations

type ValuesBackupCronjobStorageAnnotations map[string]interface{}

PVC annotations

type ValuesBackupCronjobStorageVolumeClaimTemplates

type ValuesBackupCronjobStorageVolumeClaimTemplates struct {
	// A label query over volumes to consider for binding (e.g. when using local
	// volumes)
	Selector ValuesBackupCronjobStorageVolumeClaimTemplatesSelector `json:"selector,omitempty" yaml:"selector,omitempty" mapstructure:"selector,omitempty"`
}

type ValuesBackupCronjobStorageVolumeClaimTemplatesSelector

type ValuesBackupCronjobStorageVolumeClaimTemplatesSelector map[string]interface{}

A label query over volumes to consider for binding (e.g. when using local volumes)

type ValuesCommonAnnotations

type ValuesCommonAnnotations map[string]interface{}

Add annotations to all the deployed resources

type ValuesCommonLabels

type ValuesCommonLabels map[string]interface{}

Add labels to all the deployed resources

type ValuesContainerPorts

type ValuesContainerPorts struct {
	// PostgreSQL container port
	Postgresql float64 `json:"postgresql,omitempty" yaml:"postgresql,omitempty" mapstructure:"postgresql,omitempty"`
}

type ValuesDiagnosticMode

type ValuesDiagnosticMode struct {
	// Args to override all containers in the statefulset
	Args []string `json:"args,omitempty" yaml:"args,omitempty" mapstructure:"args,omitempty"`

	// Command to override all containers in the statefulset
	Command []string `json:"command,omitempty" yaml:"command,omitempty" mapstructure:"command,omitempty"`

	// Enable diagnostic mode (all probes will be disabled and the command will be
	// overridden)
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
}

type ValuesGlobal

type ValuesGlobal struct {
	// Global Docker registry secret names as an array
	ImagePullSecrets []interface{} `json:"imagePullSecrets,omitempty" yaml:"imagePullSecrets,omitempty" mapstructure:"imagePullSecrets,omitempty"`

	// Global Docker image registry
	ImageRegistry string `json:"imageRegistry,omitempty" yaml:"imageRegistry,omitempty" mapstructure:"imageRegistry,omitempty"`

	// Postgresql corresponds to the JSON schema field "postgresql".
	Postgresql *ValuesGlobalPostgresql `json:"postgresql,omitempty" yaml:"postgresql,omitempty" mapstructure:"postgresql,omitempty"`

	// Global StorageClass for Persistent Volume(s)
	StorageClass string `json:"storageClass,omitempty" yaml:"storageClass,omitempty" mapstructure:"storageClass,omitempty"`
}

type ValuesGlobalPostgresql

type ValuesGlobalPostgresql struct {
	// Auth corresponds to the JSON schema field "auth".
	Auth *ValuesGlobalPostgresqlAuth `json:"auth,omitempty" yaml:"auth,omitempty" mapstructure:"auth,omitempty"`

	// Service corresponds to the JSON schema field "service".
	Service *ValuesGlobalPostgresqlService `json:"service,omitempty" yaml:"service,omitempty" mapstructure:"service,omitempty"`
}

type ValuesGlobalPostgresqlAuth

type ValuesGlobalPostgresqlAuth struct {
	// Name for a custom database to create (overrides `auth.database`)
	Database string `json:"database,omitempty" yaml:"database,omitempty" mapstructure:"database,omitempty"`

	// Name of existing secret to use for PostgreSQL credentials (overrides
	// `auth.existingSecret`).
	ExistingSecret string `json:"existingSecret,omitempty" yaml:"existingSecret,omitempty" mapstructure:"existingSecret,omitempty"`

	// Password for the custom user to create (overrides `auth.password`)
	Password string `json:"password,omitempty" yaml:"password,omitempty" mapstructure:"password,omitempty"`

	// Password for the "postgres" admin user (overrides `auth.postgresPassword`)
	PostgresPassword string `json:"postgresPassword,omitempty" yaml:"postgresPassword,omitempty" mapstructure:"postgresPassword,omitempty"`

	// SecretKeys corresponds to the JSON schema field "secretKeys".
	SecretKeys *ValuesGlobalPostgresqlAuthSecretKeys `json:"secretKeys,omitempty" yaml:"secretKeys,omitempty" mapstructure:"secretKeys,omitempty"`

	// Name for a custom user to create (overrides `auth.username`)
	Username string `json:"username,omitempty" yaml:"username,omitempty" mapstructure:"username,omitempty"`
}

type ValuesGlobalPostgresqlAuthSecretKeys

type ValuesGlobalPostgresqlAuthSecretKeys struct {
	// Name of key in existing secret to use for PostgreSQL credentials (overrides
	// `auth.secretKeys.adminPasswordKey`). Only used when
	// `global.postgresql.auth.existingSecret` is set.
	AdminPasswordKey string `json:"adminPasswordKey,omitempty" yaml:"adminPasswordKey,omitempty" mapstructure:"adminPasswordKey,omitempty"`

	// Name of key in existing secret to use for PostgreSQL credentials (overrides
	// `auth.secretKeys.replicationPasswordKey`). Only used when
	// `global.postgresql.auth.existingSecret` is set.
	ReplicationPasswordKey string `` /* 127-byte string literal not displayed */

	// Name of key in existing secret to use for PostgreSQL credentials (overrides
	// `auth.secretKeys.userPasswordKey`). Only used when
	// `global.postgresql.auth.existingSecret` is set.
	UserPasswordKey string `json:"userPasswordKey,omitempty" yaml:"userPasswordKey,omitempty" mapstructure:"userPasswordKey,omitempty"`
}

type ValuesGlobalPostgresqlService

type ValuesGlobalPostgresqlService struct {
	// Ports corresponds to the JSON schema field "ports".
	Ports *ValuesGlobalPostgresqlServicePorts `json:"ports,omitempty" yaml:"ports,omitempty" mapstructure:"ports,omitempty"`
}

type ValuesGlobalPostgresqlServicePorts

type ValuesGlobalPostgresqlServicePorts struct {
	// PostgreSQL service port (overrides `service.ports.postgresql`)
	Postgresql string `json:"postgresql,omitempty" yaml:"postgresql,omitempty" mapstructure:"postgresql,omitempty"`
}

type ValuesImage

type ValuesImage struct {
	// Specify if debug values should be set
	Debug bool `json:"debug,omitempty" yaml:"debug,omitempty" mapstructure:"debug,omitempty"`

	// PostgreSQL image digest in the way sha256:aa.... Please note this parameter, if
	// set, will override the tag
	Digest string `json:"digest,omitempty" yaml:"digest,omitempty" mapstructure:"digest,omitempty"`

	// PostgreSQL image pull policy
	PullPolicy string `json:"pullPolicy,omitempty" yaml:"pullPolicy,omitempty" mapstructure:"pullPolicy,omitempty"`

	// Specify image pull secrets
	PullSecrets []interface{} `json:"pullSecrets,omitempty" yaml:"pullSecrets,omitempty" mapstructure:"pullSecrets,omitempty"`

	// PostgreSQL image registry
	Registry string `json:"registry,omitempty" yaml:"registry,omitempty" mapstructure:"registry,omitempty"`

	// PostgreSQL image repository
	Repository string `json:"repository,omitempty" yaml:"repository,omitempty" mapstructure:"repository,omitempty"`
}

type ValuesLdap

type ValuesLdap struct {
	// Root DN to begin the search for the user in
	Basedn string `json:"basedn,omitempty" yaml:"basedn,omitempty" mapstructure:"basedn,omitempty"`

	// DN of user to bind to LDAP
	Binddn string `json:"binddn,omitempty" yaml:"binddn,omitempty" mapstructure:"binddn,omitempty"`

	// Password for the user to bind to LDAP
	Bindpw string `json:"bindpw,omitempty" yaml:"bindpw,omitempty" mapstructure:"bindpw,omitempty"`

	// Enable LDAP support
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Port number on the LDAP server to connect to
	Port string `json:"port,omitempty" yaml:"port,omitempty" mapstructure:"port,omitempty"`

	// String to prepend to the user name when forming the DN to bind
	Prefix string `json:"prefix,omitempty" yaml:"prefix,omitempty" mapstructure:"prefix,omitempty"`

	// Set to `ldaps` to use LDAPS
	Scheme string `json:"scheme,omitempty" yaml:"scheme,omitempty" mapstructure:"scheme,omitempty"`

	// Attribute to match against the user name in the search
	SearchAttribute string `json:"searchAttribute,omitempty" yaml:"searchAttribute,omitempty" mapstructure:"searchAttribute,omitempty"`

	// The search filter to use when doing search+bind authentication
	SearchFilter string `json:"searchFilter,omitempty" yaml:"searchFilter,omitempty" mapstructure:"searchFilter,omitempty"`

	// IP address or name of the LDAP server.
	Server string `json:"server,omitempty" yaml:"server,omitempty" mapstructure:"server,omitempty"`

	// String to append to the user name when forming the DN to bind
	Suffix string `json:"suffix,omitempty" yaml:"suffix,omitempty" mapstructure:"suffix,omitempty"`

	// Tls corresponds to the JSON schema field "tls".
	Tls *ValuesLdapTls `json:"tls,omitempty" yaml:"tls,omitempty" mapstructure:"tls,omitempty"`

	// LDAP URL beginning in the form `ldap[s]://host[:port]/basedn`. If provided, all
	// the other LDAP parameters will be ignored.
	Uri string `json:"uri,omitempty" yaml:"uri,omitempty" mapstructure:"uri,omitempty"`
}

type ValuesLdapTls

type ValuesLdapTls struct {
	// Se to true to enable TLS encryption
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
}

type ValuesMetrics

type ValuesMetrics struct {
	// Control enabled collectors
	Collectors ValuesMetricsCollectors `json:"collectors,omitempty" yaml:"collectors,omitempty" mapstructure:"collectors,omitempty"`

	// ContainerPorts corresponds to the JSON schema field "containerPorts".
	ContainerPorts *ValuesMetricsContainerPorts `json:"containerPorts,omitempty" yaml:"containerPorts,omitempty" mapstructure:"containerPorts,omitempty"`

	// ContainerSecurityContext corresponds to the JSON schema field
	// "containerSecurityContext".
	ContainerSecurityContext *ValuesMetricsContainerSecurityContext `` /* 133-byte string literal not displayed */

	// Custom livenessProbe that overrides the default one
	CustomLivenessProbe ValuesMetricsCustomLivenessProbe `json:"customLivenessProbe,omitempty" yaml:"customLivenessProbe,omitempty" mapstructure:"customLivenessProbe,omitempty"`

	// Define additional custom metrics
	CustomMetrics ValuesMetricsCustomMetrics `json:"customMetrics,omitempty" yaml:"customMetrics,omitempty" mapstructure:"customMetrics,omitempty"`

	// Custom readinessProbe that overrides the default one
	CustomReadinessProbe ValuesMetricsCustomReadinessProbe `json:"customReadinessProbe,omitempty" yaml:"customReadinessProbe,omitempty" mapstructure:"customReadinessProbe,omitempty"`

	// Custom startupProbe that overrides the default one
	CustomStartupProbe ValuesMetricsCustomStartupProbe `json:"customStartupProbe,omitempty" yaml:"customStartupProbe,omitempty" mapstructure:"customStartupProbe,omitempty"`

	// Start a prometheus exporter
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Extra environment variables to add to PostgreSQL Prometheus exporter
	ExtraEnvVars []interface{} `json:"extraEnvVars,omitempty" yaml:"extraEnvVars,omitempty" mapstructure:"extraEnvVars,omitempty"`

	// Image corresponds to the JSON schema field "image".
	Image *ValuesMetricsImage `json:"image,omitempty" yaml:"image,omitempty" mapstructure:"image,omitempty"`

	// LivenessProbe corresponds to the JSON schema field "livenessProbe".
	LivenessProbe *ValuesMetricsLivenessProbe `json:"livenessProbe,omitempty" yaml:"livenessProbe,omitempty" mapstructure:"livenessProbe,omitempty"`

	// PrometheusRule corresponds to the JSON schema field "prometheusRule".
	PrometheusRule *ValuesMetricsPrometheusRule `json:"prometheusRule,omitempty" yaml:"prometheusRule,omitempty" mapstructure:"prometheusRule,omitempty"`

	// ReadinessProbe corresponds to the JSON schema field "readinessProbe".
	ReadinessProbe *ValuesMetricsReadinessProbe `json:"readinessProbe,omitempty" yaml:"readinessProbe,omitempty" mapstructure:"readinessProbe,omitempty"`

	// Set container requests and limits for different resources like CPU or memory
	// (essential for production workloads)
	Resources ValuesMetricsResources `json:"resources,omitempty" yaml:"resources,omitempty" mapstructure:"resources,omitempty"`

	// Set container resources according to one common preset (allowed values: none,
	// nano, small, medium, large, xlarge, 2xlarge). This is ignored if
	// metrics.resources is set (metrics.resources is recommended for production).
	ResourcesPreset string `json:"resourcesPreset,omitempty" yaml:"resourcesPreset,omitempty" mapstructure:"resourcesPreset,omitempty"`

	// Service corresponds to the JSON schema field "service".
	Service *ValuesMetricsService `json:"service,omitempty" yaml:"service,omitempty" mapstructure:"service,omitempty"`

	// ServiceMonitor corresponds to the JSON schema field "serviceMonitor".
	ServiceMonitor *ValuesMetricsServiceMonitor `json:"serviceMonitor,omitempty" yaml:"serviceMonitor,omitempty" mapstructure:"serviceMonitor,omitempty"`

	// StartupProbe corresponds to the JSON schema field "startupProbe".
	StartupProbe *ValuesMetricsStartupProbe `json:"startupProbe,omitempty" yaml:"startupProbe,omitempty" mapstructure:"startupProbe,omitempty"`
}

type ValuesMetricsCollectors

type ValuesMetricsCollectors map[string]interface{}

Control enabled collectors

type ValuesMetricsContainerPorts

type ValuesMetricsContainerPorts struct {
	// PostgreSQL Prometheus exporter metrics container port
	Metrics float64 `json:"metrics,omitempty" yaml:"metrics,omitempty" mapstructure:"metrics,omitempty"`
}

type ValuesMetricsContainerSecurityContext

type ValuesMetricsContainerSecurityContext struct {
	// Set container's Security Context allowPrivilegeEscalation
	AllowPrivilegeEscalation bool `` /* 133-byte string literal not displayed */

	// Capabilities corresponds to the JSON schema field "capabilities".
	Capabilities *ValuesMetricsContainerSecurityContextCapabilities `json:"capabilities,omitempty" yaml:"capabilities,omitempty" mapstructure:"capabilities,omitempty"`

	// Enabled containers' Security Context
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Set container's Security Context privileged
	Privileged bool `json:"privileged,omitempty" yaml:"privileged,omitempty" mapstructure:"privileged,omitempty"`

	// Set container's Security Context readOnlyRootFilesystem
	ReadOnlyRootFilesystem bool `` /* 127-byte string literal not displayed */

	// Set containers' Security Context runAsGroup
	RunAsGroup float64 `json:"runAsGroup,omitempty" yaml:"runAsGroup,omitempty" mapstructure:"runAsGroup,omitempty"`

	// Set container's Security Context runAsNonRoot
	RunAsNonRoot bool `json:"runAsNonRoot,omitempty" yaml:"runAsNonRoot,omitempty" mapstructure:"runAsNonRoot,omitempty"`

	// Set containers' Security Context runAsUser
	RunAsUser float64 `json:"runAsUser,omitempty" yaml:"runAsUser,omitempty" mapstructure:"runAsUser,omitempty"`

	// SeccompProfile corresponds to the JSON schema field "seccompProfile".
	SeccompProfile *ValuesMetricsContainerSecurityContextSeccompProfile `json:"seccompProfile,omitempty" yaml:"seccompProfile,omitempty" mapstructure:"seccompProfile,omitempty"`
}

type ValuesMetricsContainerSecurityContextCapabilities

type ValuesMetricsContainerSecurityContextCapabilities struct {
	// List of capabilities to be dropped
	Drop []string `json:"drop,omitempty" yaml:"drop,omitempty" mapstructure:"drop,omitempty"`
}

type ValuesMetricsContainerSecurityContextSeccompProfile

type ValuesMetricsContainerSecurityContextSeccompProfile struct {
	// Set container's Security Context seccomp profile
	Type string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"`
}

type ValuesMetricsCustomLivenessProbe

type ValuesMetricsCustomLivenessProbe map[string]interface{}

Custom livenessProbe that overrides the default one

type ValuesMetricsCustomMetrics

type ValuesMetricsCustomMetrics map[string]interface{}

Define additional custom metrics

type ValuesMetricsCustomReadinessProbe

type ValuesMetricsCustomReadinessProbe map[string]interface{}

Custom readinessProbe that overrides the default one

type ValuesMetricsCustomStartupProbe

type ValuesMetricsCustomStartupProbe map[string]interface{}

Custom startupProbe that overrides the default one

type ValuesMetricsImage

type ValuesMetricsImage struct {
	// PostgreSQL image digest in the way sha256:aa.... Please note this parameter, if
	// set, will override the tag
	Digest string `json:"digest,omitempty" yaml:"digest,omitempty" mapstructure:"digest,omitempty"`

	// PostgreSQL Prometheus Exporter image pull policy
	PullPolicy string `json:"pullPolicy,omitempty" yaml:"pullPolicy,omitempty" mapstructure:"pullPolicy,omitempty"`

	// Specify image pull secrets
	PullSecrets []interface{} `json:"pullSecrets,omitempty" yaml:"pullSecrets,omitempty" mapstructure:"pullSecrets,omitempty"`

	// PostgreSQL Prometheus Exporter image registry
	Registry string `json:"registry,omitempty" yaml:"registry,omitempty" mapstructure:"registry,omitempty"`

	// PostgreSQL Prometheus Exporter image repository
	Repository string `json:"repository,omitempty" yaml:"repository,omitempty" mapstructure:"repository,omitempty"`
}

type ValuesMetricsLivenessProbe

type ValuesMetricsLivenessProbe struct {
	// Enable livenessProbe on PostgreSQL Prometheus exporter containers
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Failure threshold for livenessProbe
	FailureThreshold float64 `json:"failureThreshold,omitempty" yaml:"failureThreshold,omitempty" mapstructure:"failureThreshold,omitempty"`

	// Initial delay seconds for livenessProbe
	InitialDelaySeconds float64 `json:"initialDelaySeconds,omitempty" yaml:"initialDelaySeconds,omitempty" mapstructure:"initialDelaySeconds,omitempty"`

	// Period seconds for livenessProbe
	PeriodSeconds float64 `json:"periodSeconds,omitempty" yaml:"periodSeconds,omitempty" mapstructure:"periodSeconds,omitempty"`

	// Success threshold for livenessProbe
	SuccessThreshold float64 `json:"successThreshold,omitempty" yaml:"successThreshold,omitempty" mapstructure:"successThreshold,omitempty"`

	// Timeout seconds for livenessProbe
	TimeoutSeconds float64 `json:"timeoutSeconds,omitempty" yaml:"timeoutSeconds,omitempty" mapstructure:"timeoutSeconds,omitempty"`
}

type ValuesMetricsPrometheusRule

type ValuesMetricsPrometheusRule struct {
	// Create a PrometheusRule for Prometheus Operator
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Additional labels that can be used so PrometheusRule will be discovered by
	// Prometheus
	Labels ValuesMetricsPrometheusRuleLabels `json:"labels,omitempty" yaml:"labels,omitempty" mapstructure:"labels,omitempty"`

	// Namespace for the PrometheusRule Resource (defaults to the Release Namespace)
	Namespace string `json:"namespace,omitempty" yaml:"namespace,omitempty" mapstructure:"namespace,omitempty"`

	// PrometheusRule definitions
	Rules []interface{} `json:"rules,omitempty" yaml:"rules,omitempty" mapstructure:"rules,omitempty"`
}

type ValuesMetricsPrometheusRuleLabels

type ValuesMetricsPrometheusRuleLabels map[string]interface{}

Additional labels that can be used so PrometheusRule will be discovered by Prometheus

type ValuesMetricsReadinessProbe

type ValuesMetricsReadinessProbe struct {
	// Enable readinessProbe on PostgreSQL Prometheus exporter containers
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Failure threshold for readinessProbe
	FailureThreshold float64 `json:"failureThreshold,omitempty" yaml:"failureThreshold,omitempty" mapstructure:"failureThreshold,omitempty"`

	// Initial delay seconds for readinessProbe
	InitialDelaySeconds float64 `json:"initialDelaySeconds,omitempty" yaml:"initialDelaySeconds,omitempty" mapstructure:"initialDelaySeconds,omitempty"`

	// Period seconds for readinessProbe
	PeriodSeconds float64 `json:"periodSeconds,omitempty" yaml:"periodSeconds,omitempty" mapstructure:"periodSeconds,omitempty"`

	// Success threshold for readinessProbe
	SuccessThreshold float64 `json:"successThreshold,omitempty" yaml:"successThreshold,omitempty" mapstructure:"successThreshold,omitempty"`

	// Timeout seconds for readinessProbe
	TimeoutSeconds float64 `json:"timeoutSeconds,omitempty" yaml:"timeoutSeconds,omitempty" mapstructure:"timeoutSeconds,omitempty"`
}

type ValuesMetricsResources

type ValuesMetricsResources map[string]interface{}

Set container requests and limits for different resources like CPU or memory (essential for production workloads)

type ValuesMetricsService

type ValuesMetricsService struct {
	// Static clusterIP or None for headless services
	ClusterIP string `json:"clusterIP,omitempty" yaml:"clusterIP,omitempty" mapstructure:"clusterIP,omitempty"`

	// Ports corresponds to the JSON schema field "ports".
	Ports *ValuesMetricsServicePorts `json:"ports,omitempty" yaml:"ports,omitempty" mapstructure:"ports,omitempty"`

	// Control where client requests go, to the same pod or round-robin
	SessionAffinity string `json:"sessionAffinity,omitempty" yaml:"sessionAffinity,omitempty" mapstructure:"sessionAffinity,omitempty"`
}

type ValuesMetricsServiceMonitor

type ValuesMetricsServiceMonitor struct {
	// Create ServiceMonitor Resource for scraping metrics using Prometheus Operator
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Specify honorLabels parameter to add the scrape endpoint
	HonorLabels bool `json:"honorLabels,omitempty" yaml:"honorLabels,omitempty" mapstructure:"honorLabels,omitempty"`

	// Interval at which metrics should be scraped.
	Interval string `json:"interval,omitempty" yaml:"interval,omitempty" mapstructure:"interval,omitempty"`

	// The name of the label on the target service to use as the job name in
	// prometheus.
	JobLabel string `json:"jobLabel,omitempty" yaml:"jobLabel,omitempty" mapstructure:"jobLabel,omitempty"`

	// Additional labels that can be used so ServiceMonitor will be discovered by
	// Prometheus
	Labels ValuesMetricsServiceMonitorLabels `json:"labels,omitempty" yaml:"labels,omitempty" mapstructure:"labels,omitempty"`

	// MetricRelabelConfigs to apply to samples before ingestion
	MetricRelabelings []interface{} `json:"metricRelabelings,omitempty" yaml:"metricRelabelings,omitempty" mapstructure:"metricRelabelings,omitempty"`

	// Namespace for the ServiceMonitor Resource (defaults to the Release Namespace)
	Namespace string `json:"namespace,omitempty" yaml:"namespace,omitempty" mapstructure:"namespace,omitempty"`

	// RelabelConfigs to apply to samples before scraping
	Relabelings []interface{} `json:"relabelings,omitempty" yaml:"relabelings,omitempty" mapstructure:"relabelings,omitempty"`

	// Timeout after which the scrape is ended
	ScrapeTimeout string `json:"scrapeTimeout,omitempty" yaml:"scrapeTimeout,omitempty" mapstructure:"scrapeTimeout,omitempty"`

	// Prometheus instance selector labels
	Selector ValuesMetricsServiceMonitorSelector `json:"selector,omitempty" yaml:"selector,omitempty" mapstructure:"selector,omitempty"`
}

type ValuesMetricsServiceMonitorLabels

type ValuesMetricsServiceMonitorLabels map[string]interface{}

Additional labels that can be used so ServiceMonitor will be discovered by Prometheus

type ValuesMetricsServiceMonitorSelector

type ValuesMetricsServiceMonitorSelector map[string]interface{}

Prometheus instance selector labels

type ValuesMetricsServicePorts

type ValuesMetricsServicePorts struct {
	// PostgreSQL Prometheus Exporter service port
	Metrics float64 `json:"metrics,omitempty" yaml:"metrics,omitempty" mapstructure:"metrics,omitempty"`
}

type ValuesMetricsStartupProbe

type ValuesMetricsStartupProbe struct {
	// Enable startupProbe on PostgreSQL Prometheus exporter containers
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Failure threshold for startupProbe
	FailureThreshold float64 `json:"failureThreshold,omitempty" yaml:"failureThreshold,omitempty" mapstructure:"failureThreshold,omitempty"`

	// Initial delay seconds for startupProbe
	InitialDelaySeconds float64 `json:"initialDelaySeconds,omitempty" yaml:"initialDelaySeconds,omitempty" mapstructure:"initialDelaySeconds,omitempty"`

	// Period seconds for startupProbe
	PeriodSeconds float64 `json:"periodSeconds,omitempty" yaml:"periodSeconds,omitempty" mapstructure:"periodSeconds,omitempty"`

	// Success threshold for startupProbe
	SuccessThreshold float64 `json:"successThreshold,omitempty" yaml:"successThreshold,omitempty" mapstructure:"successThreshold,omitempty"`

	// Timeout seconds for startupProbe
	TimeoutSeconds float64 `json:"timeoutSeconds,omitempty" yaml:"timeoutSeconds,omitempty" mapstructure:"timeoutSeconds,omitempty"`
}

type ValuesPrimary

type ValuesPrimary struct {
	// Affinity for PostgreSQL primary pods assignment
	Affinity ValuesPrimaryAffinity `json:"affinity,omitempty" yaml:"affinity,omitempty" mapstructure:"affinity,omitempty"`

	// Annotations for PostgreSQL primary pods
	Annotations ValuesPrimaryAnnotations `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"`

	// Override default container args (useful when using custom images)
	Args []interface{} `json:"args,omitempty" yaml:"args,omitempty" mapstructure:"args,omitempty"`

	// Mount Service Account token in pod
	AutomountServiceAccountToken bool `` /* 145-byte string literal not displayed */

	// Override default container command (useful when using custom images)
	Command []interface{} `json:"command,omitempty" yaml:"command,omitempty" mapstructure:"command,omitempty"`

	// PostgreSQL Primary main configuration to be injected as ConfigMap
	Configuration string `json:"configuration,omitempty" yaml:"configuration,omitempty" mapstructure:"configuration,omitempty"`

	// ContainerSecurityContext corresponds to the JSON schema field
	// "containerSecurityContext".
	ContainerSecurityContext *ValuesPrimaryContainerSecurityContext `` /* 133-byte string literal not displayed */

	// Custom livenessProbe that overrides the default one
	CustomLivenessProbe ValuesPrimaryCustomLivenessProbe `json:"customLivenessProbe,omitempty" yaml:"customLivenessProbe,omitempty" mapstructure:"customLivenessProbe,omitempty"`

	// Custom readinessProbe that overrides the default one
	CustomReadinessProbe ValuesPrimaryCustomReadinessProbe `json:"customReadinessProbe,omitempty" yaml:"customReadinessProbe,omitempty" mapstructure:"customReadinessProbe,omitempty"`

	// Custom startupProbe that overrides the default one
	CustomStartupProbe ValuesPrimaryCustomStartupProbe `json:"customStartupProbe,omitempty" yaml:"customStartupProbe,omitempty" mapstructure:"customStartupProbe,omitempty"`

	// Name of an existing ConfigMap with PostgreSQL Primary configuration
	ExistingConfigmap string `json:"existingConfigmap,omitempty" yaml:"existingConfigmap,omitempty" mapstructure:"existingConfigmap,omitempty"`

	// Name of an existing ConfigMap with PostgreSQL Primary extended configuration
	ExistingExtendedConfigmap string `` /* 136-byte string literal not displayed */

	// Extended PostgreSQL Primary configuration (appended to main or default
	// configuration)
	ExtendedConfiguration string `json:"extendedConfiguration,omitempty" yaml:"extendedConfiguration,omitempty" mapstructure:"extendedConfiguration,omitempty"`

	// Array with extra environment variables to add to PostgreSQL Primary nodes
	ExtraEnvVars []interface{} `json:"extraEnvVars,omitempty" yaml:"extraEnvVars,omitempty" mapstructure:"extraEnvVars,omitempty"`

	// Name of existing ConfigMap containing extra env vars for PostgreSQL Primary
	// nodes
	ExtraEnvVarsCM string `json:"extraEnvVarsCM,omitempty" yaml:"extraEnvVarsCM,omitempty" mapstructure:"extraEnvVarsCM,omitempty"`

	// Name of existing Secret containing extra env vars for PostgreSQL Primary nodes
	ExtraEnvVarsSecret string `json:"extraEnvVarsSecret,omitempty" yaml:"extraEnvVarsSecret,omitempty" mapstructure:"extraEnvVarsSecret,omitempty"`

	// Optionally specify extra PodSpec for the PostgreSQL Primary pod(s)
	ExtraPodSpec ValuesPrimaryExtraPodSpec `json:"extraPodSpec,omitempty" yaml:"extraPodSpec,omitempty" mapstructure:"extraPodSpec,omitempty"`

	// Optionally specify extra list of additional volumeMounts for the PostgreSQL
	// Primary container(s)
	ExtraVolumeMounts []interface{} `json:"extraVolumeMounts,omitempty" yaml:"extraVolumeMounts,omitempty" mapstructure:"extraVolumeMounts,omitempty"`

	// Optionally specify extra list of additional volumes for the PostgreSQL Primary
	// pod(s)
	ExtraVolumes []interface{} `json:"extraVolumes,omitempty" yaml:"extraVolumes,omitempty" mapstructure:"extraVolumes,omitempty"`

	// PostgreSQL primary pods host aliases
	HostAliases []interface{} `json:"hostAliases,omitempty" yaml:"hostAliases,omitempty" mapstructure:"hostAliases,omitempty"`

	// Specify if host IPC should be enabled for PostgreSQL pod (postgresql primary)
	HostIPC bool `json:"hostIPC,omitempty" yaml:"hostIPC,omitempty" mapstructure:"hostIPC,omitempty"`

	// Specify if host network should be enabled for PostgreSQL pod (postgresql
	// primary)
	HostNetwork bool `json:"hostNetwork,omitempty" yaml:"hostNetwork,omitempty" mapstructure:"hostNetwork,omitempty"`

	// Add additional init containers to the PostgreSQL Primary pod(s)
	InitContainers []interface{} `json:"initContainers,omitempty" yaml:"initContainers,omitempty" mapstructure:"initContainers,omitempty"`

	// Initdb corresponds to the JSON schema field "initdb".
	Initdb *ValuesPrimaryInitdb `json:"initdb,omitempty" yaml:"initdb,omitempty" mapstructure:"initdb,omitempty"`

	// Map of labels to add to the statefulset (postgresql primary)
	Labels ValuesPrimaryLabels `json:"labels,omitempty" yaml:"labels,omitempty" mapstructure:"labels,omitempty"`

	// for the PostgreSQL Primary container to automate configuration before or after
	// startup
	LifecycleHooks ValuesPrimaryLifecycleHooks `json:"lifecycleHooks,omitempty" yaml:"lifecycleHooks,omitempty" mapstructure:"lifecycleHooks,omitempty"`

	// LivenessProbe corresponds to the JSON schema field "livenessProbe".
	LivenessProbe *ValuesPrimaryLivenessProbe `json:"livenessProbe,omitempty" yaml:"livenessProbe,omitempty" mapstructure:"livenessProbe,omitempty"`

	// Name of the primary database (eg primary, master, leader, ...)
	Name string `json:"name,omitempty" yaml:"name,omitempty" mapstructure:"name,omitempty"`

	// NetworkPolicy corresponds to the JSON schema field "networkPolicy".
	NetworkPolicy *ValuesPrimaryNetworkPolicy `json:"networkPolicy,omitempty" yaml:"networkPolicy,omitempty" mapstructure:"networkPolicy,omitempty"`

	// NodeAffinityPreset corresponds to the JSON schema field "nodeAffinityPreset".
	NodeAffinityPreset *ValuesPrimaryNodeAffinityPreset `json:"nodeAffinityPreset,omitempty" yaml:"nodeAffinityPreset,omitempty" mapstructure:"nodeAffinityPreset,omitempty"`

	// Node labels for PostgreSQL primary pods assignment
	NodeSelector ValuesPrimaryNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"`

	// Persistence corresponds to the JSON schema field "persistence".
	Persistence *ValuesPrimaryPersistence `json:"persistence,omitempty" yaml:"persistence,omitempty" mapstructure:"persistence,omitempty"`

	// PersistentVolumeClaimRetentionPolicy corresponds to the JSON schema field
	// "persistentVolumeClaimRetentionPolicy".
	PersistentVolumeClaimRetentionPolicy *ValuesPrimaryPersistentVolumeClaimRetentionPolicy `` /* 169-byte string literal not displayed */

	// PostgreSQL Primary client authentication configuration
	PgHbaConfiguration string `json:"pgHbaConfiguration,omitempty" yaml:"pgHbaConfiguration,omitempty" mapstructure:"pgHbaConfiguration,omitempty"`

	// PostgreSQL primary pod affinity preset. Ignored if `primary.affinity` is set.
	// Allowed values: `soft` or `hard`
	PodAffinityPreset string `json:"podAffinityPreset,omitempty" yaml:"podAffinityPreset,omitempty" mapstructure:"podAffinityPreset,omitempty"`

	// Map of annotations to add to the pods (postgresql primary)
	PodAnnotations ValuesPrimaryPodAnnotations `json:"podAnnotations,omitempty" yaml:"podAnnotations,omitempty" mapstructure:"podAnnotations,omitempty"`

	// PostgreSQL primary pod anti-affinity preset. Ignored if `primary.affinity` is
	// set. Allowed values: `soft` or `hard`
	PodAntiAffinityPreset string `json:"podAntiAffinityPreset,omitempty" yaml:"podAntiAffinityPreset,omitempty" mapstructure:"podAntiAffinityPreset,omitempty"`

	// Map of labels to add to the pods (postgresql primary)
	PodLabels ValuesPrimaryPodLabels `json:"podLabels,omitempty" yaml:"podLabels,omitempty" mapstructure:"podLabels,omitempty"`

	// PodSecurityContext corresponds to the JSON schema field "podSecurityContext".
	PodSecurityContext *ValuesPrimaryPodSecurityContext `json:"podSecurityContext,omitempty" yaml:"podSecurityContext,omitempty" mapstructure:"podSecurityContext,omitempty"`

	// Priority Class to use for each pod (postgresql primary)
	PriorityClassName string `json:"priorityClassName,omitempty" yaml:"priorityClassName,omitempty" mapstructure:"priorityClassName,omitempty"`

	// ReadinessProbe corresponds to the JSON schema field "readinessProbe".
	ReadinessProbe *ValuesPrimaryReadinessProbe `json:"readinessProbe,omitempty" yaml:"readinessProbe,omitempty" mapstructure:"readinessProbe,omitempty"`

	// Set container requests and limits for different resources like CPU or memory
	// (essential for production workloads)
	Resources ValuesPrimaryResources `json:"resources,omitempty" yaml:"resources,omitempty" mapstructure:"resources,omitempty"`

	// Set container resources according to one common preset (allowed values: none,
	// nano, small, medium, large, xlarge, 2xlarge). This is ignored if
	// primary.resources is set (primary.resources is recommended for production).
	ResourcesPreset string `json:"resourcesPreset,omitempty" yaml:"resourcesPreset,omitempty" mapstructure:"resourcesPreset,omitempty"`

	// Use an alternate scheduler, e.g. "stork".
	SchedulerName string `json:"schedulerName,omitempty" yaml:"schedulerName,omitempty" mapstructure:"schedulerName,omitempty"`

	// Service corresponds to the JSON schema field "service".
	Service *ValuesPrimaryService `json:"service,omitempty" yaml:"service,omitempty" mapstructure:"service,omitempty"`

	// Add additional sidecar containers to the PostgreSQL Primary pod(s)
	Sidecars []interface{} `json:"sidecars,omitempty" yaml:"sidecars,omitempty" mapstructure:"sidecars,omitempty"`

	// Standby corresponds to the JSON schema field "standby".
	Standby *ValuesPrimaryStandby `json:"standby,omitempty" yaml:"standby,omitempty" mapstructure:"standby,omitempty"`

	// StartupProbe corresponds to the JSON schema field "startupProbe".
	StartupProbe *ValuesPrimaryStartupProbe `json:"startupProbe,omitempty" yaml:"startupProbe,omitempty" mapstructure:"startupProbe,omitempty"`

	// Seconds PostgreSQL primary pod needs to terminate gracefully
	TerminationGracePeriodSeconds string `` /* 148-byte string literal not displayed */

	// Tolerations for PostgreSQL primary pods assignment
	Tolerations []interface{} `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"`

	// Topology Spread Constraints for pod assignment spread across your cluster among
	// failure-domains. Evaluated as a template
	TopologySpreadConstraints []interface{} `` /* 136-byte string literal not displayed */

	// UpdateStrategy corresponds to the JSON schema field "updateStrategy".
	UpdateStrategy *ValuesPrimaryUpdateStrategy `json:"updateStrategy,omitempty" yaml:"updateStrategy,omitempty" mapstructure:"updateStrategy,omitempty"`
}

type ValuesPrimaryAffinity

type ValuesPrimaryAffinity map[string]interface{}

Affinity for PostgreSQL primary pods assignment

type ValuesPrimaryAnnotations

type ValuesPrimaryAnnotations map[string]interface{}

Annotations for PostgreSQL primary pods

type ValuesPrimaryContainerSecurityContext

type ValuesPrimaryContainerSecurityContext struct {
	// Set container's Security Context allowPrivilegeEscalation
	AllowPrivilegeEscalation bool `` /* 133-byte string literal not displayed */

	// Capabilities corresponds to the JSON schema field "capabilities".
	Capabilities *ValuesPrimaryContainerSecurityContextCapabilities `json:"capabilities,omitempty" yaml:"capabilities,omitempty" mapstructure:"capabilities,omitempty"`

	// Enabled containers' Security Context
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Set container's Security Context privileged
	Privileged bool `json:"privileged,omitempty" yaml:"privileged,omitempty" mapstructure:"privileged,omitempty"`

	// Set container's Security Context readOnlyRootFilesystem
	ReadOnlyRootFilesystem bool `` /* 127-byte string literal not displayed */

	// Set containers' Security Context runAsGroup
	RunAsGroup float64 `json:"runAsGroup,omitempty" yaml:"runAsGroup,omitempty" mapstructure:"runAsGroup,omitempty"`

	// Set container's Security Context runAsNonRoot
	RunAsNonRoot bool `json:"runAsNonRoot,omitempty" yaml:"runAsNonRoot,omitempty" mapstructure:"runAsNonRoot,omitempty"`

	// Set containers' Security Context runAsUser
	RunAsUser float64 `json:"runAsUser,omitempty" yaml:"runAsUser,omitempty" mapstructure:"runAsUser,omitempty"`

	// SeccompProfile corresponds to the JSON schema field "seccompProfile".
	SeccompProfile *ValuesPrimaryContainerSecurityContextSeccompProfile `json:"seccompProfile,omitempty" yaml:"seccompProfile,omitempty" mapstructure:"seccompProfile,omitempty"`
}

type ValuesPrimaryContainerSecurityContextCapabilities

type ValuesPrimaryContainerSecurityContextCapabilities struct {
	// List of capabilities to be dropped
	Drop []string `json:"drop,omitempty" yaml:"drop,omitempty" mapstructure:"drop,omitempty"`
}

type ValuesPrimaryContainerSecurityContextSeccompProfile

type ValuesPrimaryContainerSecurityContextSeccompProfile struct {
	// Set container's Security Context seccomp profile
	Type string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"`
}

type ValuesPrimaryCustomLivenessProbe

type ValuesPrimaryCustomLivenessProbe map[string]interface{}

Custom livenessProbe that overrides the default one

type ValuesPrimaryCustomReadinessProbe

type ValuesPrimaryCustomReadinessProbe map[string]interface{}

Custom readinessProbe that overrides the default one

type ValuesPrimaryCustomStartupProbe

type ValuesPrimaryCustomStartupProbe map[string]interface{}

Custom startupProbe that overrides the default one

type ValuesPrimaryExtraPodSpec

type ValuesPrimaryExtraPodSpec map[string]interface{}

Optionally specify extra PodSpec for the PostgreSQL Primary pod(s)

type ValuesPrimaryInitdb

type ValuesPrimaryInitdb struct {
	// PostgreSQL initdb extra arguments
	Args string `json:"args,omitempty" yaml:"args,omitempty" mapstructure:"args,omitempty"`

	// Specify the PostgreSQL password to execute the initdb scripts
	Password string `json:"password,omitempty" yaml:"password,omitempty" mapstructure:"password,omitempty"`

	// Specify a custom location for the PostgreSQL transaction log
	PostgresqlWalDir string `json:"postgresqlWalDir,omitempty" yaml:"postgresqlWalDir,omitempty" mapstructure:"postgresqlWalDir,omitempty"`

	// Dictionary of initdb scripts
	Scripts ValuesPrimaryInitdbScripts `json:"scripts,omitempty" yaml:"scripts,omitempty" mapstructure:"scripts,omitempty"`

	// ConfigMap with scripts to be run at first boot
	ScriptsConfigMap string `json:"scriptsConfigMap,omitempty" yaml:"scriptsConfigMap,omitempty" mapstructure:"scriptsConfigMap,omitempty"`

	// Secret with scripts to be run at first boot (in case it contains sensitive
	// information)
	ScriptsSecret string `json:"scriptsSecret,omitempty" yaml:"scriptsSecret,omitempty" mapstructure:"scriptsSecret,omitempty"`

	// Specify the PostgreSQL username to execute the initdb scripts
	User string `json:"user,omitempty" yaml:"user,omitempty" mapstructure:"user,omitempty"`
}

type ValuesPrimaryInitdbScripts

type ValuesPrimaryInitdbScripts map[string]interface{}

Dictionary of initdb scripts

type ValuesPrimaryLabels

type ValuesPrimaryLabels map[string]interface{}

Map of labels to add to the statefulset (postgresql primary)

type ValuesPrimaryLifecycleHooks

type ValuesPrimaryLifecycleHooks map[string]interface{}

for the PostgreSQL Primary container to automate configuration before or after startup

type ValuesPrimaryLivenessProbe

type ValuesPrimaryLivenessProbe struct {
	// Enable livenessProbe on PostgreSQL Primary containers
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Failure threshold for livenessProbe
	FailureThreshold float64 `json:"failureThreshold,omitempty" yaml:"failureThreshold,omitempty" mapstructure:"failureThreshold,omitempty"`

	// Initial delay seconds for livenessProbe
	InitialDelaySeconds float64 `json:"initialDelaySeconds,omitempty" yaml:"initialDelaySeconds,omitempty" mapstructure:"initialDelaySeconds,omitempty"`

	// Period seconds for livenessProbe
	PeriodSeconds float64 `json:"periodSeconds,omitempty" yaml:"periodSeconds,omitempty" mapstructure:"periodSeconds,omitempty"`

	// Success threshold for livenessProbe
	SuccessThreshold float64 `json:"successThreshold,omitempty" yaml:"successThreshold,omitempty" mapstructure:"successThreshold,omitempty"`

	// Timeout seconds for livenessProbe
	TimeoutSeconds float64 `json:"timeoutSeconds,omitempty" yaml:"timeoutSeconds,omitempty" mapstructure:"timeoutSeconds,omitempty"`
}

type ValuesPrimaryNetworkPolicy

type ValuesPrimaryNetworkPolicy struct {
	// Don't require server label for connections
	AllowExternal bool `json:"allowExternal,omitempty" yaml:"allowExternal,omitempty" mapstructure:"allowExternal,omitempty"`

	// Allow the pod to access any range of port and all destinations.
	AllowExternalEgress bool `json:"allowExternalEgress,omitempty" yaml:"allowExternalEgress,omitempty" mapstructure:"allowExternalEgress,omitempty"`

	// Specifies whether a NetworkPolicy should be created
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Add extra ingress rules to the NetworkPolicy
	ExtraEgress []string `json:"extraEgress,omitempty" yaml:"extraEgress,omitempty" mapstructure:"extraEgress,omitempty"`

	// Add extra ingress rules to the NetworkPolice
	ExtraIngress []string `json:"extraIngress,omitempty" yaml:"extraIngress,omitempty" mapstructure:"extraIngress,omitempty"`
}

type ValuesPrimaryNodeAffinityPreset

type ValuesPrimaryNodeAffinityPreset struct {
	// PostgreSQL primary node label key to match Ignored if `primary.affinity` is
	// set.
	Key string `json:"key,omitempty" yaml:"key,omitempty" mapstructure:"key,omitempty"`

	// PostgreSQL primary node affinity preset type. Ignored if `primary.affinity` is
	// set. Allowed values: `soft` or `hard`
	Type string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"`

	// PostgreSQL primary node label values to match. Ignored if `primary.affinity` is
	// set.
	Values []interface{} `json:"values,omitempty" yaml:"values,omitempty" mapstructure:"values,omitempty"`
}

type ValuesPrimaryNodeSelector

type ValuesPrimaryNodeSelector map[string]interface{}

Node labels for PostgreSQL primary pods assignment

type ValuesPrimaryPersistence

type ValuesPrimaryPersistence struct {
	// PVC Access Mode for PostgreSQL volume
	AccessModes []string `json:"accessModes,omitempty" yaml:"accessModes,omitempty" mapstructure:"accessModes,omitempty"`

	// Annotations for the PVC
	Annotations ValuesPrimaryPersistenceAnnotations `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"`

	// Custom PVC data source
	DataSource ValuesPrimaryPersistenceDataSource `json:"dataSource,omitempty" yaml:"dataSource,omitempty" mapstructure:"dataSource,omitempty"`

	// Enable PostgreSQL Primary data persistence using PVC
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Name of an existing PVC to use
	ExistingClaim string `json:"existingClaim,omitempty" yaml:"existingClaim,omitempty" mapstructure:"existingClaim,omitempty"`

	// Labels for the PVC
	Labels ValuesPrimaryPersistenceLabels `json:"labels,omitempty" yaml:"labels,omitempty" mapstructure:"labels,omitempty"`

	// The path the volume will be mounted at
	MountPath string `json:"mountPath,omitempty" yaml:"mountPath,omitempty" mapstructure:"mountPath,omitempty"`

	// Selector to match an existing Persistent Volume (this value is evaluated as a
	// template)
	Selector ValuesPrimaryPersistenceSelector `json:"selector,omitempty" yaml:"selector,omitempty" mapstructure:"selector,omitempty"`

	// PVC Storage Request for PostgreSQL volume
	Size string `json:"size,omitempty" yaml:"size,omitempty" mapstructure:"size,omitempty"`

	// PVC Storage Class for PostgreSQL Primary data volume
	StorageClass string `json:"storageClass,omitempty" yaml:"storageClass,omitempty" mapstructure:"storageClass,omitempty"`

	// The subdirectory of the volume to mount to
	SubPath string `json:"subPath,omitempty" yaml:"subPath,omitempty" mapstructure:"subPath,omitempty"`
}

type ValuesPrimaryPersistenceAnnotations

type ValuesPrimaryPersistenceAnnotations map[string]interface{}

Annotations for the PVC

type ValuesPrimaryPersistenceDataSource

type ValuesPrimaryPersistenceDataSource map[string]interface{}

Custom PVC data source

type ValuesPrimaryPersistenceLabels

type ValuesPrimaryPersistenceLabels map[string]interface{}

Labels for the PVC

type ValuesPrimaryPersistenceSelector

type ValuesPrimaryPersistenceSelector map[string]interface{}

Selector to match an existing Persistent Volume (this value is evaluated as a template)

type ValuesPrimaryPersistentVolumeClaimRetentionPolicy

type ValuesPrimaryPersistentVolumeClaimRetentionPolicy struct {
	// Enable Persistent volume retention policy for Primary Statefulset
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Volume retention behavior that applies when the StatefulSet is deleted
	WhenDeleted string `json:"whenDeleted,omitempty" yaml:"whenDeleted,omitempty" mapstructure:"whenDeleted,omitempty"`

	// Volume retention behavior when the replica count of the StatefulSet is reduced
	WhenScaled string `json:"whenScaled,omitempty" yaml:"whenScaled,omitempty" mapstructure:"whenScaled,omitempty"`
}

type ValuesPrimaryPodAnnotations

type ValuesPrimaryPodAnnotations map[string]interface{}

Map of annotations to add to the pods (postgresql primary)

type ValuesPrimaryPodLabels

type ValuesPrimaryPodLabels map[string]interface{}

Map of labels to add to the pods (postgresql primary)

type ValuesPrimaryPodSecurityContext

type ValuesPrimaryPodSecurityContext struct {
	// Enable security context
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Group ID for the pod
	FsGroup float64 `json:"fsGroup,omitempty" yaml:"fsGroup,omitempty" mapstructure:"fsGroup,omitempty"`

	// Set filesystem group change policy
	FsGroupChangePolicy string `json:"fsGroupChangePolicy,omitempty" yaml:"fsGroupChangePolicy,omitempty" mapstructure:"fsGroupChangePolicy,omitempty"`

	// Set filesystem extra groups
	SupplementalGroups []interface{} `json:"supplementalGroups,omitempty" yaml:"supplementalGroups,omitempty" mapstructure:"supplementalGroups,omitempty"`

	// Set kernel settings using the sysctl interface
	Sysctls []interface{} `json:"sysctls,omitempty" yaml:"sysctls,omitempty" mapstructure:"sysctls,omitempty"`
}

type ValuesPrimaryReadinessProbe

type ValuesPrimaryReadinessProbe struct {
	// Enable readinessProbe on PostgreSQL Primary containers
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Failure threshold for readinessProbe
	FailureThreshold float64 `json:"failureThreshold,omitempty" yaml:"failureThreshold,omitempty" mapstructure:"failureThreshold,omitempty"`

	// Initial delay seconds for readinessProbe
	InitialDelaySeconds float64 `json:"initialDelaySeconds,omitempty" yaml:"initialDelaySeconds,omitempty" mapstructure:"initialDelaySeconds,omitempty"`

	// Period seconds for readinessProbe
	PeriodSeconds float64 `json:"periodSeconds,omitempty" yaml:"periodSeconds,omitempty" mapstructure:"periodSeconds,omitempty"`

	// Success threshold for readinessProbe
	SuccessThreshold float64 `json:"successThreshold,omitempty" yaml:"successThreshold,omitempty" mapstructure:"successThreshold,omitempty"`

	// Timeout seconds for readinessProbe
	TimeoutSeconds float64 `json:"timeoutSeconds,omitempty" yaml:"timeoutSeconds,omitempty" mapstructure:"timeoutSeconds,omitempty"`
}

type ValuesPrimaryResources

type ValuesPrimaryResources map[string]interface{}

Set container requests and limits for different resources like CPU or memory (essential for production workloads)

type ValuesPrimaryService

type ValuesPrimaryService struct {
	// Annotations for PostgreSQL primary service
	Annotations ValuesPrimaryServiceAnnotations `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"`

	// Static clusterIP or None for headless services
	ClusterIP string `json:"clusterIP,omitempty" yaml:"clusterIP,omitempty" mapstructure:"clusterIP,omitempty"`

	// Enable client source IP preservation
	ExternalTrafficPolicy string `json:"externalTrafficPolicy,omitempty" yaml:"externalTrafficPolicy,omitempty" mapstructure:"externalTrafficPolicy,omitempty"`

	// Extra ports to expose in the PostgreSQL primary service
	ExtraPorts []interface{} `json:"extraPorts,omitempty" yaml:"extraPorts,omitempty" mapstructure:"extraPorts,omitempty"`

	// Headless corresponds to the JSON schema field "headless".
	Headless *ValuesPrimaryServiceHeadless `json:"headless,omitempty" yaml:"headless,omitempty" mapstructure:"headless,omitempty"`

	// Load balancer IP if service type is `LoadBalancer`
	LoadBalancerIP string `json:"loadBalancerIP,omitempty" yaml:"loadBalancerIP,omitempty" mapstructure:"loadBalancerIP,omitempty"`

	// Addresses that are allowed when service is LoadBalancer
	LoadBalancerSourceRanges []interface{} `` /* 133-byte string literal not displayed */

	// NodePorts corresponds to the JSON schema field "nodePorts".
	NodePorts *ValuesPrimaryServiceNodePorts `json:"nodePorts,omitempty" yaml:"nodePorts,omitempty" mapstructure:"nodePorts,omitempty"`

	// Ports corresponds to the JSON schema field "ports".
	Ports *ValuesPrimaryServicePorts `json:"ports,omitempty" yaml:"ports,omitempty" mapstructure:"ports,omitempty"`

	// Session Affinity for Kubernetes service, can be "None" or "ClientIP"
	SessionAffinity string `json:"sessionAffinity,omitempty" yaml:"sessionAffinity,omitempty" mapstructure:"sessionAffinity,omitempty"`

	// Additional settings for the sessionAffinity
	SessionAffinityConfig ValuesPrimaryServiceSessionAffinityConfig `json:"sessionAffinityConfig,omitempty" yaml:"sessionAffinityConfig,omitempty" mapstructure:"sessionAffinityConfig,omitempty"`

	// Kubernetes Service type
	Type string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"`
}

type ValuesPrimaryServiceAnnotations

type ValuesPrimaryServiceAnnotations map[string]interface{}

Annotations for PostgreSQL primary service

type ValuesPrimaryServiceHeadless

type ValuesPrimaryServiceHeadless struct {
	// Additional custom annotations for headless PostgreSQL primary service
	Annotations ValuesPrimaryServiceHeadlessAnnotations `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"`
}

type ValuesPrimaryServiceHeadlessAnnotations

type ValuesPrimaryServiceHeadlessAnnotations map[string]interface{}

Additional custom annotations for headless PostgreSQL primary service

type ValuesPrimaryServiceNodePorts

type ValuesPrimaryServiceNodePorts struct {
	// Node port for PostgreSQL
	Postgresql string `json:"postgresql,omitempty" yaml:"postgresql,omitempty" mapstructure:"postgresql,omitempty"`
}

type ValuesPrimaryServicePorts

type ValuesPrimaryServicePorts struct {
	// PostgreSQL service port
	Postgresql float64 `json:"postgresql,omitempty" yaml:"postgresql,omitempty" mapstructure:"postgresql,omitempty"`
}

type ValuesPrimaryServiceSessionAffinityConfig

type ValuesPrimaryServiceSessionAffinityConfig map[string]interface{}

Additional settings for the sessionAffinity

type ValuesPrimaryStandby

type ValuesPrimaryStandby struct {
	// Whether to enable current cluster's primary as standby server of another
	// cluster or not
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// The Host of replication primary in the other cluster
	PrimaryHost string `json:"primaryHost,omitempty" yaml:"primaryHost,omitempty" mapstructure:"primaryHost,omitempty"`

	// The Port of replication primary in the other cluster
	PrimaryPort string `json:"primaryPort,omitempty" yaml:"primaryPort,omitempty" mapstructure:"primaryPort,omitempty"`
}

type ValuesPrimaryStartupProbe

type ValuesPrimaryStartupProbe struct {
	// Enable startupProbe on PostgreSQL Primary containers
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Failure threshold for startupProbe
	FailureThreshold float64 `json:"failureThreshold,omitempty" yaml:"failureThreshold,omitempty" mapstructure:"failureThreshold,omitempty"`

	// Initial delay seconds for startupProbe
	InitialDelaySeconds float64 `json:"initialDelaySeconds,omitempty" yaml:"initialDelaySeconds,omitempty" mapstructure:"initialDelaySeconds,omitempty"`

	// Period seconds for startupProbe
	PeriodSeconds float64 `json:"periodSeconds,omitempty" yaml:"periodSeconds,omitempty" mapstructure:"periodSeconds,omitempty"`

	// Success threshold for startupProbe
	SuccessThreshold float64 `json:"successThreshold,omitempty" yaml:"successThreshold,omitempty" mapstructure:"successThreshold,omitempty"`

	// Timeout seconds for startupProbe
	TimeoutSeconds float64 `json:"timeoutSeconds,omitempty" yaml:"timeoutSeconds,omitempty" mapstructure:"timeoutSeconds,omitempty"`
}

type ValuesPrimaryUpdateStrategy

type ValuesPrimaryUpdateStrategy struct {
	// PostgreSQL Primary statefulset rolling update configuration parameters
	RollingUpdate ValuesPrimaryUpdateStrategyRollingUpdate `json:"rollingUpdate,omitempty" yaml:"rollingUpdate,omitempty" mapstructure:"rollingUpdate,omitempty"`

	// PostgreSQL Primary statefulset strategy type
	Type string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"`
}

type ValuesPrimaryUpdateStrategyRollingUpdate

type ValuesPrimaryUpdateStrategyRollingUpdate map[string]interface{}

PostgreSQL Primary statefulset rolling update configuration parameters

type ValuesPsp

type ValuesPsp struct {
	// Whether to create a PodSecurityPolicy. WARNING: PodSecurityPolicy is deprecated
	// in Kubernetes v1.21 or later, unavailable in v1.25 or later
	Create bool `json:"create,omitempty" yaml:"create,omitempty" mapstructure:"create,omitempty"`
}

type ValuesRbac

type ValuesRbac struct {
	// Create Role and RoleBinding (required for PSP to work)
	Create bool `json:"create,omitempty" yaml:"create,omitempty" mapstructure:"create,omitempty"`

	// Custom RBAC rules to set
	Rules []interface{} `json:"rules,omitempty" yaml:"rules,omitempty" mapstructure:"rules,omitempty"`
}

type ValuesReadReplicas

type ValuesReadReplicas struct {
	// Affinity for PostgreSQL read only pods assignment
	Affinity ValuesReadReplicasAffinity `json:"affinity,omitempty" yaml:"affinity,omitempty" mapstructure:"affinity,omitempty"`

	// Annotations for PostgreSQL read only pods
	Annotations ValuesReadReplicasAnnotations `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"`

	// Override default container args (useful when using custom images)
	Args []interface{} `json:"args,omitempty" yaml:"args,omitempty" mapstructure:"args,omitempty"`

	// Mount Service Account token in pod
	AutomountServiceAccountToken bool `` /* 145-byte string literal not displayed */

	// Override default container command (useful when using custom images)
	Command []interface{} `json:"command,omitempty" yaml:"command,omitempty" mapstructure:"command,omitempty"`

	// ContainerSecurityContext corresponds to the JSON schema field
	// "containerSecurityContext".
	ContainerSecurityContext *ValuesReadReplicasContainerSecurityContext `` /* 133-byte string literal not displayed */

	// Custom livenessProbe that overrides the default one
	CustomLivenessProbe ValuesReadReplicasCustomLivenessProbe `json:"customLivenessProbe,omitempty" yaml:"customLivenessProbe,omitempty" mapstructure:"customLivenessProbe,omitempty"`

	// Custom readinessProbe that overrides the default one
	CustomReadinessProbe ValuesReadReplicasCustomReadinessProbe `json:"customReadinessProbe,omitempty" yaml:"customReadinessProbe,omitempty" mapstructure:"customReadinessProbe,omitempty"`

	// Custom startupProbe that overrides the default one
	CustomStartupProbe ValuesReadReplicasCustomStartupProbe `json:"customStartupProbe,omitempty" yaml:"customStartupProbe,omitempty" mapstructure:"customStartupProbe,omitempty"`

	// Extended PostgreSQL read only replicas configuration (appended to main or
	// default configuration)
	ExtendedConfiguration string `json:"extendedConfiguration,omitempty" yaml:"extendedConfiguration,omitempty" mapstructure:"extendedConfiguration,omitempty"`

	// Array with extra environment variables to add to PostgreSQL read only nodes
	ExtraEnvVars []interface{} `json:"extraEnvVars,omitempty" yaml:"extraEnvVars,omitempty" mapstructure:"extraEnvVars,omitempty"`

	// Name of existing ConfigMap containing extra env vars for PostgreSQL read only
	// nodes
	ExtraEnvVarsCM string `json:"extraEnvVarsCM,omitempty" yaml:"extraEnvVarsCM,omitempty" mapstructure:"extraEnvVarsCM,omitempty"`

	// Name of existing Secret containing extra env vars for PostgreSQL read only
	// nodes
	ExtraEnvVarsSecret string `json:"extraEnvVarsSecret,omitempty" yaml:"extraEnvVarsSecret,omitempty" mapstructure:"extraEnvVarsSecret,omitempty"`

	// Optionally specify extra PodSpec for the PostgreSQL read only pod(s)
	ExtraPodSpec ValuesReadReplicasExtraPodSpec `json:"extraPodSpec,omitempty" yaml:"extraPodSpec,omitempty" mapstructure:"extraPodSpec,omitempty"`

	// Optionally specify extra list of additional volumeMounts for the PostgreSQL
	// read only container(s)
	ExtraVolumeMounts []interface{} `json:"extraVolumeMounts,omitempty" yaml:"extraVolumeMounts,omitempty" mapstructure:"extraVolumeMounts,omitempty"`

	// Optionally specify extra list of additional volumes for the PostgreSQL read
	// only pod(s)
	ExtraVolumes []interface{} `json:"extraVolumes,omitempty" yaml:"extraVolumes,omitempty" mapstructure:"extraVolumes,omitempty"`

	// PostgreSQL read only pods host aliases
	HostAliases []interface{} `json:"hostAliases,omitempty" yaml:"hostAliases,omitempty" mapstructure:"hostAliases,omitempty"`

	// Specify if host IPC should be enabled for PostgreSQL pod (postgresql primary)
	HostIPC bool `json:"hostIPC,omitempty" yaml:"hostIPC,omitempty" mapstructure:"hostIPC,omitempty"`

	// Specify if host network should be enabled for PostgreSQL pod (PostgreSQL read
	// only)
	HostNetwork bool `json:"hostNetwork,omitempty" yaml:"hostNetwork,omitempty" mapstructure:"hostNetwork,omitempty"`

	// Add additional init containers to the PostgreSQL read only pod(s)
	InitContainers []interface{} `json:"initContainers,omitempty" yaml:"initContainers,omitempty" mapstructure:"initContainers,omitempty"`

	// Map of labels to add to the statefulset (PostgreSQL read only)
	Labels ValuesReadReplicasLabels `json:"labels,omitempty" yaml:"labels,omitempty" mapstructure:"labels,omitempty"`

	// for the PostgreSQL read only container to automate configuration before or
	// after startup
	LifecycleHooks ValuesReadReplicasLifecycleHooks `json:"lifecycleHooks,omitempty" yaml:"lifecycleHooks,omitempty" mapstructure:"lifecycleHooks,omitempty"`

	// LivenessProbe corresponds to the JSON schema field "livenessProbe".
	LivenessProbe *ValuesReadReplicasLivenessProbe `json:"livenessProbe,omitempty" yaml:"livenessProbe,omitempty" mapstructure:"livenessProbe,omitempty"`

	// Name of the read replicas database (eg secondary, slave, ...)
	Name string `json:"name,omitempty" yaml:"name,omitempty" mapstructure:"name,omitempty"`

	// NetworkPolicy corresponds to the JSON schema field "networkPolicy".
	NetworkPolicy *ValuesReadReplicasNetworkPolicy `json:"networkPolicy,omitempty" yaml:"networkPolicy,omitempty" mapstructure:"networkPolicy,omitempty"`

	// NodeAffinityPreset corresponds to the JSON schema field "nodeAffinityPreset".
	NodeAffinityPreset *ValuesReadReplicasNodeAffinityPreset `json:"nodeAffinityPreset,omitempty" yaml:"nodeAffinityPreset,omitempty" mapstructure:"nodeAffinityPreset,omitempty"`

	// Node labels for PostgreSQL read only pods assignment
	NodeSelector ValuesReadReplicasNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"`

	// Persistence corresponds to the JSON schema field "persistence".
	Persistence *ValuesReadReplicasPersistence `json:"persistence,omitempty" yaml:"persistence,omitempty" mapstructure:"persistence,omitempty"`

	// PersistentVolumeClaimRetentionPolicy corresponds to the JSON schema field
	// "persistentVolumeClaimRetentionPolicy".
	PersistentVolumeClaimRetentionPolicy *ValuesReadReplicasPersistentVolumeClaimRetentionPolicy `` /* 169-byte string literal not displayed */

	// PostgreSQL read only pod affinity preset. Ignored if `primary.affinity` is set.
	// Allowed values: `soft` or `hard`
	PodAffinityPreset string `json:"podAffinityPreset,omitempty" yaml:"podAffinityPreset,omitempty" mapstructure:"podAffinityPreset,omitempty"`

	// Map of annotations to add to the pods (PostgreSQL read only)
	PodAnnotations ValuesReadReplicasPodAnnotations `json:"podAnnotations,omitempty" yaml:"podAnnotations,omitempty" mapstructure:"podAnnotations,omitempty"`

	// PostgreSQL read only pod anti-affinity preset. Ignored if `primary.affinity` is
	// set. Allowed values: `soft` or `hard`
	PodAntiAffinityPreset string `json:"podAntiAffinityPreset,omitempty" yaml:"podAntiAffinityPreset,omitempty" mapstructure:"podAntiAffinityPreset,omitempty"`

	// Map of labels to add to the pods (PostgreSQL read only)
	PodLabels ValuesReadReplicasPodLabels `json:"podLabels,omitempty" yaml:"podLabels,omitempty" mapstructure:"podLabels,omitempty"`

	// PodSecurityContext corresponds to the JSON schema field "podSecurityContext".
	PodSecurityContext *ValuesReadReplicasPodSecurityContext `json:"podSecurityContext,omitempty" yaml:"podSecurityContext,omitempty" mapstructure:"podSecurityContext,omitempty"`

	// Priority Class to use for each pod (PostgreSQL read only)
	PriorityClassName string `json:"priorityClassName,omitempty" yaml:"priorityClassName,omitempty" mapstructure:"priorityClassName,omitempty"`

	// ReadinessProbe corresponds to the JSON schema field "readinessProbe".
	ReadinessProbe *ValuesReadReplicasReadinessProbe `json:"readinessProbe,omitempty" yaml:"readinessProbe,omitempty" mapstructure:"readinessProbe,omitempty"`

	// Number of PostgreSQL read only replicas
	ReplicaCount float64 `json:"replicaCount,omitempty" yaml:"replicaCount,omitempty" mapstructure:"replicaCount,omitempty"`

	// Set container requests and limits for different resources like CPU or memory
	// (essential for production workloads)
	Resources ValuesReadReplicasResources `json:"resources,omitempty" yaml:"resources,omitempty" mapstructure:"resources,omitempty"`

	// Set container resources according to one common preset (allowed values: none,
	// nano, small, medium, large, xlarge, 2xlarge). This is ignored if
	// readReplicas.resources is set (readReplicas.resources is recommended for
	// production).
	ResourcesPreset string `json:"resourcesPreset,omitempty" yaml:"resourcesPreset,omitempty" mapstructure:"resourcesPreset,omitempty"`

	// Use an alternate scheduler, e.g. "stork".
	SchedulerName string `json:"schedulerName,omitempty" yaml:"schedulerName,omitempty" mapstructure:"schedulerName,omitempty"`

	// Service corresponds to the JSON schema field "service".
	Service *ValuesReadReplicasService `json:"service,omitempty" yaml:"service,omitempty" mapstructure:"service,omitempty"`

	// Add additional sidecar containers to the PostgreSQL read only pod(s)
	Sidecars []interface{} `json:"sidecars,omitempty" yaml:"sidecars,omitempty" mapstructure:"sidecars,omitempty"`

	// StartupProbe corresponds to the JSON schema field "startupProbe".
	StartupProbe *ValuesReadReplicasStartupProbe `json:"startupProbe,omitempty" yaml:"startupProbe,omitempty" mapstructure:"startupProbe,omitempty"`

	// Seconds PostgreSQL read only pod needs to terminate gracefully
	TerminationGracePeriodSeconds string `` /* 148-byte string literal not displayed */

	// Tolerations for PostgreSQL read only pods assignment
	Tolerations []interface{} `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"`

	// Topology Spread Constraints for pod assignment spread across your cluster among
	// failure-domains. Evaluated as a template
	TopologySpreadConstraints []interface{} `` /* 136-byte string literal not displayed */

	// UpdateStrategy corresponds to the JSON schema field "updateStrategy".
	UpdateStrategy *ValuesReadReplicasUpdateStrategy `json:"updateStrategy,omitempty" yaml:"updateStrategy,omitempty" mapstructure:"updateStrategy,omitempty"`
}

type ValuesReadReplicasAffinity

type ValuesReadReplicasAffinity map[string]interface{}

Affinity for PostgreSQL read only pods assignment

type ValuesReadReplicasAnnotations

type ValuesReadReplicasAnnotations map[string]interface{}

Annotations for PostgreSQL read only pods

type ValuesReadReplicasContainerSecurityContext

type ValuesReadReplicasContainerSecurityContext struct {
	// Set container's Security Context allowPrivilegeEscalation
	AllowPrivilegeEscalation bool `` /* 133-byte string literal not displayed */

	// Capabilities corresponds to the JSON schema field "capabilities".
	Capabilities *ValuesReadReplicasContainerSecurityContextCapabilities `json:"capabilities,omitempty" yaml:"capabilities,omitempty" mapstructure:"capabilities,omitempty"`

	// Enabled containers' Security Context
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Set container's Security Context privileged
	Privileged bool `json:"privileged,omitempty" yaml:"privileged,omitempty" mapstructure:"privileged,omitempty"`

	// Set container's Security Context readOnlyRootFilesystem
	ReadOnlyRootFilesystem bool `` /* 127-byte string literal not displayed */

	// Set containers' Security Context runAsGroup
	RunAsGroup float64 `json:"runAsGroup,omitempty" yaml:"runAsGroup,omitempty" mapstructure:"runAsGroup,omitempty"`

	// Set container's Security Context runAsNonRoot
	RunAsNonRoot bool `json:"runAsNonRoot,omitempty" yaml:"runAsNonRoot,omitempty" mapstructure:"runAsNonRoot,omitempty"`

	// Set containers' Security Context runAsUser
	RunAsUser float64 `json:"runAsUser,omitempty" yaml:"runAsUser,omitempty" mapstructure:"runAsUser,omitempty"`

	// SeccompProfile corresponds to the JSON schema field "seccompProfile".
	SeccompProfile *ValuesReadReplicasContainerSecurityContextSeccompProfile `json:"seccompProfile,omitempty" yaml:"seccompProfile,omitempty" mapstructure:"seccompProfile,omitempty"`
}

type ValuesReadReplicasContainerSecurityContextCapabilities

type ValuesReadReplicasContainerSecurityContextCapabilities struct {
	// List of capabilities to be dropped
	Drop []string `json:"drop,omitempty" yaml:"drop,omitempty" mapstructure:"drop,omitempty"`
}

type ValuesReadReplicasContainerSecurityContextSeccompProfile

type ValuesReadReplicasContainerSecurityContextSeccompProfile struct {
	// Set container's Security Context seccomp profile
	Type string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"`
}

type ValuesReadReplicasCustomLivenessProbe

type ValuesReadReplicasCustomLivenessProbe map[string]interface{}

Custom livenessProbe that overrides the default one

type ValuesReadReplicasCustomReadinessProbe

type ValuesReadReplicasCustomReadinessProbe map[string]interface{}

Custom readinessProbe that overrides the default one

type ValuesReadReplicasCustomStartupProbe

type ValuesReadReplicasCustomStartupProbe map[string]interface{}

Custom startupProbe that overrides the default one

type ValuesReadReplicasExtraPodSpec

type ValuesReadReplicasExtraPodSpec map[string]interface{}

Optionally specify extra PodSpec for the PostgreSQL read only pod(s)

type ValuesReadReplicasLabels

type ValuesReadReplicasLabels map[string]interface{}

Map of labels to add to the statefulset (PostgreSQL read only)

type ValuesReadReplicasLifecycleHooks

type ValuesReadReplicasLifecycleHooks map[string]interface{}

for the PostgreSQL read only container to automate configuration before or after startup

type ValuesReadReplicasLivenessProbe

type ValuesReadReplicasLivenessProbe struct {
	// Enable livenessProbe on PostgreSQL read only containers
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Failure threshold for livenessProbe
	FailureThreshold float64 `json:"failureThreshold,omitempty" yaml:"failureThreshold,omitempty" mapstructure:"failureThreshold,omitempty"`

	// Initial delay seconds for livenessProbe
	InitialDelaySeconds float64 `json:"initialDelaySeconds,omitempty" yaml:"initialDelaySeconds,omitempty" mapstructure:"initialDelaySeconds,omitempty"`

	// Period seconds for livenessProbe
	PeriodSeconds float64 `json:"periodSeconds,omitempty" yaml:"periodSeconds,omitempty" mapstructure:"periodSeconds,omitempty"`

	// Success threshold for livenessProbe
	SuccessThreshold float64 `json:"successThreshold,omitempty" yaml:"successThreshold,omitempty" mapstructure:"successThreshold,omitempty"`

	// Timeout seconds for livenessProbe
	TimeoutSeconds float64 `json:"timeoutSeconds,omitempty" yaml:"timeoutSeconds,omitempty" mapstructure:"timeoutSeconds,omitempty"`
}

type ValuesReadReplicasNetworkPolicy

type ValuesReadReplicasNetworkPolicy struct {
	// Don't require server label for connections
	AllowExternal bool `json:"allowExternal,omitempty" yaml:"allowExternal,omitempty" mapstructure:"allowExternal,omitempty"`

	// Allow the pod to access any range of port and all destinations.
	AllowExternalEgress bool `json:"allowExternalEgress,omitempty" yaml:"allowExternalEgress,omitempty" mapstructure:"allowExternalEgress,omitempty"`

	// Specifies whether a NetworkPolicy should be created
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Add extra ingress rules to the NetworkPolicy
	ExtraEgress []string `json:"extraEgress,omitempty" yaml:"extraEgress,omitempty" mapstructure:"extraEgress,omitempty"`

	// Add extra ingress rules to the NetworkPolice
	ExtraIngress []string `json:"extraIngress,omitempty" yaml:"extraIngress,omitempty" mapstructure:"extraIngress,omitempty"`
}

type ValuesReadReplicasNodeAffinityPreset

type ValuesReadReplicasNodeAffinityPreset struct {
	// PostgreSQL read only node label key to match Ignored if `primary.affinity` is
	// set.
	Key string `json:"key,omitempty" yaml:"key,omitempty" mapstructure:"key,omitempty"`

	// PostgreSQL read only node affinity preset type. Ignored if `primary.affinity`
	// is set. Allowed values: `soft` or `hard`
	Type string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"`

	// PostgreSQL read only node label values to match. Ignored if `primary.affinity`
	// is set.
	Values []interface{} `json:"values,omitempty" yaml:"values,omitempty" mapstructure:"values,omitempty"`
}

type ValuesReadReplicasNodeSelector

type ValuesReadReplicasNodeSelector map[string]interface{}

Node labels for PostgreSQL read only pods assignment

type ValuesReadReplicasPersistence

type ValuesReadReplicasPersistence struct {
	// PVC Access Mode for PostgreSQL volume
	AccessModes []string `json:"accessModes,omitempty" yaml:"accessModes,omitempty" mapstructure:"accessModes,omitempty"`

	// Annotations for the PVC
	Annotations ValuesReadReplicasPersistenceAnnotations `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"`

	// Custom PVC data source
	DataSource ValuesReadReplicasPersistenceDataSource `json:"dataSource,omitempty" yaml:"dataSource,omitempty" mapstructure:"dataSource,omitempty"`

	// Enable PostgreSQL read only data persistence using PVC
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Name of an existing PVC to use
	ExistingClaim string `json:"existingClaim,omitempty" yaml:"existingClaim,omitempty" mapstructure:"existingClaim,omitempty"`

	// Labels for the PVC
	Labels ValuesReadReplicasPersistenceLabels `json:"labels,omitempty" yaml:"labels,omitempty" mapstructure:"labels,omitempty"`

	// The path the volume will be mounted at
	MountPath string `json:"mountPath,omitempty" yaml:"mountPath,omitempty" mapstructure:"mountPath,omitempty"`

	// Selector to match an existing Persistent Volume (this value is evaluated as a
	// template)
	Selector ValuesReadReplicasPersistenceSelector `json:"selector,omitempty" yaml:"selector,omitempty" mapstructure:"selector,omitempty"`

	// PVC Storage Request for PostgreSQL volume
	Size string `json:"size,omitempty" yaml:"size,omitempty" mapstructure:"size,omitempty"`

	// PVC Storage Class for PostgreSQL read only data volume
	StorageClass string `json:"storageClass,omitempty" yaml:"storageClass,omitempty" mapstructure:"storageClass,omitempty"`

	// The subdirectory of the volume to mount to
	SubPath string `json:"subPath,omitempty" yaml:"subPath,omitempty" mapstructure:"subPath,omitempty"`
}

type ValuesReadReplicasPersistenceAnnotations

type ValuesReadReplicasPersistenceAnnotations map[string]interface{}

Annotations for the PVC

type ValuesReadReplicasPersistenceDataSource

type ValuesReadReplicasPersistenceDataSource map[string]interface{}

Custom PVC data source

type ValuesReadReplicasPersistenceLabels

type ValuesReadReplicasPersistenceLabels map[string]interface{}

Labels for the PVC

type ValuesReadReplicasPersistenceSelector

type ValuesReadReplicasPersistenceSelector map[string]interface{}

Selector to match an existing Persistent Volume (this value is evaluated as a template)

type ValuesReadReplicasPersistentVolumeClaimRetentionPolicy

type ValuesReadReplicasPersistentVolumeClaimRetentionPolicy struct {
	// Enable Persistent volume retention policy for read only Statefulset
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Volume retention behavior that applies when the StatefulSet is deleted
	WhenDeleted string `json:"whenDeleted,omitempty" yaml:"whenDeleted,omitempty" mapstructure:"whenDeleted,omitempty"`

	// Volume retention behavior when the replica count of the StatefulSet is reduced
	WhenScaled string `json:"whenScaled,omitempty" yaml:"whenScaled,omitempty" mapstructure:"whenScaled,omitempty"`
}

type ValuesReadReplicasPodAnnotations

type ValuesReadReplicasPodAnnotations map[string]interface{}

Map of annotations to add to the pods (PostgreSQL read only)

type ValuesReadReplicasPodLabels

type ValuesReadReplicasPodLabels map[string]interface{}

Map of labels to add to the pods (PostgreSQL read only)

type ValuesReadReplicasPodSecurityContext

type ValuesReadReplicasPodSecurityContext struct {
	// Enable security context
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Group ID for the pod
	FsGroup float64 `json:"fsGroup,omitempty" yaml:"fsGroup,omitempty" mapstructure:"fsGroup,omitempty"`

	// Set filesystem group change policy
	FsGroupChangePolicy string `json:"fsGroupChangePolicy,omitempty" yaml:"fsGroupChangePolicy,omitempty" mapstructure:"fsGroupChangePolicy,omitempty"`

	// Set filesystem extra groups
	SupplementalGroups []interface{} `json:"supplementalGroups,omitempty" yaml:"supplementalGroups,omitempty" mapstructure:"supplementalGroups,omitempty"`

	// Set kernel settings using the sysctl interface
	Sysctls []interface{} `json:"sysctls,omitempty" yaml:"sysctls,omitempty" mapstructure:"sysctls,omitempty"`
}

type ValuesReadReplicasReadinessProbe

type ValuesReadReplicasReadinessProbe struct {
	// Enable readinessProbe on PostgreSQL read only containers
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Failure threshold for readinessProbe
	FailureThreshold float64 `json:"failureThreshold,omitempty" yaml:"failureThreshold,omitempty" mapstructure:"failureThreshold,omitempty"`

	// Initial delay seconds for readinessProbe
	InitialDelaySeconds float64 `json:"initialDelaySeconds,omitempty" yaml:"initialDelaySeconds,omitempty" mapstructure:"initialDelaySeconds,omitempty"`

	// Period seconds for readinessProbe
	PeriodSeconds float64 `json:"periodSeconds,omitempty" yaml:"periodSeconds,omitempty" mapstructure:"periodSeconds,omitempty"`

	// Success threshold for readinessProbe
	SuccessThreshold float64 `json:"successThreshold,omitempty" yaml:"successThreshold,omitempty" mapstructure:"successThreshold,omitempty"`

	// Timeout seconds for readinessProbe
	TimeoutSeconds float64 `json:"timeoutSeconds,omitempty" yaml:"timeoutSeconds,omitempty" mapstructure:"timeoutSeconds,omitempty"`
}

type ValuesReadReplicasResources

type ValuesReadReplicasResources map[string]interface{}

Set container requests and limits for different resources like CPU or memory (essential for production workloads)

type ValuesReadReplicasService

type ValuesReadReplicasService struct {
	// Annotations for PostgreSQL read only service
	Annotations ValuesReadReplicasServiceAnnotations `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"`

	// Static clusterIP or None for headless services
	ClusterIP string `json:"clusterIP,omitempty" yaml:"clusterIP,omitempty" mapstructure:"clusterIP,omitempty"`

	// Enable client source IP preservation
	ExternalTrafficPolicy string `json:"externalTrafficPolicy,omitempty" yaml:"externalTrafficPolicy,omitempty" mapstructure:"externalTrafficPolicy,omitempty"`

	// Extra ports to expose in the PostgreSQL read only service
	ExtraPorts []interface{} `json:"extraPorts,omitempty" yaml:"extraPorts,omitempty" mapstructure:"extraPorts,omitempty"`

	// Headless corresponds to the JSON schema field "headless".
	Headless *ValuesReadReplicasServiceHeadless `json:"headless,omitempty" yaml:"headless,omitempty" mapstructure:"headless,omitempty"`

	// Load balancer IP if service type is `LoadBalancer`
	LoadBalancerIP string `json:"loadBalancerIP,omitempty" yaml:"loadBalancerIP,omitempty" mapstructure:"loadBalancerIP,omitempty"`

	// Addresses that are allowed when service is LoadBalancer
	LoadBalancerSourceRanges []interface{} `` /* 133-byte string literal not displayed */

	// NodePorts corresponds to the JSON schema field "nodePorts".
	NodePorts *ValuesReadReplicasServiceNodePorts `json:"nodePorts,omitempty" yaml:"nodePorts,omitempty" mapstructure:"nodePorts,omitempty"`

	// Ports corresponds to the JSON schema field "ports".
	Ports *ValuesReadReplicasServicePorts `json:"ports,omitempty" yaml:"ports,omitempty" mapstructure:"ports,omitempty"`

	// Session Affinity for Kubernetes service, can be "None" or "ClientIP"
	SessionAffinity string `json:"sessionAffinity,omitempty" yaml:"sessionAffinity,omitempty" mapstructure:"sessionAffinity,omitempty"`

	// Additional settings for the sessionAffinity
	SessionAffinityConfig ValuesReadReplicasServiceSessionAffinityConfig `json:"sessionAffinityConfig,omitempty" yaml:"sessionAffinityConfig,omitempty" mapstructure:"sessionAffinityConfig,omitempty"`

	// Kubernetes Service type
	Type string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"`
}

type ValuesReadReplicasServiceAnnotations

type ValuesReadReplicasServiceAnnotations map[string]interface{}

Annotations for PostgreSQL read only service

type ValuesReadReplicasServiceHeadless

type ValuesReadReplicasServiceHeadless struct {
	// Additional custom annotations for headless PostgreSQL read only service
	Annotations ValuesReadReplicasServiceHeadlessAnnotations `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"`
}

type ValuesReadReplicasServiceHeadlessAnnotations

type ValuesReadReplicasServiceHeadlessAnnotations map[string]interface{}

Additional custom annotations for headless PostgreSQL read only service

type ValuesReadReplicasServiceNodePorts

type ValuesReadReplicasServiceNodePorts struct {
	// Node port for PostgreSQL
	Postgresql string `json:"postgresql,omitempty" yaml:"postgresql,omitempty" mapstructure:"postgresql,omitempty"`
}

type ValuesReadReplicasServicePorts

type ValuesReadReplicasServicePorts struct {
	// PostgreSQL service port
	Postgresql float64 `json:"postgresql,omitempty" yaml:"postgresql,omitempty" mapstructure:"postgresql,omitempty"`
}

type ValuesReadReplicasServiceSessionAffinityConfig

type ValuesReadReplicasServiceSessionAffinityConfig map[string]interface{}

Additional settings for the sessionAffinity

type ValuesReadReplicasStartupProbe

type ValuesReadReplicasStartupProbe struct {
	// Enable startupProbe on PostgreSQL read only containers
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Failure threshold for startupProbe
	FailureThreshold float64 `json:"failureThreshold,omitempty" yaml:"failureThreshold,omitempty" mapstructure:"failureThreshold,omitempty"`

	// Initial delay seconds for startupProbe
	InitialDelaySeconds float64 `json:"initialDelaySeconds,omitempty" yaml:"initialDelaySeconds,omitempty" mapstructure:"initialDelaySeconds,omitempty"`

	// Period seconds for startupProbe
	PeriodSeconds float64 `json:"periodSeconds,omitempty" yaml:"periodSeconds,omitempty" mapstructure:"periodSeconds,omitempty"`

	// Success threshold for startupProbe
	SuccessThreshold float64 `json:"successThreshold,omitempty" yaml:"successThreshold,omitempty" mapstructure:"successThreshold,omitempty"`

	// Timeout seconds for startupProbe
	TimeoutSeconds float64 `json:"timeoutSeconds,omitempty" yaml:"timeoutSeconds,omitempty" mapstructure:"timeoutSeconds,omitempty"`
}

type ValuesReadReplicasUpdateStrategy

type ValuesReadReplicasUpdateStrategy struct {
	// PostgreSQL read only statefulset rolling update configuration parameters
	RollingUpdate ValuesReadReplicasUpdateStrategyRollingUpdate `json:"rollingUpdate,omitempty" yaml:"rollingUpdate,omitempty" mapstructure:"rollingUpdate,omitempty"`

	// PostgreSQL read only statefulset strategy type
	Type string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"`
}

type ValuesReadReplicasUpdateStrategyRollingUpdate

type ValuesReadReplicasUpdateStrategyRollingUpdate map[string]interface{}

PostgreSQL read only statefulset rolling update configuration parameters

type ValuesReplication

type ValuesReplication struct {
	// Cluster application name. Useful for advanced replication settings
	ApplicationName string `json:"applicationName,omitempty" yaml:"applicationName,omitempty" mapstructure:"applicationName,omitempty"`

	// Number of replicas that will have synchronous replication. Note: Cannot be
	// greater than `readReplicas.replicaCount`.
	NumSynchronousReplicas float64 `` /* 127-byte string literal not displayed */

	// Set synchronous commit mode. Allowed values: `on`, `remote_apply`,
	// `remote_write`, `local` and `off`
	SynchronousCommit string `json:"synchronousCommit,omitempty" yaml:"synchronousCommit,omitempty" mapstructure:"synchronousCommit,omitempty"`
}

type ValuesServiceAccount

type ValuesServiceAccount struct {
	// Additional custom annotations for the ServiceAccount
	Annotations ValuesServiceAccountAnnotations `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"`

	// Allows auto mount of ServiceAccountToken on the serviceAccount created
	AutomountServiceAccountToken bool `` /* 145-byte string literal not displayed */

	// Enable creation of ServiceAccount for PostgreSQL pod
	Create bool `json:"create,omitempty" yaml:"create,omitempty" mapstructure:"create,omitempty"`

	// The name of the ServiceAccount to use.
	Name string `json:"name,omitempty" yaml:"name,omitempty" mapstructure:"name,omitempty"`
}

type ValuesServiceAccountAnnotations

type ValuesServiceAccountAnnotations map[string]interface{}

Additional custom annotations for the ServiceAccount

type ValuesServiceBindings

type ValuesServiceBindings struct {
	// Create secret for service binding (Experimental)
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
}

type ValuesShmVolume

type ValuesShmVolume struct {
	// Enable emptyDir volume for /dev/shm for PostgreSQL pod(s)
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Set this to enable a size limit on the shm tmpfs
	SizeLimit string `json:"sizeLimit,omitempty" yaml:"sizeLimit,omitempty" mapstructure:"sizeLimit,omitempty"`
}

type ValuesTls

type ValuesTls struct {
	// Generate automatically self-signed TLS certificates
	AutoGenerated bool `json:"autoGenerated,omitempty" yaml:"autoGenerated,omitempty" mapstructure:"autoGenerated,omitempty"`

	// CA Certificate filename
	CertCAFilename string `json:"certCAFilename,omitempty" yaml:"certCAFilename,omitempty" mapstructure:"certCAFilename,omitempty"`

	// Certificate filename
	CertFilename string `json:"certFilename,omitempty" yaml:"certFilename,omitempty" mapstructure:"certFilename,omitempty"`

	// Certificate key filename
	CertKeyFilename string `json:"certKeyFilename,omitempty" yaml:"certKeyFilename,omitempty" mapstructure:"certKeyFilename,omitempty"`

	// Name of an existing secret that contains the certificates
	CertificatesSecret string `json:"certificatesSecret,omitempty" yaml:"certificatesSecret,omitempty" mapstructure:"certificatesSecret,omitempty"`

	// File containing a Certificate Revocation List
	CrlFilename string `json:"crlFilename,omitempty" yaml:"crlFilename,omitempty" mapstructure:"crlFilename,omitempty"`

	// Enable TLS traffic support
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Whether to use the server's TLS cipher preferences rather than the client's
	PreferServerCiphers bool `json:"preferServerCiphers,omitempty" yaml:"preferServerCiphers,omitempty" mapstructure:"preferServerCiphers,omitempty"`
}

type ValuesVolumePermissions

type ValuesVolumePermissions struct {
	// ContainerSecurityContext corresponds to the JSON schema field
	// "containerSecurityContext".
	ContainerSecurityContext *ValuesVolumePermissionsContainerSecurityContext `` /* 133-byte string literal not displayed */

	// Enable init container that changes the owner and group of the persistent volume
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Image corresponds to the JSON schema field "image".
	Image *ValuesVolumePermissionsImage `json:"image,omitempty" yaml:"image,omitempty" mapstructure:"image,omitempty"`

	// Set container requests and limits for different resources like CPU or memory
	// (essential for production workloads)
	Resources ValuesVolumePermissionsResources `json:"resources,omitempty" yaml:"resources,omitempty" mapstructure:"resources,omitempty"`

	// Set container resources according to one common preset (allowed values: none,
	// nano, small, medium, large, xlarge, 2xlarge). This is ignored if
	// volumePermissions.resources is set (volumePermissions.resources is recommended
	// for production).
	ResourcesPreset string `json:"resourcesPreset,omitempty" yaml:"resourcesPreset,omitempty" mapstructure:"resourcesPreset,omitempty"`
}

type ValuesVolumePermissionsContainerSecurityContext

type ValuesVolumePermissionsContainerSecurityContext struct {
	// Group ID for the init container
	RunAsGroup float64 `json:"runAsGroup,omitempty" yaml:"runAsGroup,omitempty" mapstructure:"runAsGroup,omitempty"`

	// runAsNonRoot for the init container
	RunAsNonRoot bool `json:"runAsNonRoot,omitempty" yaml:"runAsNonRoot,omitempty" mapstructure:"runAsNonRoot,omitempty"`

	// User ID for the init container
	RunAsUser float64 `json:"runAsUser,omitempty" yaml:"runAsUser,omitempty" mapstructure:"runAsUser,omitempty"`

	// SeccompProfile corresponds to the JSON schema field "seccompProfile".
	SeccompProfile *ValuesVolumePermissionsContainerSecurityContextSeccompProfile `json:"seccompProfile,omitempty" yaml:"seccompProfile,omitempty" mapstructure:"seccompProfile,omitempty"`
}

type ValuesVolumePermissionsContainerSecurityContextSeccompProfile

type ValuesVolumePermissionsContainerSecurityContextSeccompProfile struct {
	// seccompProfile.type for the init container
	Type string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"`
}

type ValuesVolumePermissionsImage

type ValuesVolumePermissionsImage struct {
	// Init container volume-permissions image digest in the way sha256:aa.... Please
	// note this parameter, if set, will override the tag
	Digest string `json:"digest,omitempty" yaml:"digest,omitempty" mapstructure:"digest,omitempty"`

	// Init container volume-permissions image pull policy
	PullPolicy string `json:"pullPolicy,omitempty" yaml:"pullPolicy,omitempty" mapstructure:"pullPolicy,omitempty"`

	// Init container volume-permissions image pull secrets
	PullSecrets []interface{} `json:"pullSecrets,omitempty" yaml:"pullSecrets,omitempty" mapstructure:"pullSecrets,omitempty"`

	// Init container volume-permissions image registry
	Registry string `json:"registry,omitempty" yaml:"registry,omitempty" mapstructure:"registry,omitempty"`

	// Init container volume-permissions image repository
	Repository string `json:"repository,omitempty" yaml:"repository,omitempty" mapstructure:"repository,omitempty"`
}

type ValuesVolumePermissionsResources

type ValuesVolumePermissionsResources map[string]interface{}

Set container requests and limits for different resources like CPU or memory (essential for production workloads)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL