apiservermsgs

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Aug 23, 2021 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PodTypePrimary    = "primary"
	PodTypeReplica    = "replica"
	PodTypePgbouncer  = "pgbouncer"
	PodTypePgbackrest = "pgbackrest"
	PodTypeBackup     = "backup"
	PodTypeUnknown    = "unknown"
)
View Source
const (
	ClusterTestInstanceTypePrimary   = "primary"
	ClusterTestInstanceTypeReplica   = "replica"
	ClusterTestInstanceTypePGAdmin   = "pgadmin"
	ClusterTestInstanceTypePGBouncer = "pgbouncer"
	ClusterTestInstanceTypeBackups   = "backups"
	ClusterTestInstanceTypeUnknown   = "unknown"
)

a collection of constants used to enumerate the output for ClusterTestDetail => InstanceType

View Source
const DfShowAllSelector = "*"

DfShowAllSelector is a value that is used to represent "all"

View Source
const Error = "error"

Error code string

View Source
const Ok = "ok"

Ok status

View Source
const PGO_VERSION = "0.2.0"
View Source
const UpgradeError = " has not yet been upgraded. Please upgrade the cluster before running this Postgres Operator command."

UpgradeError is the error used for when a command is tried against a cluster that has not been upgraded to the current Operator version

Variables

This section is empty.

Functions

This section is empty.

Types

type ApplyPolicyRequest

type ApplyPolicyRequest struct {
	Name          string
	Selector      string
	DryRun        bool
	Namespace     string
	ClientVersion string
}

ApplyPolicyRequest ... swagger:model

type ApplyPolicyResponse

type ApplyPolicyResponse struct {
	Name []string
	Status
}

ApplyPolicyResponse ... swagger:model

type ApplyResults

type ApplyResults struct {
	Results []string
}

ApplyResults ... swagger:model

type BasicAuthCredentials

type BasicAuthCredentials struct {
	Username     string
	Password     string
	APIServerURL string
}

BasicAuthCredentials ... swagger:model BasicAuthCredentials

func (BasicAuthCredentials) HasUsernameAndPassword

func (b BasicAuthCredentials) HasUsernameAndPassword() bool

type CatRequest

type CatRequest struct {
	Namespace string
	Args      []string
}

CatRequest ... swagger:model

type CatResponse

type CatResponse struct {
	Results []string
	Status
}

CatResponse ... swagger:model

type ClusterScaleRequest

type ClusterScaleRequest struct {
	// CCPImageTag is the image tag to use for cluster creation. If this is not
	// provided, this defaults to what the cluster is using, which is likely
	// the preferred behavior at this point.
	CCPImageTag string `json:"ccpImageTag"`
	// ClientVersion is the version of the client that is being used
	ClientVersion string `json:"clientVersion"`
	// Name is the name of the cluster to scale. This is set by the value in the
	// URL
	Name string `json:"name"`
	// Namespace is the namespace in which the queried cluster resides.
	Namespace string `json:"namespace"`
	// NodeAffinityType is only considered when "NodeLabel" is also set, and is
	// either a value of "preferred" (default) or "required"
	NodeAffinityType crv1.NodeAffinityType
	// NodeLabel if provided is a node label to use.
	NodeLabel string `json:"nodeLabel"`
	// ReplicaCount is the number of replicas to add to the cluster. This is
	// required and should be at least 1.
	ReplicaCount int `json:"replicaCount"`
	// ServiceType is the kind of Service to deploy with this instance. Defaults
	// to the value on the cluster.
	ServiceType v1.ServiceType `json:"serviceType"`
	// StorageConfig, if provided, specifies which of the storage configuration
	// options should be used. Defaults to what the main cluster definition uses.
	StorageConfig string `json:"storageConfig"`
	// Tolerations allows for the setting of Pod tolerations on Postgres instances
	Tolerations []v1.Toleration `json:"tolerations"`
}

ClusterScaleRequest superimposes on the legacy model of handling the ability to scale up the number of instances on a cluster swagger:model

type ClusterScaleResponse

type ClusterScaleResponse struct {
	Results []string
	Status
}

ClusterScaleResponse ... swagger:model

type ClusterTablespaceDetail

type ClusterTablespaceDetail struct {
	// Name is the name of the tablespace. Becomes the name of the tablespace in
	// PostgreSQL
	Name string
	// optional: allows for the specification of the size of the PVC for the
	// tablespace, overriding the value that is in "StorageClass"
	PVCSize string
	// StorageConfig is the name of the storage config to use for the tablespace,
	// e.g. "nfsstorage", that is specified in the pgo.yaml configuration
	StorageConfig string
}

ClusterTablespaceDetail contains details required to create a tablespace swagger:model

type ClusterTestDetail

type ClusterTestDetail struct {
	Available    bool   // true if the object being tested is available (ready)
	Message      string // a descriptive message that can be displayed with
	InstanceType string // an enumerated set of what this instance can be, e.g. "primary"
}

swagger:model

type ClusterTestRequest

type ClusterTestRequest struct {
	Clustername string
	Selector    string
	// Version of API client
	// required: true
	ClientVersion string
	Namespace     string
	AllFlag       bool
}

ClusterTestRequest ... swagger:model

type ClusterTestResponse

type ClusterTestResponse struct {
	Results []ClusterTestResult
	Status
}

ClusterTestResponse ... swagger:model

type ClusterTestResult

type ClusterTestResult struct {
	ClusterName string
	Endpoints   []ClusterTestDetail // a list of endpoints
	Instances   []ClusterTestDetail // a list of instances (pods)
}

ClusterTestResult contains the output for a test on a single PostgreSQL cluster. This includes the endpoints (i.e. how to connect to instances in a cluster) and the instances themselves (which are pods) swagger:model

type CreateBackrestBackupRequest

type CreateBackrestBackupRequest struct {
	Namespace           string
	Args                []string
	Selector            string
	BackupOpts          string
	BackrestStorageType string
}

CreateBackrestBackupRequest ... swagger:model

type CreateBackrestBackupResponse

type CreateBackrestBackupResponse struct {
	Results []string
	Status
}

CreateBackrestBackupResponse ... swagger:model

type CreateClusterDetail

type CreateClusterDetail struct {
	// Database is the name of the database that is initially created for users to
	// connect to
	Database string
	// Name is the name of the PostgreSQL cluster
	Name string
	// Users contain an array of users along with their credentials
	Users []CreateClusterDetailUser
	// WorkflowID matches up to the WorkflowID of the cluster
	WorkflowID string
}

CreateClusterDetail provides details about the PostgreSQL cluster that is created

swagger:model

type CreateClusterDetailUser

type CreateClusterDetailUser struct {
	// Password is the password used for this username, but it may be empty based
	// on what data is allowed to be returned by the server
	Password string
	// Username is the username in PostgreSQL for the user
	Username string
}

CreateClusterDetailUser provides information about an individual PostgreSQL user, such as password

swagger:model

type CreateClusterRequest

