package
0.0.0-20240418082707-ea5f3670260e
Repository: https://github.com/ivorysql/ivory-operator.git
Documentation: pkg.go.dev
# Functions
AnyCluster selects things for any IvorySQL cluster.
AsObjectKey converts the ObjectMeta API type to a client.ObjectKey.
AsSelector is a wrapper around metav1.LabelSelectorAsSelector() which converts the LabelSelector API type into something that implements labels.Selector.
Cluster selects things for cluster.
ClusterConfigMap returns the ObjectMeta necessary to lookup cluster's shared ConfigMap.
ClusterDataForIvoryAndPGBackRest selects things for IvorySQL data and things for pgBackRest data.
ClusterInstance selects things for a single instance in a cluster.
ClusterInstanceRBAC returns the ObjectMeta necessary to lookup the ServiceAccount, Role, and RoleBinding for cluster's IvorySQL instances.
ClusterInstances selects things for IvorySQL instances in cluster.
ClusterInstanceSet selects things for set in cluster.
ClusterInstanceSets selects things for sets in a cluster.
ClusterIvoryUsers selects things labeled for IvorySQL users in cluster.
ClusterPatronis selects things labeled for Patroni in cluster.
ClusterPGAdmin returns the ObjectMeta necessary to lookup the ConfigMap, Service, StatefulSet, or Volume for the cluster's pgAdmin user interface.
ClusterPGBouncer returns the ObjectMeta necessary to lookup the ConfigMap, Deployment, Secret, PodDisruptionBudget or Service that is cluster's PgBouncer proxy.
ClusterPGBouncerSelector selects things labeled for PGBouncer in cluster.
ClusterPodService returns the ObjectMeta necessary to lookup the Service that is responsible for the network identity of Pods.
ClusterPrimary selects things for the Primary IvorySQL instance.
ClusterPrimaryService returns the ObjectMeta necessary to lookup the Service that exposes the IvorySQL primary instance.
ClusterReplicaService returns the ObjectMeta necessary to lookup the Service that exposes IvorySQL replica instances.
DeprecatedIvoryUserSecret returns the ObjectMeta necessary to lookup the old Secret containing the default Ivory user and connection information.
DirectoryMoveJobLabels provides labels for PVC move Jobs.
ExporterWebConfigMap returns ObjectMeta necessary to lookup and create the exporter web configmap.
GenerateInstance returns a random name for a member of cluster and set.
GenerateStartupInstance returns a stable name that's shaped like GenerateInstance above.
InstanceCertificates returns the ObjectMeta necessary to lookup the Secret containing instance's certificates.
InstanceConfigMap returns the ObjectMeta necessary to lookup instance's shared ConfigMap.
InstanceIvoryDataVolume returns the ObjectMeta for the IvorySQL data volume for instance.
InstanceIvoryWALVolume returns the ObjectMeta for the IvorySQL WAL volume for instance.
InstancePodDNSNames returns the possible DNS names for instance.
InstanceSet returns the ObjectMeta necessary to lookup the objects associated with a single instance set.
InstanceTablespaceDataVolume returns the ObjectMeta for the tablespace data volume for instance.
IvoryTLSSecret returns the ObjectMeta necessary to lookup the Secret containing the default Ivory TLS certificates and key.
IvoryUserSecret returns the ObjectMeta necessary to lookup a Secret containing a IvorySQL user and its connection information.
KubernetesClusterDomain looks up the Kubernetes cluster domain name.
Merge takes sets of labels and merges them.
MonitoringUserSecret returns ObjectMeta necessary to lookup the Secret containing authentication credentials for monitoring tools.
MovePGBackRestRepoDirJob returns the ObjectMeta for a pgBackRest repo directory move Job.
MovePGDataDirJob returns the ObjectMeta for a pgData directory move Job.
MovePGWALDirJob returns the ObjectMeta for a pg_wal directory move Job.
OperatorConfigurationSecret returns the ObjectMeta necessary to lookup the Secret containing IVO configuration.
PatroniDistributedConfiguration returns the ObjectMeta necessary to lookup the DCS created by Patroni for cluster.
PatroniLeaderConfigMap returns the ObjectMeta necessary to lookup the ConfigMap created by Patroni for the leader election of cluster.
PatroniLeaderEndpoints returns the ObjectMeta necessary to lookup the Endpoints created by Patroni for the leader election of cluster.
PatroniScope returns the "scope" Patroni uses for cluster.
PatroniTrigger returns the ObjectMeta necessary to lookup the ConfigMap or Endpoints Patroni creates for cluster to initiate a controlled change of the leader.
PGBackRestBackupJob returns the ObjectMeta for the pgBackRest backup Job utilized to create replicas using pgBackRest.
PGBackRestBackupJobLabels provides labels for pgBackRest backup Jobs.
PGBackRestBackupJobSelector provides a selector for querying all pgBackRest resources.
PGBackRestConfig returns the ObjectMeta for a pgBackRest ConfigMap.
PGBackRestConfigLabels provides labels for the pgBackRest configuration created and used by the IvorySQL Operator.
PGBackRestCronJob returns the ObjectMeta for a pgBackRest CronJob.
PGBackRestCronJobLabels provides common labels for pgBackRest CronJobs.
PGBackRestDedicatedLabels provides labels for a pgBackRest dedicated repository host.
PGBackRestDedicatedSelector provides a selector for querying pgBackRest dedicated repository host resources.
PGBackRestLabels provides common labels for pgBackRest resources.
PGBackRestRBAC returns the ObjectMeta necessary to lookup the ServiceAccount, Role, and RoleBinding for pgBackRest Jobs.
PGBackRestRepoLabels provides common labels for pgBackRest repository resources.
PGBackRestRepoVolume returns the ObjectMeta for a pgBackRest repository volume.
PGBackRestRepoVolumeLabels the labels for a pgBackRest repository volume.
PGBackRestRestoreConfigLabels provides labels for configuration (e.g.
PGBackRestRestoreConfigSelector provides selector for querying pgBackRest restore config resources.
PGBackRestRestoreJob returns the ObjectMeta for a pgBackRest restore Job.
PGBackRestRestoreJobLabels provides labels for pgBackRest restore Jobs and associated configuration ConfigMaps and Secrets.
PGBackRestRestoreJobSelector provides selector for querying pgBackRest restore Jobs.
PGBackRestSecret returns the ObjectMeta for a pgBackRest Secret.
PGBackRestSelector provides a selector for querying all pgBackRest resources.
PGBackRestSSHConfig returns the ObjectMeta for a pgBackRest SSHD ConfigMap Deprecated: Repository hosts use mTLS for encryption, authentication, and authorization.
PGBackRestSSHSecret returns the ObjectMeta for a pgBackRest SSHD Secret Deprecated: Repository hosts use mTLS for encryption, authentication, and authorization.
ReplicationClientCertSecret returns ObjectMeta necessary to lookup the Secret containing the Patroni client authentication certificate information.
RepoHostPodDNSNames returns the possible DNS names for a pgBackRest repository host Pod.
ServiceDNSNames returns the possible DNS names for service.
UpgradeCheckConfigMap returns the ObjectMeta for the IVO ConfigMap.
# Constants
BackupManual is the backup type utilized for manual backups.
BackupReplicaCreate is the backup type for the backup taken to enable pgBackRest replica creation.
CertMountPath is the path for mounting the ivorycluster certificates and key.
CertVolume is the name of the Certificate volume and volume mount in a IvorySQL instance Pod.
#nosec */.
ContainerClientCertCopy is the name of the container that is responsible for copying and setting proper permissions on the client certificate and key after initialization whenever there is a change in the certificates or key.
ContainerDatabase is the name of the container running IvorySQL and supporting tools: Patroni, pgBackRest, etc.
ContainerIvoryStartup is the name of the initialization container that prepares the filesystem for IvorySQL.
ContainerJobMovePGBackRestRepoDir is the name of the job container utilized to copy v4 Operator pgBackRest repo directories to the v5 default location.
ContainerJobMovePGDataDir is the name of the job container utilized to copy v4 Operator pgData directories to the v5 default location.
ContainerJobMovePGWALDir is the name of the job container utilized to copy v4 Operator pg_wal directories to the v5 default location.
ContainerNSSWrapperInit is the name of the init container utilized to configure support for the nss_wrapper.
ContainerPGAdmin is the name of a container running pgAdmin.
ContainerPGAdminStartup is the name of the initialization container that prepares the filesystem for pgAdmin.
ContainerPGBackRestConfig is the name of a container supporting pgBackRest.
ContainerPGBackRestLogDirInit is the name of the init container utilized to make a pgBackRest log directory when using a dedicated repo host.
ContainerPGBouncer is the name of a container running PgBouncer.
ContainerPGBouncerConfig is the name of a container supporting PgBouncer.
ContainerPGMonitorExporter is the name of a container running postgres_exporter.
No description provided by the author
DataIvory is a LabelData value that indicates the object has IvorySQL data.
DataPGAdmin is a LabelData value that indicates the object has pgAdmin data.
DataPGBackRest is a LabelData value that indicates the object has pgBackRest data.
Finalizer marks an object to be garbage collected by this module.
LabelCluster et al.
LabelClusterCertificate is used to identify a secret containing a cluster certificate.
LabelData is used to identify Pods and Volumes store Ivory data.
No description provided by the author
No description provided by the author
LabelIvoryUser identifies the IvorySQL user an object is for or about.
LabelMoveJob is used to identify a directory move Job.
LabelMovePGBackRestRepoDir is used to identify the Job that moves an existing pgBackRest repo directory.
LabelMovePGDataDir is used to identify the Job that moves an existing pgData directory.
LabelMovePGWalDir is used to identify the Job that moves an existing pg_wal directory.
No description provided by the author
LabelPGBackRest is used to indicate that a resource is for pgBackRest.
LabelPGBackRestBackup is used to indicate that a resource is for a pgBackRest backup.
LabelPGBackRestConfig is used to indicate that a ConfigMap or Secret is for pgBackRest.
No description provided by the author
LabelPGBackRestDedicated is used to indicate that a ConfigMap is for a pgBackRest dedicated repository host.
LabelPGBackRestRepo is used to indicate that a Deployment or Pod is for a pgBackRest repository.
LabelPGBackRestRepoVolume is used to indicate that a resource for a pgBackRest repository.
LabelPGBackRestRestore is used to indicate that a Job or Pod is for a pgBackRest restore.
LabelPGBackRestRestoreConfig is used to indicate that a configuration resource (e.g.
LabelPGMonitorDiscovery is the label added to Pods running the "exporter" container to support discovery by Prometheus according to pgMonitor configuration.
LabelRepoName is used to specify the name of a pgBackRest repository.
No description provided by the author
LabelStartupInstance is used to indicate the startup instance associated with a resource.
PatroniSwitchover is the annotation added to a IvoryCluster to initiate a manual Patroni Switchover (or Failover).
PGBackRestBackup is the annotation that is added to a IvoryCluster to initiate a manual backup.
PGBackRestConfigHash is an annotation used to specify the hash value associated with a repo configuration as needed to detect configuration changes that invalidate running Jobs (and therefore must be recreated).
PGBackRestCurrentConfig is an annotation used to indicate the name of the pgBackRest configuration associated with a specific Job as determined by either the current primary (if no dedicated repository host is enabled), or the dedicated repository host.
PGBackRestIPVersion is an annotation used to indicate whether an IPv6 wildcard address should be used for the pgBackRest "tls-server-address" or not.
PGBackRestPGDataLogPath is the pgBackRest default log path configuration used by the IvorySQL instance.
PGBackRestRepoContainerName is the name assigned to the container used to run pgBackRest.
PGBackRestRepoLogPath is the pgBackRest default log path configuration used by the dedicated repo host, if configured.
PGBackRestRepoName is the name used for a pgbackrest repository.
PGBackRestRestore is the annotation that is added to a IvoryCluster to initiate an in-place restore.
PGBackRestRestoreContainerName is the name assigned to the container used to run pgBackRest restores.
PortExporter is the named port for the "exporter" container.
PortIvorySQL is the name of a port that connects to IvorySQL.
PortPGAdmin is the name of a port that connects to pgAdmin.
PortPGBouncer is the name of a port that connects to PgBouncer.
ReplicationCACert is the key name of the ivorycluster's replication/rewind user's client CA certificate Note: when using auto-generated certificates, this will be identical to the server CA cert.
ReplicationCACertPath is the path to the ivorycluster's replication/rewind user's client CA certificate.
ReplicationCert is the secret key to the ivorycluster's replication/rewind user's client certificate.
ReplicationCertPath is the path to the ivorycluster's replication/rewind user's client certificate.
ReplicationDirectory is the directory at CertMountPath where the replication certificates and key are mounted.
ReplicationPrivateKey is the secret key to the ivorycluster's replication/rewind user's client private key.
ReplicationPrivateKeyPath is the path to the ivorycluster's replication/rewind user's client private key.
ReplicationTmp is the directory where the replication certificates and key can have the proper permissions set due to: https://github.com/kubernetes/kubernetes/issues/57923.
RestoreConfigCopySuffix is the suffix used for ConfigMap or Secret configuration resources needed when restoring from a IvoryCluster data source.
RoleIvoryData is the LabelRole applied to IvorySQL data volumes.
RoleIvoryUser is the LabelRole applied to IvorySQL user secrets.
RoleIvoryWAL is the LabelRole applied to IvorySQL WAL volumes.
RoleMonitoring is the LabelRole applied to Monitoring resources.
RolePatroniLeader is the LabelRole that Patroni sets on the Pod that is currently the leader.
RolePatroniReplica is a LabelRole value that Patroni sets on Pods that are following the leader.
RolePGAdmin is the LabelRole applied to pgAdmin objects.
RolePGBouncer is the LabelRole applied to PgBouncer objects.
No description provided by the author
No description provided by the author
#nosec */.
# Type aliases
BackupJobType represents different types of backups (e.g.