backrest

package
v4.5.2+incompatible Latest Latest
Warning

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

Go to latest
Published: Feb 22, 2021 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Index

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

func CleanBackupResources(clientset kubeapi.Interface, namespace, clusterName string) error

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

func CleanStanzaCreateResources(namespace, clusterName string, clientset kubeapi.Interface) error

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

func S3RepoTypeCLIOptionExists(opts string) bool

S3RepoTypeCLIOptionExists detects if a S3 restore was requested via the '--repo-type' command line option

func StanzaCreate

func StanzaCreate(namespace, clusterName string, clientset kubeapi.Interface)

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

func UpdateWorkflow

func UpdateWorkflow(clientset pgo.Interface, workflowID, namespace, status string) error

UpdateWorkflow is responsible for updating the workflow for a restore

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
}

type RepoServiceTemplateFields

type RepoServiceTemplateFields struct {
	Name        string
	ClusterName string
	Port        string
}

Jump to

Keyboard shortcuts

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