type CreateClusterRequest struct {
	Name      string `json:"Name"`
	Namespace string
	// NodeAffinityType is only considered when "NodeLabel" is also set, and is
	// either a value of "preferred" (default) or "required"
	NodeAffinityType    crv1.NodeAffinityType
	NodeLabel           string
	PasswordLength      int
	PasswordSuperuser   string
	PasswordReplication string
	Password            string
	SecretFrom          string
	UserLabels          map[string]string
	Tablespaces         []ClusterTablespaceDetail
	Policies            string
	CCPImage            string
	CCPImageTag         string
	CCPImagePrefix      string
	PGOImagePrefix      string
	ReplicaCount        int
	ServiceType         v1.ServiceType
	MetricsFlag         bool
	// ExporterCPULimit, if specified, is the value of the max CPU for a
	// Crunchy Postgres Exporter sidecar container
	ExporterCPULimit string
	// ExporterCPURequest, if specified, is the value of how much CPU should be
	// requested for a Crunchy Postgres Exporter sidecar container. Defaults to
	// not being requested
	ExporterCPURequest string
	// ExporterMemoryLimit is the value of of the limit of how much RAM a
	// Crunchy Postgres Exporter sidecar container should use
	ExporterMemoryLimit string
	// ExporterMemoryRequest, if specified, is the value of how much RAM should
	// be requested for a Crunchy Postgres Exporter sidecar container. Defaults
	// to the server specified default
	ExporterMemoryRequest string
	// ExporterCPULimit, if specified, is the value of the max amount of CPU
	// to be utilized for a Crunchy Postgres Exporter sidecar container
	BadgerFlag          bool
	AutofailFlag        bool
	ArchiveFlag         bool
	BackrestStorageType string
	// BackrestRestoreFrom  string
	PgbouncerFlag bool
	// PgBouncerReplicas represents the total number of pgBouncer pods to deploy with a
	// PostgreSQL cluster. Only works if PgbouncerFlag is set, and if so, it must
	// be at least 1. If 0 is passed in, it will automatically be set to 1
	PgBouncerReplicas int32
	// PgBouncerServiceType, if specified and if PgbouncerFlag is true, is the
	// ServiceType to use for pgBouncer. If not set, the value is defaultd to that
	// of the PostgreSQL cluster ServiceType.
	PgBouncerServiceType v1.ServiceType
	// PgBouncerTLSSecret is the name of the Secret containing the TLS keypair
	// for enabling TLS with pgBouncer. This also requires for TLSSecret and
	// CASecret to be set
	PgBouncerTLSSecret   string
	CustomConfig         string
	StorageConfig        string
	WALStorageConfig     string
	ReplicaStorageConfig string
	// Version of API client
	// required: true
	ClientVersion             string
	PasswordType              string
	PodAntiAffinity           string
	PodAntiAffinityPgBackRest string
	PodAntiAffinityPgBouncer  string
	SyncReplication           *bool
	BackrestConfig            string
	BackrestGCSBucket         string
	BackrestGCSEndpoint       string
	// BackrestGCSKey is a standard base64 encoded string that contains the
	// information found in a GCS key (typically a JSON file)
	BackrestGCSKey      string
	BackrestGCSKeyType  string
	BackrestS3Key       string
	BackrestS3KeySecret string
	BackrestS3Bucket    string
	BackrestS3Region    string
	BackrestS3Endpoint  string
	BackrestS3URIStyle  string
	BackrestS3VerifyTLS UpdateBackrestS3VerifyTLS
	Standby             bool
	BackrestRepoPath    string

	// allow the user to set custom sizes for PVCs
	// PVCSize applies to the primary/replica storage specs
	PVCSize string
	// BackrestPVCSize applies to the pgBackRest storage spec
	BackrestPVCSize string
	// WALPVCSize applies to the WAL storage spec
	WALPVCSize string

	// Username is an optional parameter that allows the user to override the
	// default user name to use for the PostgreSQL cluster
	Username string
	// ShowSystemAccounts is an optional parameter than when set to true, will
	// also show the results of the available system accounts (e.g. the PostgreSQL
	// superuser)
	ShowSystemAccounts bool
	// Database is an optional parameter that allows the user to specify the name
	// of the initial database that is created
	Database string
	// TLSOnly indicates that a PostgreSQL cluster should be deployed with only
	// TLS connections accepted. Requires that TLSSecret and CASecret are set
	TLSOnly bool
	// TLSSecret is the name of the secret that contains the keypair required to
	// deploy a TLS-enabled PostgreSQL cluster
	TLSSecret string
	// CASecret is the name of the secret that contains the CA to use along with
	// the TLS keypair for deploying a TLS-enabled PostgreSQL cluster
	CASecret string
	// ReplicationTLSSecret is the name of the secret that contains the keypair
	// used for having instances in a PostgreSQL cluster authenticate each another
	// using certificate-based authentication. The CN of the certificate must
	// either be "primaryuser" (the current name of the replication user) OR
	// have a mapping to primaryuser in the pg_ident file. The
	// ReplicationTLSSecret must be verifable by the certificate chain in the
	// CASecret
	ReplicationTLSSecret string
	// CPULimit is the value of the max CPU utilization for a Pod that has a
	// PostgreSQL cluster
	CPULimit string
	// CPURequest is the value of how much CPU should be requested for deploying
	// the PostgreSQL cluster
	CPURequest string
	// MemoryLimit is the value of of the limit of how much RAM a Pod with a
	// PostgreSQL instance should use. At this time we do not recommend setting
	// this.
	MemoryLimit string
	// MemoryRequest is the value of how much RAM should be requested for
	// deploying the PostgreSQL cluster
	MemoryRequest string
	// PgBouncerCPULimit, if specified, is the value of the max CPU for a
	// pgBouncer pod
	PgBouncerCPULimit string
	// PgBouncerCPURequest, if specified, is the value of how much CPU should be
	// requested for deploying pgBouncer instances. Defaults to not being
	// requested
	PgBouncerCPURequest string
	// PgBouncerMemoryLimit is the value of of the limit of how much RAM a Pod
	// with a pgBouncer should use
	PgBouncerMemoryLimit string
	// PgBouncerMemoryRequest, if specified, is the value of how much RAM should
	// be requested for deploying pgBouncer instances. Defaults to the server
	// specified default
	PgBouncerMemoryRequest string
	// BackrestCPULimit, if specified, is the value of the max amount of CPU
	// to be utilized for a pgBackRest Pod
	BackrestCPULimit string
	// BackrestCPURequest, if specified, is the value of how much CPU should be
	// requested the pgBackRest repository. Defaults to not being requested
	BackrestCPURequest string
	// BackrestMemoryLimit, if specified is the max amount of memory a pgBackRest
	// Pod should use
	BackrestMemoryLimit string
	// BackrestMemoryRequest, if specified, is the value of how much RAM should
	// be requested for the pgBackRest repository. Defaults to the server
	// specified default
	BackrestMemoryRequest string
	// BackrestStorageConfig sets the storage configuration to use for the
	// pgBackRest local repository. This overrides the value in pgo.yaml, though
	// the value of BackrestPVCSize can override the PVC size set in this
	// storage config
	BackrestStorageConfig string
	// BackrestS3CASecretName specifies the name of a secret to use for the
	// pgBackRest S3 CA instead of the default
	BackrestS3CASecretName string
	// PGDataSourceSpec defines the data source that should be used to populate the initial PGDATA
	// directory when bootstrapping a new PostgreSQL cluster
	PGDataSource crv1.PGDataSourceSpec
	// Annotations provide any custom annotations for a cluster
	Annotations crv1.ClusterAnnotations `json:"annotations"`
	// Tolerations allows for the setting of Pod tolerations on Postgres instances
	Tolerations []v1.Toleration `json:"tolerations"`
}

