Documentation
¶
Index ¶
- func Backrest(namespace string, clientset kubernetes.Interface, task *crv1.Pgtask)
- func CleanBackupResources(clientset kubeapi.Interface, namespace, clusterName string) error
- func CleanStanzaCreateResources(namespace, clusterName string, clientset kubeapi.Interface) error
- func CreateBackup(clientset pgo.Interface, namespace, clusterName, podName string, ...) (*crv1.Pgtask, error)
- func CreateInitialBackup(clientset pgo.Interface, namespace, clusterName, podName string) (*crv1.Pgtask, error)
- func CreatePostFailoverBackup(clientset pgo.Interface, namespace, clusterName, podName string) (*crv1.Pgtask, error)
- func CreateRepoDeployment(clientset kubernetes.Interface, cluster *crv1.Pgcluster, ...) error
- func CreateRepoSecret(clientset kubernetes.Interface, cluster *crv1.Pgcluster) error
- func PrepareClusterForRestore(clientset kubeapi.Interface, cluster *crv1.Pgcluster, task *crv1.Pgtask) (*crv1.Pgcluster, error)
- func PublishRestore(id, clusterName, username, namespace string)
- func S3RepoTypeCLIOptionExists(opts string) bool
- func StanzaCreate(namespace, clusterName string, clientset kubeapi.Interface)
- func UpdateAnnotations(clientset kubernetes.Interface, cluster *crv1.Pgcluster, ...) error
- func UpdatePGClusterSpecForRestore(clientset kubeapi.Interface, cluster *crv1.Pgcluster, task *crv1.Pgtask)
- func UpdateResources(clientset kubernetes.Interface, cluster *crv1.Pgcluster) error
- func UpdateWorkflow(clientset pgo.Interface, workflowID, namespace, status string) error
- type BackrestRestoreJobTemplateFields
- type RepoDeploymentTemplateFields
- type RepoServiceTemplateFields
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Backrest ¶
func Backrest(namespace string, clientset kubernetes.Interface, task *crv1.Pgtask)
Backrest ...
func CleanBackupResources ¶
CleanBackupResources is responsible for cleaning up Kubernetes resources from a previous pgBackRest backup. Specifically, this function deletes the pgptask and job associate with a previous pgBackRest backup for the cluster.
func CleanStanzaCreateResources ¶
CleanStanzaCreateResources deletes any existing stanza-create pgtask and job. Useful during a restore when an existing stanza-create pgtask or Job might still be present from initial creation of the cluster.
func CreateBackup ¶
func CreateBackup(clientset pgo.Interface, namespace, clusterName, podName string, params map[string]string, backupOpts string) (*crv1.Pgtask, error)
CreateBackup creates a Pgtask in order to initiate a pgBackRest backup
func CreateInitialBackup ¶
func CreateInitialBackup(clientset pgo.Interface, namespace, clusterName, podName string) (*crv1.Pgtask, error)
CreateInitialBackup creates a Pgtask in order to initiate the initial pgBackRest backup for a cluster as needed to support replica creation
func CreatePostFailoverBackup ¶
func CreatePostFailoverBackup(clientset pgo.Interface, namespace, clusterName, podName string) (*crv1.Pgtask, error)
CreatePostFailoverBackup creates a Pgtask in order to initiate the a pgBackRest backup following a failure event to ensure proper replica creation and/or reinitialization
func CreateRepoDeployment ¶
func CreateRepoDeployment(clientset kubernetes.Interface, cluster *crv1.Pgcluster, createPVC, bootstrapRepo bool, replicas int) error
CreateRepoDeployment creates a pgBackRest repository deployment for a PostgreSQL cluster, while also creating the associated Service and PersistentVolumeClaim.
func CreateRepoSecret ¶
func CreateRepoSecret(clientset kubernetes.Interface, cluster *crv1.Pgcluster) error
CreateRepoSecret allows for the creation of the Secret used to populate some (mostly) sensitive fields for managing the pgBackRest repository.
If the Secret already exists, then missing fields will be overwritten.
func PrepareClusterForRestore ¶
func PrepareClusterForRestore(clientset kubeapi.Interface, cluster *crv1.Pgcluster, task *crv1.Pgtask) (*crv1.Pgcluster, error)
PrepareClusterForRestore prepares a PostgreSQL cluster for a restore. This includes deleting variousresources (Deployments, Jobs, PVCs & pgtasks) while also patching various custome resources (pgreplicas) as needed to perform a restore.
func PublishRestore ¶
func PublishRestore(id, clusterName, username, namespace string)
PublishRestore is responsible for publishing the 'RestoreCluster' event for a restore
func S3RepoTypeCLIOptionExists ¶
S3RepoTypeCLIOptionExists detects if a S3 restore was requested via the '--repo-type' command line option
func StanzaCreate ¶
func UpdateAnnotations ¶
func UpdateAnnotations(clientset kubernetes.Interface, cluster *crv1.Pgcluster, annotations map[string]string) error
UpdateAnnotations updates the annotations in the "template" portion of a pgBackRest deployment
func UpdatePGClusterSpecForRestore ¶
func UpdatePGClusterSpecForRestore(clientset kubeapi.Interface, cluster *crv1.Pgcluster, task *crv1.Pgtask)
UpdatePGClusterSpecForRestore updates the spec for pgcluster resource provided as need to perform a restore
func UpdateResources ¶
func UpdateResources(clientset kubernetes.Interface, cluster *crv1.Pgcluster) error
UpdateResources updates the pgBackRest repository Deployment to reflect any resource updates
Types ¶
type BackrestRestoreJobTemplateFields ¶
type BackrestRestoreJobTemplateFields struct {
JobName string
ClusterName string
WorkflowID string
ToClusterPVCName string
SecurityContext string
PGOImagePrefix string
PGOImageTag string
CommandOpts string
PITRTarget string
PgbackrestStanza string
PgbackrestDBPath string
PgbackrestRepo1Path string
PgbackrestRepo1Host string
PgbackrestS3EnvVars string
NodeSelector string
Tablespaces string
TablespaceVolumes string
TablespaceVolumeMounts string
}
type RepoDeploymentTemplateFields ¶
type RepoDeploymentTemplateFields struct {
SecurityContext string
PGOImagePrefix string
PGOImageTag string
ContainerResources string
BackrestRepoClaimName string
SshdSecretsName string
PGbackrestDBHost string
PgbackrestRepoPath string
PgbackrestDBPath string
PgbackrestPGPort string
SshdPort int
PgbackrestStanza string
PgbackrestRepoType string
PgbackrestS3EnvVars string
Name string
ClusterName string
PodAnnotations string
PodAntiAffinity string
PodAntiAffinityLabelName string
PodAntiAffinityLabelValue string
Replicas int
BootstrapCluster string
}