v1

package
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: Dec 30, 2025 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the barmancloud v1 API group +kubebuilder:object:generate=true +groupName=barmancloud.cnpg.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "barmancloud.cnpg.io", Version: "v1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type InstanceSidecarConfiguration

type InstanceSidecarConfiguration struct {
	// The environment to be explicitly passed to the sidecar
	// +optional
	Env []corev1.EnvVar `json:"env,omitempty"`

	// The retentionCheckInterval defines the frequency at which the
	// system checks and enforces retention policies.
	// +kubebuilder:default:=1800
	// +optional
	RetentionPolicyIntervalSeconds int `json:"retentionPolicyIntervalSeconds,omitempty"`

	// Resources define cpu/memory requests and limits for the sidecar that runs in the instance pods.
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// AdditionalContainerArgs is an optional list of command-line arguments
	// to be passed to the sidecar container when it starts.
	// The provided arguments are appended to the container’s default arguments.
	// +kubebuilder:validation:XValidation:rule="!self.exists(a, a.startsWith('--log-level'))",reason="FieldValueForbidden",message="do not set --log-level in additionalContainerArgs; use spec.instanceSidecarConfiguration.logLevel"
	// +optional
	AdditionalContainerArgs []string `json:"additionalContainerArgs,omitempty"`

	// The log level for PostgreSQL instances. Valid values are: `error`, `warning`, `info` (default), `debug`, `trace`
	// +kubebuilder:default:=info
	// +kubebuilder:validation:Enum:=error;warning;info;debug;trace
	// +optional
	LogLevel string `json:"logLevel,omitempty"`
}

InstanceSidecarConfiguration defines the configuration for the sidecar that runs in the instance pods.

func (*InstanceSidecarConfiguration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceSidecarConfiguration.

func (*InstanceSidecarConfiguration) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ObjectStore

type ObjectStore struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`

	// Specification of the desired behavior of the ObjectStore.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	Spec ObjectStoreSpec `json:"spec"`
	// Most recently observed status of the ObjectStore. This data may not be up to
	// date. Populated by the system. Read-only.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	// +optional
	Status ObjectStoreStatus `json:"status,omitempty"`
}

ObjectStore is the Schema for the objectstores API.

func (*ObjectStore) DeepCopy

func (in *ObjectStore) DeepCopy() *ObjectStore

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectStore.

func (*ObjectStore) DeepCopyInto

func (in *ObjectStore) DeepCopyInto(out *ObjectStore)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ObjectStore) DeepCopyObject

func (in *ObjectStore) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ObjectStoreList

type ObjectStoreList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ObjectStore `json:"items"`
}

ObjectStoreList contains a list of ObjectStore.

func (*ObjectStoreList) DeepCopy

func (in *ObjectStoreList) DeepCopy() *ObjectStoreList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectStoreList.

func (*ObjectStoreList) DeepCopyInto

func (in *ObjectStoreList) DeepCopyInto(out *ObjectStoreList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ObjectStoreList) DeepCopyObject

func (in *ObjectStoreList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ObjectStoreSpec

type ObjectStoreSpec struct {
	// The configuration for the barman-cloud tool suite
	// +kubebuilder:validation:XValidation:rule="!has(self.serverName)",fieldPath=".serverName",reason="FieldValueForbidden",message="use the 'serverName' plugin parameter in the Cluster resource"
	Configuration barmanapi.BarmanObjectStoreConfiguration `json:"configuration"`

	// RetentionPolicy is the retention policy to be used for backups
	// and WALs (i.e. '60d'). The retention policy is expressed in the form
	// of `XXu` where `XX` is a positive integer and `u` is in `[dwm]` -
	// days, weeks, months.
	// +kubebuilder:validation:Pattern=^[1-9][0-9]*[dwm]$
	// +optional
	RetentionPolicy string `json:"retentionPolicy,omitempty"`

	// The configuration for the sidecar that runs in the instance pods
	// +optional
	InstanceSidecarConfiguration InstanceSidecarConfiguration `json:"instanceSidecarConfiguration,omitempty"`
}

ObjectStoreSpec defines the desired state of ObjectStore.

func (*ObjectStoreSpec) DeepCopy

func (in *ObjectStoreSpec) DeepCopy() *ObjectStoreSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectStoreSpec.

func (*ObjectStoreSpec) DeepCopyInto

func (in *ObjectStoreSpec) DeepCopyInto(out *ObjectStoreSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ObjectStoreStatus

type ObjectStoreStatus struct {
	// ServerRecoveryWindow maps each server to its recovery window
	ServerRecoveryWindow map[string]RecoveryWindow `json:"serverRecoveryWindow,omitempty"`
}

ObjectStoreStatus defines the observed state of ObjectStore.

func (*ObjectStoreStatus) DeepCopy

func (in *ObjectStoreStatus) DeepCopy() *ObjectStoreStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectStoreStatus.

func (*ObjectStoreStatus) DeepCopyInto

func (in *ObjectStoreStatus) DeepCopyInto(out *ObjectStoreStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RecoveryWindow added in v0.3.0

type RecoveryWindow struct {
	// The first recoverability point in a PostgreSQL server refers to
	// the earliest point in time to which the database can be
	// restored.
	FirstRecoverabilityPoint *metav1.Time `json:"firstRecoverabilityPoint,omitempty"`

	// The last successful backup time
	LastSuccessfulBackupTime *metav1.Time `json:"lastSuccessfulBackupTime,omitempty"`

	// The last failed backup time
	LastFailedBackupTime *metav1.Time `json:"lastFailedBackupTime,omitempty"`
}

RecoveryWindow represents the time span between the first recoverability point and the last successful backup of a PostgreSQL server, defining the period during which data can be restored.

func (*RecoveryWindow) DeepCopy added in v0.3.0

func (in *RecoveryWindow) DeepCopy() *RecoveryWindow

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecoveryWindow.

func (*RecoveryWindow) DeepCopyInto added in v0.3.0

func (in *RecoveryWindow) DeepCopyInto(out *RecoveryWindow)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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