CreateClusterRequest

swagger:model

type CreateClusterResponse

type CreateClusterResponse struct {
	Result CreateClusterDetail `json:"result"`
	Status `json:"status"`
}

CreateClusterResponse

swagger:model

type CreateFailoverRequest

type CreateFailoverRequest struct {
	ClientVersion string
	ClusterName   string
	// Force determines whether or not to force the failover. A normal failover
	// request uses a switchover, which seeks a healthy option. However, "Force"
	// forces the issue so to speak, and will promote either the instance that is
	// the best fit or the specified target
	Force     bool
	Namespace string
	Target    string
}

CreateFailoverRequest ... swagger:model

type CreateFailoverResponse

type CreateFailoverResponse struct {
	Results string
	Status
}

CreateFailoverResponse ... swagger:model

type CreateNamespaceRequest

type CreateNamespaceRequest struct {
	Args          []string
	Namespace     string
	ClientVersion string
}

CreateNamespaceRequest ... swagger:model

type CreateNamespaceResponse

type CreateNamespaceResponse struct {
	Results []string
	Status
}

CreateNamespaceResponse ... swagger:model

type CreatePgAdminRequest

type CreatePgAdminRequest struct {
	Args          []string
	ClientVersion string
	Namespace     string
	Selector      string
	StorageConfig string
	PVCSize       string
}

CreatePgAdminRequest ... swagger:model

type CreatePgAdminResponse

type CreatePgAdminResponse struct {
	Results []string
	Status
}

CreatePgAdminResponse ... swagger:model

type CreatePgbouncerRequest

type CreatePgbouncerRequest struct {
	Args          []string
	ClientVersion string
	// CPULimit, if specified, is the max CPU that should be used on a pgBouncer
	// Pod. Defaults to not being set.
	CPULimit string
	// CPURequest, if specified, is the value of how much CPU should be
	// requested for deploying pgBouncer instances. Defaults to not being
	// requested
	CPURequest string
	// MemoryLimit, if specified, is the max CPU that should be used on a
	// pgBouncer Pod. Defaults to not being set.
	MemoryLimit string
	// MemoryRequest, if specified, is the value of how much RAM should
	// be requested for deploying pgBouncer instances. Defaults to the server
	// specified default
	MemoryRequest string
	Namespace     string
	// Replicas represents the total number of pgBouncer pods to deploy with a
	// PostgreSQL cluster. Must be at least 1. If 0 is passed in, it will
	// automatically be set to 1
	Replicas int32
	Selector string
	// ServiceType is the kind of Service to deploy with this instance. If unset,
	// it will default to the value for the PostgreSQL cluster.
	ServiceType v1.ServiceType `json:"serviceType"`
	// TLSSecret is the name of the secret that contains the keypair required to
	// deploy TLS-enabled pgBouncer
	TLSSecret string
}

CreatePgbouncerRequest ... swagger:model

type CreatePgbouncerResponse

type CreatePgbouncerResponse struct {
	Results []string
	Status
}

CreatePgbouncerResponse ... swagger:model

type CreatePgoroleRequest

type CreatePgoroleRequest struct {
	PgoroleName        string
	PgorolePermissions string
	Namespace          string
	ClientVersion      string
}

CreatePgoroleRequest ... swagger:model

type CreatePgoroleResponse

type CreatePgoroleResponse struct {
	Status
}

CreatePgoroleResponse ... swagger:model

type CreatePgouserRequest

type CreatePgouserRequest struct {
	PgouserName       string
	PgouserPassword   string
	PgouserRoles      string
	AllNamespaces     bool
	PgouserNamespaces string
	Namespace         string
	ClientVersion     string
}

CreatePgouserRequest ... swagger:model

type CreatePgouserResponse

type CreatePgouserResponse struct {
	Status
}

CreatePgouserResponse ... swagger:model

type CreatePolicyRequest

type CreatePolicyRequest struct {
	Name          string
	SQL           string
	Namespace     string
	ClientVersion string
}

CreatePolicyRequest ... swagger:model

type CreatePolicyResponse

type CreatePolicyResponse struct {
	Status
}

CreatePolicyResponse ... swagger:model

type CreateScheduleRequest

type CreateScheduleRequest struct {
	ClusterName         string
	Name                string
	Namespace           string
	Schedule            string
	ScheduleType        string
	Selector            string
	PGBackRestType      string
	BackrestStorageType string
	PVCName             string
	ScheduleOptions     string
	StorageConfig       string
	PolicyName          string
	Database            string
	Secret              string
}

CreateScheduleRequest ... swagger:model

type CreateScheduleResponse

type CreateScheduleResponse struct {
	Results []string
	Status
}

CreateScheduleResponse ... swagger:model

type CreateUpgradeRequest

type CreateUpgradeRequest struct {
	Args               []string
	Selector           string
	Namespace          string
	ClientVersion      string
	IgnoreValidation   bool
	UpgradeCCPImageTag string
}

CreateUpgradeRequest ... swagger:model

type CreateUpgradeResponse

type CreateUpgradeResponse struct {
	Results []string
	Status
	WorkflowID string
}

CreateUpgradeResponse ... swagger:model

type CreateUserRequest

type CreateUserRequest struct {
	AllFlag         bool
	Clusters        []string
	ClientVersion   string
	ManagedUser     bool
	Namespace       string
	Password        string
	PasswordAgeDays int
	PasswordLength  int
	// PasswordType is one of "md5" or "scram-sha-256", defaults to "md5"
	PasswordType string
	Selector     string
	Username     string
}

CreateUserRequest contains the parameters that are passed in when an Operator user requests to create a new PostgreSQL user swagger:model

type CreateUserResponse

type CreateUserResponse struct {
	Results []UserResponseDetail
	Status
}

CreateUserResponse is the response to a create user request swagger:model

type CreatepgDumpBackupRequest

type CreatepgDumpBackupRequest struct {
	Namespace     string
	Args          []string
	Selector      string
	PGDumpDB      string
	PVCName       string
	StorageConfig string
	BackupOpts    string
}

CreatepgDumpBackup ... swagger:model

type CreatepgDumpBackupResponse

type CreatepgDumpBackupResponse struct {
	Results []string
	Status
}

CreatepgDumpBackupResponse ... swagger:model

type DeleteBackrestBackupRequest

type DeleteBackrestBackupRequest struct {
	// ClientVersion represents the version of the client that is making the API
	// request
	ClientVersion string
	// ClusterName is the name of the pgcluster of which we want to delete the
	// backup from
	ClusterName string
	// Namespace isthe namespace that the cluster is in
	Namespace string
	// Target is the nane of the backup to be deleted
	Target string
}

DeleteBackrestBackupRequest ... swagger:model

type DeleteBackrestBackupResponse

type DeleteBackrestBackupResponse struct {
	Status
}

DeleteBackrestBackupRequest ... swagger:model

type DeleteClusterRequest

type DeleteClusterRequest struct {
	Clustername string
	Selector    string
	// Version of API client
	// required: true
	ClientVersion string
	Namespace     string
	AllFlag       bool
	DeleteBackups bool
	DeleteData    bool
}

DeleteClusterRequest ... swagger:model

type DeleteClusterResponse

type DeleteClusterResponse struct {
	Results []string
	Status
}

DeleteClusterResponse ... swagger:model

type DeleteLabelRequest

