Documentation
¶
Index ¶
- Constants
- type AWSGCPConfiguration
- type CloneConfig
- type CloneDescription
- type ClusterConfig
- type KubernetesMetaConfiguration
- type LoadBalancerConfiguration
- type LoggingRESTAPIConfiguration
- type MaintenanceWindow
- type OperatorConfiguration
- type OperatorConfigurationData
- type OperatorConfigurationList
- type OperatorDebugConfiguration
- type OperatorLogicalBackupConfiguration
- type OperatorTimeouts
- type Patroni
- type PostgresPodResourcesDefaults
- type PostgresSpec
- type PostgresStatus
- type PostgresUsersConfiguration
- type Postgresql
- type PostgresqlList
- type PostgresqlParam
- type ResourceDescription
- type Resources
- type ScalyrConfiguration
- type Sidecar
- type StandbyDescription
- type TeamsAPIConfiguration
- type UserFlags
- type Volume
Constants ¶
const ( ClusterStatusUnknown = "" ClusterStatusCreating = "Creating" ClusterStatusUpdating = "Updating" ClusterStatusUpdateFailed = "UpdateFailed" ClusterStatusSyncFailed = "SyncFailed" ClusterStatusAddFailed = "CreateFailed" ClusterStatusRunning = "Running" ClusterStatusInvalid = "Invalid" )
ClusterStatusUnknown etc : status of a Postgres cluster known to the operator
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AWSGCPConfiguration ¶
type AWSGCPConfiguration struct {
WALES3Bucket string `json:"wal_s3_bucket,omitempty"`
AWSRegion string `json:"aws_region,omitempty"`
LogS3Bucket string `json:"log_s3_bucket,omitempty"`
KubeIAMRole string `json:"kube_iam_role,omitempty"`
AdditionalSecretMount string `json:"additional_secret_mount,omitempty"`
AdditionalSecretMountPath string `json:"additional_secret_mount_path" default:"/meta/credentials"`
}
AWSGCPConfiguration defines the configuration for AWS TODO complete Google Cloud Platform (GCP) configuration
func (*AWSGCPConfiguration) DeepCopy ¶
func (in *AWSGCPConfiguration) DeepCopy() *AWSGCPConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSGCPConfiguration.
func (*AWSGCPConfiguration) DeepCopyInto ¶
func (in *AWSGCPConfiguration) DeepCopyInto(out *AWSGCPConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CloneConfig ¶
type CloneDescription ¶
type CloneDescription struct {
ClusterName string `json:"cluster,omitempty"`
UID string `json:"uid,omitempty"`
EndTimestamp string `json:"timestamp,omitempty"`
S3WalPath string `json:"s3_wal_path,omitempty"`
S3Endpoint string `json:"s3_endpoint,omitempty"`
S3AccessKeyID string `json:"s3_access_key_id,omitempty"`
S3SecretAccessKey string `json:"s3_secret_access_key,omitempty"`
S3ForcePathStyle *bool `json:"s3_force_path_style,omitempty" defaults:"false"`
}
CloneDescription describes which cluster the new should clone and up to which point in time
func (*CloneDescription) DeepCopy ¶
func (in *CloneDescription) DeepCopy() *CloneDescription
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloneDescription.
func (*CloneDescription) DeepCopyInto ¶
func (in *CloneDescription) DeepCopyInto(out *CloneDescription)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterConfig ¶
type ClusterConfig struct {
Name string
Databases []string
Namespace string
EnableWalArchiving bool
EnableWalClusterID bool
UseWalgRestore bool
BackupSchedule string
AwsCredentialsSecret string
Clone *CloneConfig
}
func NewClusterConfig ¶
func NewClusterConfig(clusterName string, dbNames ...string) ClusterConfig
type KubernetesMetaConfiguration ¶
type KubernetesMetaConfiguration struct {
PodServiceAccountName string `json:"pod_service_account_name,omitempty"`
// TODO: change it to the proper json
PodServiceAccountDefinition string `json:"pod_service_account_definition,omitempty"`
PodServiceAccountRoleBindingDefinition string `json:"pod_service_account_role_binding_definition,omitempty"`
PodTerminateGracePeriod time.Duration `json:"pod_terminate_grace_period,omitempty"`
SpiloPrivileged bool `json:"spilo_privileged,omitempty"`
// SpiloFSGroup *uint32 `json:"spilo_fsgroup,omitempty"`
WatchedNamespace string `json:"watched_namespace,omitempty"`
PDBNameFormat string `json:"pdb_name_format,omitempty"`
EnablePodDisruptionBudget *bool `json:"enable_pod_disruption_budget,omitempty"`
EnableInitContainers *bool `json:"enable_init_containers,omitempty"`
EnableSidecars *bool `json:"enable_sidecars,omitempty"`
SecretNameTemplate string `json:"secret_name_template,omitempty"`
ClusterDomain string `json:"cluster_domain"`
OAuthTokenSecretName string `json:"oauth_token_secret_name,omitempty"`
InfrastructureRolesSecretName string `json:"infrastructure_roles_secret_name,omitempty"`
PodRoleLabel string `json:"pod_role_label,omitempty"`
ClusterLabels map[string]string `json:"cluster_labels,omitempty"`
InheritedLabels []string `json:"inherited_labels,omitempty"`
ClusterNameLabel string `json:"cluster_name_label,omitempty"`
NodeReadinessLabel map[string]string `json:"node_readiness_label,omitempty"`
CustomPodAnnotations map[string]string `json:"custom_pod_annotations,omitempty"`
// TODO: use a proper toleration structure?
PodToleration map[string]string `json:"toleration,omitempty"`
// TODO: use namespacedname
PodEnvironmentConfigMap string `json:"pod_environment_configmap,omitempty"`
PodPriorityClassName string `json:"pod_priority_class_name,omitempty"`
MasterPodMoveTimeout time.Duration `json:"master_pod_move_timeout,omitempty"`
EnablePodAntiAffinity bool `json:"enable_pod_antiaffinity,omitempty"`
PodAntiAffinityTopologyKey string `json:"pod_antiaffinity_topology_key,omitempty"`
PodManagementPolicy string `json:"pod_management_policy,omitempty"`
}
KubernetesMetaConfiguration defines k8s conf required for all Postgres clusters and the operator itself
func (*KubernetesMetaConfiguration) DeepCopy ¶
func (in *KubernetesMetaConfiguration) DeepCopy() *KubernetesMetaConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesMetaConfiguration.
func (*KubernetesMetaConfiguration) DeepCopyInto ¶
func (in *KubernetesMetaConfiguration) DeepCopyInto(out *KubernetesMetaConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerConfiguration ¶
type LoadBalancerConfiguration struct {
DBHostedZone string `json:"db_hosted_zone,omitempty"`
EnableMasterLoadBalancer bool `json:"enable_master_load_balancer,omitempty"`
EnableReplicaLoadBalancer bool `json:"enable_replica_load_balancer,omitempty"`
CustomServiceAnnotations map[string]string `json:"custom_service_annotations,omitempty"`
MasterDNSNameFormat string `json:"master_dns_name_format,omitempty"`
ReplicaDNSNameFormat string `json:"replica_dns_name_format,omitempty"`
}
LoadBalancerConfiguration defines the LB configuration
func (*LoadBalancerConfiguration) DeepCopy ¶
func (in *LoadBalancerConfiguration) DeepCopy() *LoadBalancerConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerConfiguration.
func (*LoadBalancerConfiguration) DeepCopyInto ¶
func (in *LoadBalancerConfiguration) DeepCopyInto(out *LoadBalancerConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoggingRESTAPIConfiguration ¶
type LoggingRESTAPIConfiguration struct {
APIPort int32 `json:"api_port,omitempty"`
RingLogLines int32 `json:"ring_log_lines,omitempty"`
ClusterHistoryEntries int32 `json:"cluster_history_entries,omitempty"`
}
LoggingRESTAPIConfiguration defines Logging API conf
func (*LoggingRESTAPIConfiguration) DeepCopy ¶
func (in *LoggingRESTAPIConfiguration) DeepCopy() *LoggingRESTAPIConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoggingRESTAPIConfiguration.
func (*LoggingRESTAPIConfiguration) DeepCopyInto ¶
func (in *LoggingRESTAPIConfiguration) DeepCopyInto(out *LoggingRESTAPIConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MaintenanceWindow ¶
type MaintenanceWindow struct {
Everyday bool
Weekday time.Weekday
StartTime metav1.Time // Start time
EndTime metav1.Time // End time
}
MaintenanceWindow describes the time window when the operator is allowed to do maintenance on a cluster.
func (*MaintenanceWindow) DeepCopy ¶
func (in *MaintenanceWindow) DeepCopy() *MaintenanceWindow
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceWindow.
func (*MaintenanceWindow) DeepCopyInto ¶
func (in *MaintenanceWindow) DeepCopyInto(out *MaintenanceWindow)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OperatorConfiguration ¶
type OperatorConfiguration struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata"`
Configuration OperatorConfigurationData `json:"configuration"`
}
OperatorConfiguration defines the specification for the OperatorConfiguration.
func (*OperatorConfiguration) DeepCopy ¶
func (in *OperatorConfiguration) DeepCopy() *OperatorConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorConfiguration.
func (*OperatorConfiguration) DeepCopyInto ¶
func (in *OperatorConfiguration) DeepCopyInto(out *OperatorConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OperatorConfiguration) DeepCopyObject ¶
func (in *OperatorConfiguration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type OperatorConfigurationData ¶
type OperatorConfigurationData struct {
EnableCRDValidation *bool `json:"enable_crd_validation,omitempty"`
EtcdHost string `json:"etcd_host,omitempty"`
DockerImage string `json:"docker_image,omitempty"`
Workers uint32 `json:"workers,omitempty"`
MinInstances int32 `json:"min_instances,omitempty"`
MaxInstances int32 `json:"max_instances,omitempty"`
ResyncPeriod time.Duration `json:"resync_period,omitempty"`
RepairPeriod time.Duration `json:"repair_period,omitempty"`
SetMemoryRequestToLimit bool `json:"set_memory_request_to_limit,omitempty"`
ShmVolume *bool `json:"enable_shm_volume,omitempty"`
Sidecars map[string]string `json:"sidecar_docker_images,omitempty"`
PostgresUsersConfiguration PostgresUsersConfiguration `json:"users"`
Kubernetes KubernetesMetaConfiguration `json:"kubernetes"`
PostgresPodResources PostgresPodResourcesDefaults `json:"postgres_pod_resources"`
Timeouts OperatorTimeouts `json:"timeouts"`
LoadBalancer LoadBalancerConfiguration `json:"load_balancer"`
AWSGCP AWSGCPConfiguration `json:"aws_or_gcp"`
OperatorDebug OperatorDebugConfiguration `json:"debug"`
TeamsAPI TeamsAPIConfiguration `json:"teams_api"`
LoggingRESTAPI LoggingRESTAPIConfiguration `json:"logging_rest_api"`
Scalyr ScalyrConfiguration `json:"scalyr"`
LogicalBackup OperatorLogicalBackupConfiguration `json:"logical_backup"`
}
OperatorConfigurationData defines the operation config
func (*OperatorConfigurationData) DeepCopy ¶
func (in *OperatorConfigurationData) DeepCopy() *OperatorConfigurationData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorConfigurationData.
func (*OperatorConfigurationData) DeepCopyInto ¶
func (in *OperatorConfigurationData) DeepCopyInto(out *OperatorConfigurationData)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OperatorConfigurationList ¶
type OperatorConfigurationList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata"`
Items []OperatorConfiguration `json:"items"`
}
OperatorConfigurationList is used in the k8s API calls
func (*OperatorConfigurationList) DeepCopy ¶
func (in *OperatorConfigurationList) DeepCopy() *OperatorConfigurationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorConfigurationList.
func (*OperatorConfigurationList) DeepCopyInto ¶
func (in *OperatorConfigurationList) DeepCopyInto(out *OperatorConfigurationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OperatorConfigurationList) DeepCopyObject ¶
func (in *OperatorConfigurationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type OperatorDebugConfiguration ¶
type OperatorDebugConfiguration struct {
DebugLogging bool `json:"debug_logging,omitempty"`
EnableDBAccess bool `json:"enable_database_access,omitempty"`
}
OperatorDebugConfiguration defines options for the debug mode
func (*OperatorDebugConfiguration) DeepCopy ¶
func (in *OperatorDebugConfiguration) DeepCopy() *OperatorDebugConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorDebugConfiguration.
func (*OperatorDebugConfiguration) DeepCopyInto ¶
func (in *OperatorDebugConfiguration) DeepCopyInto(out *OperatorDebugConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OperatorLogicalBackupConfiguration ¶
type OperatorLogicalBackupConfiguration struct {
Schedule string `json:"logical_backup_schedule,omitempty"`
DockerImage string `json:"logical_backup_docker_image,omitempty"`
S3Bucket string `json:"logical_backup_s3_bucket,omitempty"`
S3Region string `json:"logical_backup_s3_region,omitempty"`
S3Endpoint string `json:"logical_backup_s3_endpoint,omitempty"`
S3AccessKeyID string `json:"logical_backup_s3_access_key_id,omitempty"`
S3SecretAccessKey string `json:"logical_backup_s3_secret_access_key,omitempty"`
S3SSE string `json:"logical_backup_s3_sse,omitempty"`
}
OperatorLogicalBackupConfiguration defines configuration for logical backup
func (*OperatorLogicalBackupConfiguration) DeepCopy ¶
func (in *OperatorLogicalBackupConfiguration) DeepCopy() *OperatorLogicalBackupConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorLogicalBackupConfiguration.
func (*OperatorLogicalBackupConfiguration) DeepCopyInto ¶
func (in *OperatorLogicalBackupConfiguration) DeepCopyInto(out *OperatorLogicalBackupConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OperatorTimeouts ¶
type OperatorTimeouts struct {
ResourceCheckInterval time.Duration `json:"resource_check_interval,omitempty"`
ResourceCheckTimeout time.Duration `json:"resource_check_timeout,omitempty"`
PodLabelWaitTimeout time.Duration `json:"pod_label_wait_timeout,omitempty"`
PodDeletionWaitTimeout time.Duration `json:"pod_deletion_wait_timeout,omitempty"`
ReadyWaitInterval time.Duration `json:"ready_wait_interval,omitempty"`
ReadyWaitTimeout time.Duration `json:"ready_wait_timeout,omitempty"`
}
OperatorTimeouts defines the timeout of ResourceCheck, PodWait, ReadyWait
func (*OperatorTimeouts) DeepCopy ¶
func (in *OperatorTimeouts) DeepCopy() *OperatorTimeouts
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorTimeouts.
func (*OperatorTimeouts) DeepCopyInto ¶
func (in *OperatorTimeouts) DeepCopyInto(out *OperatorTimeouts)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Patroni ¶
type Patroni struct {
InitDB map[string]string `json:"initdb"`
PgHba []string `json:"pg_hba"`
TTL uint32 `json:"ttl"`
LoopWait uint32 `json:"loop_wait"`
RetryTimeout uint32 `json:"retry_timeout"`
MaximumLagOnFailover uint32 `json:"maximum_lag_on_failover"` // float32 because https://github.com/kubernetes/kubernetes/issues/30213
Slots map[string]map[string]string `json:"slots"`
}
Patroni contains Patroni-specific configuration
func (*Patroni) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Patroni.
func (*Patroni) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresPodResourcesDefaults ¶
type PostgresPodResourcesDefaults struct {
DefaultCPURequest string `json:"default_cpu_request,omitempty"`
DefaultMemoryRequest string `json:"default_memory_request,omitempty"`
DefaultCPULimit string `json:"default_cpu_limit,omitempty"`
DefaultMemoryLimit string `json:"default_memory_limit,omitempty"`
MinCPULimit string `json:"min_cpu_limit,omitempty"`
MinMemoryLimit string `json:"min_memory_limit,omitempty"`
}
PostgresPodResourcesDefaults defines the spec of default resources nolint: golint
func (*PostgresPodResourcesDefaults) DeepCopy ¶
func (in *PostgresPodResourcesDefaults) DeepCopy() *PostgresPodResourcesDefaults
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresPodResourcesDefaults.
func (*PostgresPodResourcesDefaults) DeepCopyInto ¶
func (in *PostgresPodResourcesDefaults) DeepCopyInto(out *PostgresPodResourcesDefaults)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresSpec ¶
type PostgresSpec struct {
PostgresqlParam `json:"postgresql"`
Volume `json:"volume,omitempty"`
Patroni `json:"patroni,omitempty"`
Resources `json:"resources,omitempty"`
TeamID string `json:"teamId"`
DockerImage string `json:"dockerImage,omitempty"`
SpiloFSGroup *uint32 `json:"spiloFSGroup,omitempty"`
// vars that enable load balancers are pointers because it is important to know if any of them is omitted from the Postgres manifest
// in that case the var evaluates to nil and the value is taken from the operator config
EnableMasterLoadBalancer *bool `json:"enableMasterLoadBalancer,omitempty"`
EnableReplicaLoadBalancer *bool `json:"enableReplicaLoadBalancer,omitempty"`
// deprecated load balancer settings maintained for backward compatibility
// see "Load balancers" operator docs
UseLoadBalancer *bool `json:"useLoadBalancer,omitempty"`
ReplicaLoadBalancer *bool `json:"replicaLoadBalancer,omitempty"`
// load balancers' source ranges are the same for master and replica services
AllowedSourceRanges []string `json:"allowedSourceRanges"`
NumberOfInstances int32 `json:"numberOfInstances"`
Users map[string]UserFlags `json:"users"`
MaintenanceWindows []MaintenanceWindow `json:"maintenanceWindows,omitempty"`
Clone *CloneDescription `json:"clone,omitempty"`
ClusterName string `json:"-"`
Databases map[string]string `json:"databases,omitempty"`
Tolerations []v1.Toleration `json:"tolerations,omitempty"`
Sidecars []Sidecar `json:"sidecars,omitempty"`
InitContainers []v1.Container `json:"initContainers,omitempty"`
PodPriorityClassName string `json:"podPriorityClassName,omitempty"`
ShmVolume *bool `json:"enableShmVolume,omitempty"`
EnableLogicalBackup bool `json:"enableLogicalBackup,omitempty"`
LogicalBackupSchedule string `json:"logicalBackupSchedule,omitempty"`
// StandbyCluster *StandbyDescription `json:"standby"`
PodAnnotations map[string]string `json:"podAnnotations"`
ServiceAnnotations map[string]string `json:"serviceAnnotations"`
Env []v1.EnvVar `json:"env,omitempty"`
VolumeMounts []v1.VolumeMount `json:"volumeMounts,omitempty"`
Volumes []v1.Volume `json:"volumes,omitempty"`
// deprecated json tags
InitContainersOld []v1.Container `json:"init_containers,omitempty"`
PodPriorityClassNameOld string `json:"pod_priority_class_name,omitempty"`
}
PostgresSpec defines the specification for the PostgreSQL TPR. nolint: golint
func (*PostgresSpec) DeepCopy ¶
func (in *PostgresSpec) DeepCopy() *PostgresSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresSpec.
func (*PostgresSpec) DeepCopyInto ¶
func (in *PostgresSpec) DeepCopyInto(out *PostgresSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresStatus ¶
type PostgresStatus struct {
PostgresClusterStatus string `json:"PostgresClusterStatus"`
}
PostgresStatus contains status of the PostgreSQL cluster (running, creation failed etc.) nolint: golint
func (*PostgresStatus) DeepCopy ¶
func (in *PostgresStatus) DeepCopy() *PostgresStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresStatus.
func (*PostgresStatus) DeepCopyInto ¶
func (in *PostgresStatus) DeepCopyInto(out *PostgresStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresUsersConfiguration ¶
type PostgresUsersConfiguration struct {
SuperUsername string `json:"super_username,omitempty"`
ReplicationUsername string `json:"replication_username,omitempty"`
}
PostgresUsersConfiguration defines the system users of Postgres. nolint: golint
func (*PostgresUsersConfiguration) DeepCopy ¶
func (in *PostgresUsersConfiguration) DeepCopy() *PostgresUsersConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresUsersConfiguration.
func (*PostgresUsersConfiguration) DeepCopyInto ¶
func (in *PostgresUsersConfiguration) DeepCopyInto(out *PostgresUsersConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Postgresql ¶
type Postgresql struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec PostgresSpec `json:"spec"`
Status PostgresStatus `json:"status"`
Error string `json:"-"`
}
Postgresql defines PostgreSQL Custom Resource Definition Object.
func NewPostgresql ¶
func NewPostgresql(name string) *Postgresql
func (*Postgresql) DeepCopy ¶
func (in *Postgresql) DeepCopy() *Postgresql
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Postgresql.
func (*Postgresql) DeepCopyInto ¶
func (in *Postgresql) DeepCopyInto(out *Postgresql)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Postgresql) DeepCopyObject ¶
func (in *Postgresql) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (Postgresql) GetObjectKind ¶
func (in Postgresql) GetObjectKind() schema.ObjectKind
type PostgresqlList ¶
type PostgresqlList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata"`
Items []Postgresql `json:"items"`
}
PostgresqlList defines a list of PostgreSQL clusters.
func (*PostgresqlList) DeepCopy ¶
func (in *PostgresqlList) DeepCopy() *PostgresqlList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlList.
func (*PostgresqlList) DeepCopyInto ¶
func (in *PostgresqlList) DeepCopyInto(out *PostgresqlList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresqlList) DeepCopyObject ¶
func (in *PostgresqlList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresqlParam ¶
type PostgresqlParam struct {
PgVersion string `json:"version"`
Parameters map[string]string `json:"parameters"`
}
PostgresqlParam describes PostgreSQL version and pairs of configuration parameter name - values.
func (*PostgresqlParam) DeepCopy ¶
func (in *PostgresqlParam) DeepCopy() *PostgresqlParam
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlParam.
func (*PostgresqlParam) DeepCopyInto ¶
func (in *PostgresqlParam) DeepCopyInto(out *PostgresqlParam)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceDescription ¶
ResourceDescription describes CPU and memory resources defined for a cluster.
func (*ResourceDescription) DeepCopy ¶
func (in *ResourceDescription) DeepCopy() *ResourceDescription
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceDescription.
func (*ResourceDescription) DeepCopyInto ¶
func (in *ResourceDescription) DeepCopyInto(out *ResourceDescription)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Resources ¶
type Resources struct {
ResourceRequests ResourceDescription `json:"requests,omitempty"`
ResourceLimits ResourceDescription `json:"limits,omitempty"`
}
Resources describes requests and limits for the cluster resouces.
func (*Resources) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resources.
func (*Resources) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScalyrConfiguration ¶
type ScalyrConfiguration struct {
ScalyrAPIKey string `json:"scalyr_api_key,omitempty"`
ScalyrImage string `json:"scalyr_image,omitempty"`
ScalyrServerURL string `json:"scalyr_server_url,omitempty"`
ScalyrCPURequest string `json:"scalyr_cpu_request,omitempty"`
ScalyrMemoryRequest string `json:"scalyr_memory_request,omitempty"`
ScalyrCPULimit string `json:"scalyr_cpu_limit,omitempty"`
ScalyrMemoryLimit string `json:"scalyr_memory_limit,omitempty"`
}
ScalyrConfiguration defines the configuration for ScalyrAPI
func (*ScalyrConfiguration) DeepCopy ¶
func (in *ScalyrConfiguration) DeepCopy() *ScalyrConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalyrConfiguration.
func (*ScalyrConfiguration) DeepCopyInto ¶
func (in *ScalyrConfiguration) DeepCopyInto(out *ScalyrConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Sidecar ¶
type Sidecar struct {
Resources `json:"resources,omitempty"`
Name string `json:"name,omitempty"`
DockerImage string `json:"image,omitempty"`
Ports []v1.ContainerPort `json:"ports,omitempty"`
Env []v1.EnvVar `json:"env,omitempty"`
}
Sidecar defines a container to be run in the same pod as the Postgres container.
func (*Sidecar) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Sidecar.
func (*Sidecar) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StandbyDescription ¶
type StandbyDescription struct {
S3WalPath string `json:"s3_wal_path,omitempty"`
}
StandbyCluster
func (*StandbyDescription) DeepCopy ¶
func (in *StandbyDescription) DeepCopy() *StandbyDescription
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandbyDescription.
func (*StandbyDescription) DeepCopyInto ¶
func (in *StandbyDescription) DeepCopyInto(out *StandbyDescription)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TeamsAPIConfiguration ¶
type TeamsAPIConfiguration struct {
EnableTeamsAPI bool `json:"enable_teams_api,omitempty"`
TeamsAPIUrl string `json:"teams_api_url,omitempty"`
TeamAPIRoleConfiguration map[string]string `json:"team_api_role_configuration,omitempty"`
EnableTeamSuperuser bool `json:"enable_team_superuser,omitempty"`
EnableAdminRoleForUsers bool `json:"enable_admin_role_for_users,omitempty"`
TeamAdminRole string `json:"team_admin_role,omitempty"`
PamRoleName string `json:"pam_role_name,omitempty"`
PamConfiguration string `json:"pam_configuration,omitempty"`
ProtectedRoles []string `json:"protected_role_names,omitempty"`
PostgresSuperuserTeams []string `json:"postgres_superuser_teams,omitempty"`
}
TeamsAPIConfiguration defines the configuration of TeamsAPI
func (*TeamsAPIConfiguration) DeepCopy ¶
func (in *TeamsAPIConfiguration) DeepCopy() *TeamsAPIConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamsAPIConfiguration.
func (*TeamsAPIConfiguration) DeepCopyInto ¶
func (in *TeamsAPIConfiguration) DeepCopyInto(out *TeamsAPIConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UserFlags ¶
type UserFlags []string
UserFlags defines flags (such as superuser, nologin) that could be assigned to individual users
func (UserFlags) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserFlags.
func (UserFlags) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Volume ¶
type Volume struct {
Size string `json:"size"`
StorageClass string `json:"storageClass"`
SubPath string `json:"subPath,omitempty"`
}
Volume describes a single volume in the manifest.
func (*Volume) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume.
func (*Volume) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.