type DeleteLabelRequest struct {
	Selector      string
	Namespace     string
	Args          []string
	Labels        map[string]string
	ClientVersion string
}

DeleteLabelRequest ... swagger:model

type DeleteNamespaceRequest

type DeleteNamespaceRequest struct {
	Args          []string
	Selector      string
	Namespace     string
	AllFlag       bool
	ClientVersion string
}

DeleteNamespaceRequest ... swagger:model

type DeleteNamespaceResponse

type DeleteNamespaceResponse struct {
	Results []string
	Status
}

DeleteNamespaceResponse ... swagger:model

type DeletePgAdminRequest

type DeletePgAdminRequest struct {
	Args          []string
	Selector      string
	Namespace     string
	ClientVersion string
	Uninstall     bool
}

DeletePgAdminRequest ... swagger:model

type DeletePgAdminResponse

type DeletePgAdminResponse struct {
	Results []string
	Status
}

DeletePgAdminResponse ... swagger:model

type DeletePgbouncerRequest

type DeletePgbouncerRequest struct {
	Args          []string
	Selector      string
	Namespace     string
	ClientVersion string
	Uninstall     bool
}

DeletePgbouncerRequest ... swagger:model

type DeletePgbouncerResponse

type DeletePgbouncerResponse struct {
	Results []string
	Status
}

DeletePgbouncerResponse ... swagger:model

type DeletePgoroleRequest

type DeletePgoroleRequest struct {
	PgoroleName   []string
	Namespace     string
	AllFlag       bool
	ClientVersion string
}

DeletePgoroleRequest ... swagger:model

type DeletePgoroleResponse

type DeletePgoroleResponse struct {
	Results []string
	Status
}

DeletePgoroleResponse ... swagger:model

type DeletePgouserRequest

type DeletePgouserRequest struct {
	PgouserName   []string
	Namespace     string
	AllFlag       bool
	ClientVersion string
}

DeletePgouserRequest ... swagger:model

type DeletePgouserResponse

type DeletePgouserResponse struct {
	Results []string
	Status
}

DeletePgouserResponse ... swagger:model

type DeletePolicyRequest

type DeletePolicyRequest struct {
	Selector      string
	Namespace     string
	AllFlag       bool
	ClientVersion string
	PolicyName    string
}

DeletePolicyRequest ... swagger:model

type DeletePolicyResponse

type DeletePolicyResponse struct {
	Results []string
	Status
}

DeletePolicyResponse ... swagger:model

type DeleteScheduleRequest

type DeleteScheduleRequest struct {
	Namespace    string
	ScheduleName string
	ClusterName  string
	Selector     string
}

DeleteScheduleResponse ... swagger:model

type DeleteScheduleResponse

type DeleteScheduleResponse struct {
	Results []string
	Status
}

DeleteScheduleResponse ... swagger:model

type DeleteUserRequest

type DeleteUserRequest struct {
	AllFlag       bool
	ClientVersion string
	Clusters      []string
	Namespace     string
	Selector      string
	Username      string
}

DeleteUserRequest contains the parameters that are used to delete PostgreSQL users from clusters swagger:model

type DeleteUserResponse

type DeleteUserResponse struct {
	Results []UserResponseDetail
	Status
}

DeleteUserResponse contains the results from trying to delete PostgreSQL users from clusters. The content in this will be much sparser than the others swagger:model

type DfDetail

type DfDetail struct {
	InstanceName string
	PodName      string
	PVCType      DfPVCType
	PVCName      string
	PVCUsed      int64
	PVCCapacity  int64
}

DfDetail returns specific information about the utilization of a PVC swagger:model

type DfPVCType

type DfPVCType int
const (
	PVCTypePostgreSQL DfPVCType = iota
	PVCTypepgBackRest
	PVCTypeTablespace
	PVCTypeWriteAheadLog
)

the DfPVCType selectors help to display determine what type of PVC is being analyzed as part of the DF command

type DfRequest

type DfRequest struct {
	ClientVersion string
	Namespace     string
	Selector      string
}

DfRequest contains the parameters that can be used to get disk utilization for PostgreSQL clusters swagger:model

type DfResponse

type DfResponse struct {
	Results []DfDetail
	Status
}

DfResponse returns the results of how PVCs are being utilized, or an error message swagger:model

type FailoverTargetSpec

type FailoverTargetSpec struct {
	Name           string // the name of the PostgreSQL instance
	Node           string // the node that the instance is running on
	ReplicationLag int    // how far behind the instance is behind the primary, in MB
	Status         string // the current status of the instance
	Timeline       int    // the timeline the replica is on; timelines are adjusted after failover events
	PendingRestart bool   // whether or not a restart is pending for the target
}

FailoverTargetSpec swagger:model

type InstanceDetail

type InstanceDetail struct {
	InstanceName string
	Error        bool
	ErrorMessage string
}

InstanceDetail defines the details of an instance within a cluster restarted as a result of a cluster restart request. This includes the name of each instance, along with any errors that may have occurred while attempting to restart an instance.

type KeyValue

type KeyValue struct {
	Key   string
	Value int
}

KeyValue ... swagger:model

type LabelRequest

type LabelRequest struct {
	Selector      string
	Namespace     string
	Args          []string
	Labels        map[string]string
	DryRun        bool
	DeleteLabel   bool
	ClientVersion string
}

LabelRequest ... swagger:model

type LabelResponse

type LabelResponse struct {
	Results []string
	Status
}

LabelResponse ... swagger:model

type NamespaceResult

type NamespaceResult struct {
	Namespace          string
	InstallationAccess bool
	UserAccess         bool
}

NamespaceResult ... swagger:model

type NodeInfo

type NodeInfo struct {
	Name   string
	Status string
	Labels map[string]string
}

NodeInfo ... swagger:model

type PgBackRestInfo

type PgBackRestInfo struct {
	Archives []PgBackRestInfoArchive `json:"archive"`
	Backups  []PgBackRestInfoBackup  `json:"backup"`
	Cipher   string                  `json:"cipher"`
	DBs      []PgBackRestInfoDB      `json:"db"`
	Name     string                  `json:"name"`
	Status   PgBackRestInfoStatus    `json:"status"`
}

PgBackRestInfo and its associated structs are available for parsing the info that comes from the output of the "pgbackrest info --output json" command

type PgBackRestInfoArchive

type PgBackRestInfoArchive struct {
	DB  PgBackRestInfoDB `json:"db"`
	ID  string           `json:"id"`
	Max string           `json:"max"`
	Min string           `json:"min"`
}

type PgBackRestInfoBackup

type PgBackRestInfoBackup struct {
	Archive   PgBackRestInfoBackupArchive   `json:"archive"`
	Backrest  PgBackRestInfoBackupBackrest  `json:"backrest"`
	Database  PgBackRestInfoDB              `json:"database"`
	Info      PgBackRestInfoBackupInfo      `json:"info"`
	Label     string                        `json:"label"`
	Prior     string                        `json:"prior"`
	Reference []string                      `json:"reference"`
	Timestamp PgBackRestInfoBackupTimestamp `json:"timestamp"`
	Type      string                        `json:"type"`
}

type PgBackRestInfoBackupArchive

type PgBackRestInfoBackupArchive struct {
	Start string `json:"start"`
	Stop  string `json:"stop"`
}

type PgBackRestInfoBackupBackrest

type PgBackRestInfoBackupBackrest struct {
	Format  int    `json:"format"`
	Version string `json:"version"`
}

type PgBackRestInfoBackupInfo

type PgBackRestInfoBackupInfo struct {
	Delta      int64                              `json:"delta"`
	Repository PgBackRestInfoBackupInfoRepository `json:"repository"`
	Size       int64                              `json:"size"`
}

type PgBackRestInfoBackupInfoRepository

type PgBackRestInfoBackupInfoRepository struct {
	Delta int64 `json:"delta"`
	Size  int64 `json:"size"`
}

type PgBackRestInfoBackupTimestamp

type PgBackRestInfoBackupTimestamp struct {
	Start int64 `json:"start"`
	Stop  int64 `json:"stop"`
}

type PgBackRestInfoDB

type PgBackRestInfoDB struct {
	ID       int    `json:"id"`
	SystemID int64  `json:"system-id,omitempty"`
	Version  string `json:"version,omitempty"`
}

type PgBackRestInfoStatus

type PgBackRestInfoStatus struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
}

type PgRestoreRequest

type PgRestoreRequest struct {
	Namespace   string
	FromCluster string
	FromPVC     string
	PGDumpDB    string
	RestoreOpts string
	PITRTarget  string
	// NodeAffinityType is only considered when "NodeLabel" is also set, and is
	// either a value of "preferred" (default) or "required"
	NodeAffinityType crv1.NodeAffinityType
	NodeLabel        string
}

PgRestoreRequest ... swagger:model

type PgRestoreResponse

type PgRestoreResponse struct {
	Results []string
	Status
}

PgRestoreResponse swagger:model

type Pgbackup

type Pgbackup struct {
	CreationTimestamp string
	Namespace         string             `json:"namespace"`
	Name              string             `json:"name"`
	StorageSpec       crv1.PgStorageSpec `json:"storagespec"`
	CCPImageTag       string             `json:"ccpimagetag"`
	BackupHost        string             `json:"backuphost"`
	BackupUserSecret  string             `json:"backupusersecret"`
	BackupPort        string             `json:"backupport"`
	BackupStatus      string             `json:"backupstatus"`
	BackupPVC         string             `json:"backuppvc"`
	BackupOpts        string             `json:"backupopts"`
	Toc               map[string]string  `json:"toc"`
}

Pgbackup ... swagger:model

type PgbackupList

type PgbackupList struct {
	Items []Pgbackup `json:"items"`
}

PgbackupList ... swagger:model

type PgoroleInfo

type PgoroleInfo struct {
	Name        string
	Permissions string
}

PgroleInfo ... swagger:model

type PgouserInfo

type PgouserInfo struct {
	Username  string
	Role      []string
	Namespace []string
}

PgouserInfo ... swagger:model

type QueryFailoverRequest

type QueryFailoverRequest struct {
	ClusterName   string
	ClientVersion string
}

QueryFailoverRequest ... swagger:model

type QueryFailoverResponse

type QueryFailoverResponse struct {
	Results []FailoverTargetSpec
	Status
	Standby bool
}

QueryFailoverResponse ... swagger:model

type QueryRestartRequest

type QueryRestartRequest struct {
	ClusterName   string
	ClientVersion string
}

QueryRestartRequest defines a request to query a specific cluster for available restart targets. swagger:model

type QueryRestartResponse

type QueryRestartResponse struct {
	Results []RestartTargetSpec
	Status
	Standby bool
}

QueryRestartResponse is the response generated when querying the available instances within a cluster in order to perform a restart against a specific target. swagger:model

type ReloadRequest

type ReloadRequest struct {
	Namespace string
	Args      []string
	Selector  string
}

ReloadRequest ... swagger:model

type ReloadResponse

type ReloadResponse struct {
	Results []string
	Status
}

ReloadResponse ... swagger:model

type RestartDetail

type RestartDetail struct {
	ClusterName  string
	Instances    []InstanceDetail
	Error        bool
	ErrorMessage string
}

RestartDetail defines the details for a cluster restart request, specifically information about each instance restarted as a result of the request. swagger:model

type RestartRequest

type RestartRequest struct {
	Namespace     string
	ClusterName   string
	RollingUpdate bool
	Targets       []string
	ClientVersion string
}

RestartRequest defines a request to restart a cluster, or one or more targets (i.e. instances) within a cluster swagger:model

type RestartResponse

type RestartResponse struct {
	Result RestartDetail
	Status
}

RestartResponse is the response generated for a request to restart a cluster. swagger:model

type RestartTargetSpec

type RestartTargetSpec struct {
	Name           string // the name of the PostgreSQL instance
	Node           string // the node that the instance is running on
	ReplicationLag int    // how far behind the instance is behind the primary, in MB
	Status         string // the current status of the instance
	Timeline       int    // the timeline the replica is on; timelines are adjusted after failover events
	PendingRestart bool   // whether or not a restart is pending for the target
	Role           string // the role of the specific instance
}

RestartTargetSpec defines the details for a specific restart target identified while querying a cluster for available targets (i.e. instances). swagger:model

type RestoreRequest

type RestoreRequest struct {
	Namespace   string
	FromCluster string
	RestoreOpts string
	PITRTarget  string
	// NodeAffinityType is only considered when "NodeLabel" is also set, and is
	// either a value of "preferred" (default) or "required"
	NodeAffinityType    crv1.NodeAffinityType
	NodeLabel           string
	BackrestStorageType string
}

RestoreRequest ... swagger:model

type RestoreResponse

type RestoreResponse struct {
	Results []string
	Status
}

RestoreResponse ... swagger:model

type ScaleDownResponse

type ScaleDownResponse struct {
	Results []string
	Status
}

ScaleDownResponse swagger:model

type ScaleQueryResponse

type ScaleQueryResponse struct {
	Results []ScaleQueryTargetSpec
	Status
	Standby bool
}

ScaleQueryResponse swagger:model

type ScaleQueryTargetSpec

type ScaleQueryTargetSpec struct {
	Name           string // the name of the PostgreSQL instance
	Node           string // the node that the instance is running on
	ReplicationLag int    // how far behind the instance is behind the primary, in MB
	Status         string // the current status of the instance
	Timeline       int    // the timeline the replica is on; timelines are adjusted after failover events
	PendingRestart bool   // whether or not a restart is pending for the target
}

ScaleQueryTargetSpec swagger:model

type ShowBackrestDetail

type ShowBackrestDetail struct {
	Name        string
	Info        []PgBackRestInfo
	StorageType string
}

ShowBackrestDetail ... swagger:model

type ShowBackrestResponse

type ShowBackrestResponse struct {
	Items []ShowBackrestDetail
	Status
}

ShowBackrestResponse ... swagger:model

type ShowBackupResponse

type ShowBackupResponse struct {
	BackupList PgbackupList
	Status
}

ShowBackupResponse ... swagger:model

type ShowClusterDeployment

type ShowClusterDeployment struct {
	Name         string
	PolicyLabels []string
}

ShowClusterDeployment

swagger:model

type ShowClusterDetail

type ShowClusterDetail struct {
	// Defines the Cluster using a Crunchy Pgcluster crd
	Cluster     crv1.Pgcluster `json:"cluster"`
	Deployments []ShowClusterDeployment
	Pods        []ShowClusterPod
	Services    []ShowClusterService
	Replicas    []ShowClusterReplica
	Standby     bool
}

ShowClusterDetail ...

swagger:model

type ShowClusterPod

type ShowClusterPod struct {
	Name        string
	Phase       string
	NodeName    string
	PVC         []ShowClusterPodPVC
	ReadyStatus string
	Ready       bool
	Primary     bool
	Type        string
}

ShowClusterPod

swagger:model

type ShowClusterPodPVC

type ShowClusterPodPVC struct {
	// Capacity is the total storage capacity available. This comes from a
	// Kubernetes resource Quantity string
	Capacity string

	// Name is the name of the PVC
	Name string
}

ShowClusterPodPVC contains information about a PVC that is bound to a Pod

swagger:model

type ShowClusterReplica

type ShowClusterReplica struct {
	Name string
}

ShowClusterReplica

swagger:model

type ShowClusterRequest

type ShowClusterRequest struct {
	// Name of the cluster to show
	// required: true
	Clustername string `json:"clustername"`
	// Selector of the cluster to show
	Selector string `json:"selector"`
	// Image tag of the cluster
	Ccpimagetag string `json:"ccpimagetag"`
	// Version of API client
	// required: true
	ClientVersion string `json:"clientversion"`
	// Namespace to search
	// required: true
	Namespace string `json:"namespace"`
	// Shows all clusters
	AllFlag bool `json:"allflag"`
}

ShowClusterRequest shows cluster

swagger:model

type ShowClusterResponse

type ShowClusterResponse struct {
	// results from show cluster
	Results []ShowClusterDetail
	// status of response
	Status
}

ShowClusterResponse ...

swagger:model

type ShowClusterService

type ShowClusterService struct {
	Name         string
	Data         string
	ClusterIP    string
	ClusterPorts []string
	ExternalIP   string
	ClusterName  string
	Pgbouncer    bool
	BackrestRepo bool
	PGAdmin      bool
}

ShowClusterService

swagger:model

type ShowConfigResponse

type ShowConfigResponse struct {
	Result interface{}
	Status
}

ShowConfigResponse ... swagger:model

type ShowNamespaceRequest

type ShowNamespaceRequest struct {
	Args          []string
	AllFlag       bool
	ClientVersion string
}

ShowNamespaceRequest ... swagger:model

type ShowNamespaceResponse

type ShowNamespaceResponse struct {
	Username string
	Results  []NamespaceResult
	Status
}

ShowNamespaceResponse ... swagger:model

type ShowPVCRequest

type ShowPVCRequest struct {
	ClusterName   string
	Selector      string
	ClientVersion string
	Namespace     string
	AllFlag       bool
}

ShowPVCRequest ... swagger:model

type ShowPVCResponse

type ShowPVCResponse struct {
	Results []ShowPVCResponseResult
	Status
}

ShowPVCResponse ... swagger:model

type ShowPVCResponseResult

type ShowPVCResponseResult struct {
	ClusterName string
	PVCName     string
}

ShowPVCResponseResult contains a semi structured result of information about a PVC in a cluster

type ShowPgAdminDetail

type ShowPgAdminDetail struct {
	// ClusterName is the name of the PostgreSQL cluster associated with this
	// pgAdmin deployment
	ClusterName string
	// HasPgAdmin is set to true if there is a pgAdmin deployment with this
	// cluster, otherwise its false
	HasPgAdmin bool
	// ServiceClusterIP contains the ClusterIP address of the Service
	ServiceClusterIP string
	// ServiceExternalIP contains the external IP address of the Service, if it
	// is assigned
	ServiceExternalIP string
	// ServiceName contains the name of the Kubernetes Service
	ServiceName string
	// Users contains the list of users configured for pgAdmin login
	Users []string
}

ShowPgAdminDetail is the specific information about a pgAdmin deployment for a cluster

swagger:model

type ShowPgAdminRequest

type ShowPgAdminRequest struct {
	// ClientVersion is the required parameter that includes the version of the
	// Operator that is requesting
	ClientVersion string

	// ClusterNames contains one or more names of cluster to be queried to show
	// information about their pgAdmin deployment
	ClusterNames []string

	// Namespace is the namespace to perform the query in
	Namespace string

	// Selector is optional and contains a selector to gather information about
	// a PostgreSQL cluster's pgAdmin
	Selector string
}

ShowPgAdminRequest contains the attributes for requesting information about a pgAdmin deployment

swagger:model

type ShowPgAdminResponse

type ShowPgAdminResponse struct {
	Results []ShowPgAdminDetail
	Status
}

ShowPgAdminResponse contains the attributes that are part of the response from the pgAdmin request, i.e. pgAdmin information

swagger:model

type ShowPgBouncerDetail

type ShowPgBouncerDetail struct {
	// ClusterName is the name of the PostgreSQL cluster associated with this
	// pgBouncer deployment
	ClusterName string
	// HasPgBouncer is set to true if there is a pgBouncer deployment with this
	// cluster, otherwise its false
	HasPgBouncer bool
	// Password contains the password for the pgBouncer service account
	Password string
	// ServiceClusterIP contains the ClusterIP address of the Service
	ServiceClusterIP string
	// ServiceExternalIP contains the external IP address of the Service, if it
	// is assigned
	ServiceExternalIP string
	// ServiceName contains the name of the Kubernetes Service
	ServiceName string
	// Username is the username for the pgBouncer service account
	Username string
}

ShowPgBouncerDetail is the specific information about a pgBouncer deployment for a cluster

swagger:model

type ShowPgBouncerRequest

type ShowPgBouncerRequest struct {
	// ClientVersion is the required parameter that includes the version of the
	// Operator that is requesting
	ClientVersion string

	// ClusterNames contains one or more names of cluster to be queried to show
	// information about their pgBouncer deployment
	ClusterNames []string

	// Namespace is the namespace to perform the query in
	Namespace string

	// Selector is optional and contains a selector to gather information about
	// a PostgreSQL cluster's pgBouncer
	Selector string
}

ShowPgBouncerRequest contains the attributes for requesting information about a pgBouncer deployment

swagger:model

type ShowPgBouncerResponse

type ShowPgBouncerResponse struct {
	Results []ShowPgBouncerDetail
	Status
}

ShowPgBouncerResponse contains the attributes that are part of the response from the pgBouncer request, i.e. pgBouncer information

swagger:model

type ShowPgoroleRequest

type ShowPgoroleRequest struct {
	Namespace     string
	AllFlag       bool
	ClientVersion string
	PgoroleName   []string
}

ShowPgoroleRequest ... swagger:model

type ShowPgoroleResponse

type ShowPgoroleResponse struct {
	RoleInfo []PgoroleInfo
	Status
}

ShowPgoroleResponse ... swagger:model

type ShowPgouserRequest

type ShowPgouserRequest struct {
	Namespace     string
	AllFlag       bool
	ClientVersion string
	PgouserName   []string
}

ShowPgouserRequest ... swagger:model

type ShowPgouserResponse

type ShowPgouserResponse struct {
	UserInfo []PgouserInfo
	Status
}

ShowPgouserResponse ... swagger:model

type ShowPolicyRequest

type ShowPolicyRequest struct {
	Selector      string
	Namespace     string
	AllFlag       bool
	ClientVersion string
	Policyname    string
}

ShowPolicyRequest ... swagger:model

type ShowPolicyResponse

type ShowPolicyResponse struct {
	PolicyList crv1.PgpolicyList
	Status
}

ShowPolicyResponse ... swagger:model

type ShowScheduleRequest

type ShowScheduleRequest struct {
	Namespace    string
	ScheduleName string
	ClusterName  string
	Selector     string
}

ShowScheduleRequest ... swagger:model

type ShowScheduleResponse

type ShowScheduleResponse struct {
	Results []string
	Status
}

ShowSchewduleResponse ... swagger:model

type ShowUserRequest

type ShowUserRequest struct {
	AllFlag            bool
	Clusters           []string
	ClientVersion      string
	Expired            int
	Namespace          string
	Selector           string
	ShowSystemAccounts bool
}

ShowUserRequest finds information about users in various PostgreSQL clusters swagger:model

type ShowUserResponse

type ShowUserResponse struct {
	Results []UserResponseDetail
	Status
}

ShowUsersResponse ... swagger:model

type ShowWorkflowDetail

type ShowWorkflowDetail struct {
	ClusterName string
	Parameters  map[string]string
}

ShowWorkflowDetail ... swagger:model

type ShowWorkflowResponse

type ShowWorkflowResponse struct {
	Results ShowWorkflowDetail
	Status
}

ShowWorkflowResponse ... swagger:model

type ShowpgDumpDetail

type ShowpgDumpDetail struct {
	Name string
	Info string
}

ShowpgDumpDetail swagger:model

type Status

type Status struct {
	// status code
	Code string
	// status message
	Msg string
}

Status ... swagger:model Status

func (*Status) SetError

func (s *Status) SetError(msg string)

Syntactic sugar for consistency and readibility

type StatusDetail

type StatusDetail struct {
	NumDatabases int
	NumClaims    int
	VolumeCap    string
	DbTags       map[string]int
	NotReady     []string
	Nodes        []NodeInfo
	Labels       []KeyValue
}

StatusDetail ... this aggregated status comes from the pgo-status container by means of a volume mounted json blob it generates swagger:model

type StatusResponse

type StatusResponse struct {
	Result StatusDetail
	Status
}

ShowClusterResponse ... swagger:model

type UpdateBackrestS3VerifyTLS

type UpdateBackrestS3VerifyTLS int

UpdateBackrestS3VerifyTLS defines the types for updating the S3 TLS verification configuration

const (
	UpdateBackrestS3VerifyTLSDoNothing UpdateBackrestS3VerifyTLS = iota
	UpdateBackrestS3VerifyTLSEnable
	UpdateBackrestS3VerifyTLSDisable
)

set the different values around updating the S3 TLS verification configuration

type UpdateClusterAutofailStatus

type UpdateClusterAutofailStatus int

set the types for updating the Autofail status

const (
	UpdateClusterAutofailDoNothing UpdateClusterAutofailStatus = iota
	UpdateClusterAutofailEnable
	UpdateClusterAutofailDisable
)

set the different values around updating the autofail configuration

type UpdateClusterLoginState

type UpdateClusterLoginState int
const (
	UpdateUserLoginDoNothing UpdateClusterLoginState = iota
	UpdateUserLoginEnable
	UpdateUserLoginDisable
)

set the different values around whether or not to disable/enable a user's ability to login

type UpdateClusterMetrics

type UpdateClusterMetrics int

UpdateClusterMetrics determines whether or not to enable/disable the metrics collection sidecar in a cluster

const (
	UpdateClusterMetricsDoNothing UpdateClusterMetrics = iota
	UpdateClusterMetricsEnable
	UpdateClusterMetricsDisable
)

type UpdateClusterPGBadger

type UpdateClusterPGBadger int

UpdateClusterPGBadger determines whether or not to enable/disable the pgBadger sidecar in a cluster

const (
	UpdateClusterPGBadgerDoNothing UpdateClusterPGBadger = iota
	UpdateClusterPGBadgerEnable
	UpdateClusterPGBadgerDisable
)

type UpdateClusterRequest

type UpdateClusterRequest struct {
	Clustername []string
	Selector    string
	// Version of API client
	// required: true
	ClientVersion string
	Namespace     string
	AllFlag       bool
	// Annotations provide any custom annotations for a cluster
	Annotations crv1.ClusterAnnotations `json:"annotations"`
	Autofail    UpdateClusterAutofailStatus
	// BackrestCPULimit, if specified, is the value of the max amount of CPU
	// to be utilized for a pgBackRest Pod
	BackrestCPULimit string
	// BackrestCPURequest, if specified, is the value of how much CPU should be
	// requested the pgBackRest repository. Defaults to not being requested
	BackrestCPURequest string
	// BackrestMemoryLimit, if specified is the max amount of memory a pgBackRest
	// Pod should use
	BackrestMemoryLimit string
	// BackrestMemoryRequest, if specified, is the value of how much RAM should
	// be requested for the pgBackRest repository.
	BackrestMemoryRequest string
	// BackrestPVCSize if set updates the size of the pgBackRest PVC
	BackrestPVCSize string
	// CASecret is the name of the secret that contains the CA to use along with
	// the TLS keypair for deploying a TLS-enabled PostgreSQL cluster. Provide it
	// to either enable or update the Secret used in a TLS cluster
	CASecret string
	// DisableTLS, if set, will remove TLS settings from the cluster. This will
	// override the values of CASecret, ReplicationTLSSecret, TLSSecret, and
	// TLSOnly
	DisableTLS bool
	// ExporterCPULimit, if specified, is the value of the max amount of CPU
	// to be utilized for a Crunchy Postgres Exporter instance
	ExporterCPULimit string
	// ExporterCPURequest, if specified, is the value of how much CPU should be
	// requested the Crunchy Postgres Exporter. Defaults to not being requested
	ExporterCPURequest string
	// ExporterMemoryLimit, if specified is the max amount of memory a Crunchy
	// Postgres Exporter instance should use
	ExporterMemoryLimit string
	// ExporterMemoryRequest, if specified, is the value of how much RAM should
	// be requested for the Crunchy Postgres Exporter instance.
	ExporterMemoryRequest string
	// ExporterRotatePassword, if specified, rotates the password of the metrics
	// collection agent, i.e. the "ccp_monitoring" user.
	ExporterRotatePassword bool
	// CPULimit is the value of the max CPU utilization for a Pod that has a
	// PostgreSQL cluster
	CPULimit string
	// CPURequest is the value of how much CPU should be requested for deploying
	// the PostgreSQL cluster
	CPURequest string
	// MemoryLimit is the value of of the limit of how much RAM a Pod with a
	// PostgreSQL instance should use. At this time we do not recommend setting
	// this.
	MemoryLimit string
	// MemoryRequest is the value of how much RAM should be requested for
	// deploying the PostgreSQL cluster
	MemoryRequest string
	// Metrics allows for the enabling/disabling of the metrics sidecar. This can
	// cause downtime and triggers a rolling update
	Metrics UpdateClusterMetrics
	// PGBadger allows for the enabling/disabling of the pgBadger sidecar. This can
	// cause downtime and triggers a rolling update
	PGBadger UpdateClusterPGBadger
	// PVC size, if set, updates the size of the data directory.
	PVCSize string
	// ReplicationTLSSecret is the name of the secret that contains the keypair
	// used for having instances in a PostgreSQL cluster authenticate each another
	// using certificate-based authentication. The CN of the certificate must
	// either be "primaryuser" (the current name of the replication user) OR
	// have a mapping to primaryuser in the pg_ident file. The
	// ReplicationTLSSecret must be verifable by the certificate chain in the
	// CASecret
	ReplicationTLSSecret string
	// ServiceType, if specified, will change the service type of a cluster.
	ServiceType v1.ServiceType
	Standby     UpdateClusterStandbyStatus
	Startup     bool
	Shutdown    bool
	Tablespaces []ClusterTablespaceDetail
	// TLSSecret is the name of the secret that contains the keypair required to
	// deploy a TLS-enabled PostgreSQL cluster
	TLSSecret string
	// Tolerations allows for the adding of Pod tolerations on a PostgreSQL
	// cluster.
	Tolerations []v1.Toleration `json:"tolerations"`
	// TLSOnly indicates that a PostgreSQL cluster should be deployed with only
	// TLS connections accepted, or if it should be disabled
	TLSOnly UpdateClusterTLSOnly
	// TolerationsDelete  allows for the removal of Pod tolerations on a
	// PostgreSQL cluster
	TolerationsDelete []v1.Toleration `json:"tolerationsDelete"`
	// WALPVCSize updates the size of the WAL PVC, if there is a WAL PVC
	WALPVCSize string
}

UpdateClusterRequest ... swagger:model

type UpdateClusterResponse

type UpdateClusterResponse struct {
	Results []string
	Status
}

UpdateClusterResponse ... swagger:model

type UpdateClusterStandbyStatus

type UpdateClusterStandbyStatus int

UpdateClusterStandbyStatus defines the types for updating the Standby status

const (
	UpdateClusterStandbyDoNothing UpdateClusterStandbyStatus = iota
	UpdateClusterStandbyEnable
	UpdateClusterStandbyDisable
)

set the different values around updating the standby configuration

type UpdateClusterTLSOnly added in v0.2.0

type UpdateClusterTLSOnly int
const (
	UpdateClusterTLSOnlyDoNothing UpdateClusterTLSOnly = iota
	UpdateClusterTLSOnlyEnable
	UpdateClusterTLSOnlyDisable
)

type UpdateNamespaceRequest

type UpdateNamespaceRequest struct {
	Args          []string
	ClientVersion string
}

UpdateNamespaceRequest ... swagger:model

type UpdateNamespaceResponse

type UpdateNamespaceResponse struct {
	Results []string
	Status
}

UpdateNamespaceResponse ... swagger:model

type UpdatePgBouncerDetail

type UpdatePgBouncerDetail struct {
	// ClusterName is the name of the PostgreSQL cluster associated with this
	// pgBouncer deployment
	ClusterName string
	// Error is set to true if there is an error. HasPgbouncer == false is not
	// an error
	Error bool
	// ErrorMessage contains an error message if there is an error
	ErrorMessage string
	// HasPgBouncer is set to true if there is a pgBouncer deployment with this
	// cluster, otherwise its false
	HasPgBouncer bool
}

UpdatePgBouncerDetail is the specific information about the pgBouncer update request for each deployment

swagger:model

type UpdatePgBouncerRequest

type UpdatePgBouncerRequest struct {
	// ClientVersion is the required parameter that includes the version of the
	// Operator that is requesting
	ClientVersion string

	// ClusterNames contains one or more names of pgBouncer deployments to be
	// updated
	ClusterNames []string

	// CPULimit, if specified, is the max CPU that should be used on a pgBouncer
	// Pod. Defaults to not being set.
	CPULimit string

	// CPURequest, if specified, is the value of how much CPU should be
	// requested for deploying pgBouncer instances. Defaults to not being
	// requested
	CPURequest string

	// MemoryLimit, if specified, is the max CPU that should be used on a
	// pgBouncer Pod. Defaults to not being set.
	MemoryLimit string

	// MemoryRequest, if specified, is the value of how much RAM should
	// be requested for deploying pgBouncer instances. Defaults to the server
	// specified default
	MemoryRequest string

	// Namespace is the namespace to perform the query in
	Namespace string

	// Replicas represents the total number of pgBouncer pods to deploy with a
	// PostgreSQL cluster. Must be at least 1. If 0 is passed in, it is ignored
	Replicas int32

	// RotatePassword is used to rotate the password for the "pgbouncer" service
	// account
	RotatePassword bool

	// Selector is optional and contains a selector for pgBouncer deployments that
	// are to be updated
	Selector string

	// ServiceType is the kind of Service to deploy with this instance. If unset,
	// it will default to the value for the PostgreSQL cluster.
	ServiceType v1.ServiceType `json:"serviceType"`
}

UpdatePgBouncerRequest contains the attributes for updating a pgBouncer deployment

swagger:model

type UpdatePgBouncerResponse

type UpdatePgBouncerResponse struct {
	Results []UpdatePgBouncerDetail
	Status
}

UpdatePgBouncerResponse contains the resulting output of the update request

swagger:model

type UpdatePgoroleRequest

type UpdatePgoroleRequest struct {
	Name               string
	PgorolePermissions string
	PgoroleName        string
	ChangePermissions  bool
	Namespace          string
	ClientVersion      string
}

UpdatePgoroleRequest ... swagger:model

type UpdatePgoroleResponse

type UpdatePgoroleResponse struct {
	Status
}

ApplyPgoroleResponse ... swagger:model

type UpdatePgouserRequest

type UpdatePgouserRequest struct {
	Name              string
	PgouserRoles      string
	PgouserNamespaces string
	AllNamespaces     bool
	PgouserPassword   string
	PgouserName       string
	Namespace         string
	ClientVersion     string
}

UpdatePgouserRequest ... swagger:model

type UpdatePgouserResponse

type UpdatePgouserResponse struct {
	Status
}

ApplyPgouserResponse ... swagger:model

type UpdateUserRequest

type UpdateUserRequest struct {
	AllFlag         bool
	ClientVersion   string
	Clusters        []string
	Expired         int
	ExpireUser      bool
	LoginState      UpdateClusterLoginState
	ManagedUser     bool
	Namespace       string
	Password        string
	PasswordAgeDays int
	PasswordLength  int
	// PasswordType is one of "md5" or "scram-sha-256", defaults to "md5"
	PasswordType        string
	PasswordValidAlways bool
	RotatePassword      bool
	Selector            string
	// SetSystemAccountPassword allows one to override the password for a
	// designated system account
	SetSystemAccountPassword bool
	Username                 string
}

UpdateUserRequest is the API to allow an Operator user to update information about a PostgreSQL user swagger:model

type UpdateUserResponse

type UpdateUserResponse struct {
	Results []UserResponseDetail
	Status
}

UpdateUserResponse contains the response after an update user request swagger:model

type UserResponseDetail

type UserResponseDetail struct {
	ClusterName  string
	Error        bool
	ErrorMessage string
	Password     string
	Username     string
	ValidUntil   string
}

UserResponseDetail returns specific information about the user that was updated, including password, expiration time, etc. swagger:model

type VersionResponse

type VersionResponse struct {
	Version string
	Status
}

VersionResponse ... swagger:model

type WatchRequest

type WatchRequest struct {
	Topics        []string
	ClientVersion string
	Namespace     string
}

WatchRequest ... swagger:model

type WatchResponse

type WatchResponse struct {
	Results []string
	Status
}

WatchResponse ... swagger:model

Jump to

Keyboard shortcuts

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