Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the postgresql v1alpha1 API group +kubebuilder:object:generate=true +groupName=postgresql.easymile.com
Index ¶
- Variables
- type ConnectionTypesSpecEnum
- type DatabaseModulesList
- type DatabaseStatusPhase
- type EngineStatusPhase
- type GenericUserConnection
- type ModeEnum
- type PostgresqlDatabase
- type PostgresqlDatabaseList
- type PostgresqlDatabaseSpec
- type PostgresqlDatabaseStatus
- type PostgresqlEngineConfiguration
- type PostgresqlEngineConfigurationList
- type PostgresqlEngineConfigurationSpec
- type PostgresqlEngineConfigurationStatus
- type PostgresqlUserRole
- type PostgresqlUserRoleList
- type PostgresqlUserRolePrivilege
- type PostgresqlUserRoleSpec
- type PostgresqlUserRoleStatus
- type PrivilegesSpecEnum
- type ProviderType
- type StatusPostgresRoles
- type UserConnections
- type UserRoleStatusPhase
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "postgresql.easymile.com", Version: "v1alpha1"} // 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 ConnectionTypesSpecEnum ¶
type ConnectionTypesSpecEnum string
const BouncerConnectionType ConnectionTypesSpecEnum = "BOUNCER"
const PrimaryConnectionType ConnectionTypesSpecEnum = "PRIMARY"
type DatabaseModulesList ¶
type DatabaseModulesList struct { // Modules list // +optional // +listType=set List []string `json:"list,omitempty"` // Should drop on delete ? // +optional DropOnOnDelete bool `json:"dropOnDelete,omitempty"` // Should drop with cascade ? // +optional DeleteWithCascade bool `json:"deleteWithCascade,omitempty"` }
func (*DatabaseModulesList) DeepCopy ¶
func (in *DatabaseModulesList) DeepCopy() *DatabaseModulesList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseModulesList.
func (*DatabaseModulesList) DeepCopyInto ¶
func (in *DatabaseModulesList) DeepCopyInto(out *DatabaseModulesList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatabaseStatusPhase ¶
type DatabaseStatusPhase string
const DatabaseCreatedPhase DatabaseStatusPhase = "Created"
const DatabaseFailedPhase DatabaseStatusPhase = "Failed"
const DatabaseNoPhase DatabaseStatusPhase = ""
type EngineStatusPhase ¶
type EngineStatusPhase string
const EngineFailedPhase EngineStatusPhase = "Failed"
const EngineNoPhase EngineStatusPhase = ""
const EngineValidatedPhase EngineStatusPhase = "Validated"
type GenericUserConnection ¶
type GenericUserConnection struct { // Hostname // +required // +kubebuilder:validation:Required Host string `json:"host"` // URI args like sslmode, ... URIArgs string `json:"uriArgs"` // Port Port int `json:"port,omitempty"` }
func (*GenericUserConnection) DeepCopy ¶
func (in *GenericUserConnection) DeepCopy() *GenericUserConnection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericUserConnection.
func (*GenericUserConnection) DeepCopyInto ¶
func (in *GenericUserConnection) DeepCopyInto(out *GenericUserConnection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ModeEnum ¶
type ModeEnum string
const ManagedMode ModeEnum = "MANAGED"
const ProvidedMode ModeEnum = "PROVIDED"
type PostgresqlDatabase ¶
type PostgresqlDatabase struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PostgresqlDatabaseSpec `json:"spec,omitempty"` Status PostgresqlDatabaseStatus `json:"status,omitempty"` }
PostgresqlDatabase is the Schema for the postgresqldatabases API.
func (*PostgresqlDatabase) DeepCopy ¶
func (in *PostgresqlDatabase) DeepCopy() *PostgresqlDatabase
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlDatabase.
func (*PostgresqlDatabase) DeepCopyInto ¶
func (in *PostgresqlDatabase) DeepCopyInto(out *PostgresqlDatabase)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresqlDatabase) DeepCopyObject ¶
func (in *PostgresqlDatabase) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresqlDatabaseList ¶
type PostgresqlDatabaseList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PostgresqlDatabase `json:"items"` }
PostgresqlDatabaseList contains a list of PostgresqlDatabase.
func (*PostgresqlDatabaseList) DeepCopy ¶
func (in *PostgresqlDatabaseList) DeepCopy() *PostgresqlDatabaseList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlDatabaseList.
func (*PostgresqlDatabaseList) DeepCopyInto ¶
func (in *PostgresqlDatabaseList) DeepCopyInto(out *PostgresqlDatabaseList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresqlDatabaseList) DeepCopyObject ¶
func (in *PostgresqlDatabaseList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresqlDatabaseSpec ¶
type PostgresqlDatabaseSpec struct { // Database name // +required // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 Database string `json:"database"` // Master role name will be used to create top group role. // Database owner and users will be in this group role. // +optional MasterRole string `json:"masterRole,omitempty"` // Should drop database on Custom Resource deletion ? // +optional DropOnDelete bool `json:"dropOnDelete,omitempty"` // Wait for linked resource to be deleted // +optional WaitLinkedResourcesDeletion bool `json:"waitLinkedResourcesDeletion,omitempty"` // Schema to create in database // +optional Schemas DatabaseModulesList `json:"schemas,omitempty"` // Extensions to enable // +optional Extensions DatabaseModulesList `json:"extensions,omitempty"` // Postgresql Engine Configuration link // +required // +kubebuilder:validation:Required EngineConfiguration *common.CRLink `json:"engineConfiguration"` }
PostgresqlDatabaseSpec defines the desired state of PostgresqlDatabase.
func (*PostgresqlDatabaseSpec) DeepCopy ¶
func (in *PostgresqlDatabaseSpec) DeepCopy() *PostgresqlDatabaseSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlDatabaseSpec.
func (*PostgresqlDatabaseSpec) DeepCopyInto ¶
func (in *PostgresqlDatabaseSpec) DeepCopyInto(out *PostgresqlDatabaseSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresqlDatabaseStatus ¶
type PostgresqlDatabaseStatus struct { // Current phase of the operator Phase DatabaseStatusPhase `json:"phase"` // Human-readable message indicating details about current operator phase or error. // +optional Message string `json:"message"` // True if all resources are in a ready state and all work is done. // +optional Ready bool `json:"ready"` // Created database // +optional Database string `json:"database"` // Already created roles for database // +optional Roles StatusPostgresRoles `json:"roles"` // Already created schemas // +optional // +listType=set Schemas []string `json:"schemas,omitempty"` // Already extensions added // +optional // +listType=set Extensions []string `json:"extensions,omitempty"` }
PostgresqlDatabaseStatus defines the observed state of PostgresqlDatabase.
func (*PostgresqlDatabaseStatus) DeepCopy ¶
func (in *PostgresqlDatabaseStatus) DeepCopy() *PostgresqlDatabaseStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlDatabaseStatus.
func (*PostgresqlDatabaseStatus) DeepCopyInto ¶
func (in *PostgresqlDatabaseStatus) DeepCopyInto(out *PostgresqlDatabaseStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresqlEngineConfiguration ¶
type PostgresqlEngineConfiguration struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PostgresqlEngineConfigurationSpec `json:"spec,omitempty"` Status PostgresqlEngineConfigurationStatus `json:"status,omitempty"` }
PostgresqlEngineConfiguration is the Schema for the postgresqlengineconfigurations API.
func (*PostgresqlEngineConfiguration) DeepCopy ¶
func (in *PostgresqlEngineConfiguration) DeepCopy() *PostgresqlEngineConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlEngineConfiguration.
func (*PostgresqlEngineConfiguration) DeepCopyInto ¶
func (in *PostgresqlEngineConfiguration) DeepCopyInto(out *PostgresqlEngineConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresqlEngineConfiguration) DeepCopyObject ¶
func (in *PostgresqlEngineConfiguration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresqlEngineConfigurationList ¶
type PostgresqlEngineConfigurationList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PostgresqlEngineConfiguration `json:"items"` }
PostgresqlEngineConfigurationList contains a list of PostgresqlEngineConfiguration.
func (*PostgresqlEngineConfigurationList) DeepCopy ¶
func (in *PostgresqlEngineConfigurationList) DeepCopy() *PostgresqlEngineConfigurationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlEngineConfigurationList.
func (*PostgresqlEngineConfigurationList) DeepCopyInto ¶
func (in *PostgresqlEngineConfigurationList) DeepCopyInto(out *PostgresqlEngineConfigurationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresqlEngineConfigurationList) DeepCopyObject ¶
func (in *PostgresqlEngineConfigurationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresqlEngineConfigurationSpec ¶
type PostgresqlEngineConfigurationSpec struct { // Provider // +kubebuilder:validation:Enum="";AWS;AZURE Provider ProviderType `json:"provider,omitempty"` // Hostname // +required // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 Host string `json:"host"` // Port Port int `json:"port,omitempty"` // URI args like sslmode, ... URIArgs string `json:"uriArgs,omitempty"` // Default database DefaultDatabase string `json:"defaultDatabase,omitempty"` // Duration between two checks for valid engine CheckInterval string `json:"checkInterval,omitempty"` // Allow grant admin on every created roles (group or user) for provided PGEC user in order to // have power to administrate those roles even with a less powered "admin" user. // Operator will create role and after grant PGEC provided user on those roles with admin option if enabled. AllowGrantAdminOption bool `json:"allowGrantAdminOption,omitempty"` // Wait for linked resource to be deleted WaitLinkedResourcesDeletion bool `json:"waitLinkedResourcesDeletion,omitempty"` // User and password secret // +required // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 SecretName string `json:"secretName"` // User connections used for secret generation // That will be used to generate secret with primary server as url or // to use the pg bouncer one. // Note: Operator won't check those values. // +optional UserConnections *UserConnections `json:"userConnections"` }
PostgresqlEngineConfigurationSpec defines the desired state of PostgresqlEngineConfiguration.
func (*PostgresqlEngineConfigurationSpec) DeepCopy ¶
func (in *PostgresqlEngineConfigurationSpec) DeepCopy() *PostgresqlEngineConfigurationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlEngineConfigurationSpec.
func (*PostgresqlEngineConfigurationSpec) DeepCopyInto ¶
func (in *PostgresqlEngineConfigurationSpec) DeepCopyInto(out *PostgresqlEngineConfigurationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresqlEngineConfigurationStatus ¶
type PostgresqlEngineConfigurationStatus struct { // Current phase of the operator Phase EngineStatusPhase `json:"phase"` // Human-readable message indicating details about current operator phase or error. // +optional Message string `json:"message"` // True if all resources are in a ready state and all work is done. // +optional Ready bool `json:"ready"` // Last validated time // +optional LastValidatedTime string `json:"lastValidatedTime"` // Resource Spec hash // +optional Hash string `json:"hash"` }
PostgresqlEngineConfigurationStatus defines the observed state of PostgresqlEngineConfiguration.
func (*PostgresqlEngineConfigurationStatus) DeepCopy ¶
func (in *PostgresqlEngineConfigurationStatus) DeepCopy() *PostgresqlEngineConfigurationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlEngineConfigurationStatus.
func (*PostgresqlEngineConfigurationStatus) DeepCopyInto ¶
func (in *PostgresqlEngineConfigurationStatus) DeepCopyInto(out *PostgresqlEngineConfigurationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresqlUserRole ¶
type PostgresqlUserRole struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PostgresqlUserRoleSpec `json:"spec,omitempty"` Status PostgresqlUserRoleStatus `json:"status,omitempty"` }
PostgresqlUserRole is the Schema for the postgresqluserroles API.
func (*PostgresqlUserRole) DeepCopy ¶
func (in *PostgresqlUserRole) DeepCopy() *PostgresqlUserRole
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlUserRole.
func (*PostgresqlUserRole) DeepCopyInto ¶
func (in *PostgresqlUserRole) DeepCopyInto(out *PostgresqlUserRole)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresqlUserRole) DeepCopyObject ¶
func (in *PostgresqlUserRole) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresqlUserRoleList ¶
type PostgresqlUserRoleList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PostgresqlUserRole `json:"items"` }
PostgresqlUserRoleList contains a list of PostgresqlUserRole.
func (*PostgresqlUserRoleList) DeepCopy ¶
func (in *PostgresqlUserRoleList) DeepCopy() *PostgresqlUserRoleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlUserRoleList.
func (*PostgresqlUserRoleList) DeepCopyInto ¶
func (in *PostgresqlUserRoleList) DeepCopyInto(out *PostgresqlUserRoleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresqlUserRoleList) DeepCopyObject ¶
func (in *PostgresqlUserRoleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresqlUserRolePrivilege ¶
type PostgresqlUserRolePrivilege struct { // User Connection type. // This is referring to the user connection type needed for this user. // +optional // +kubebuilder:default=PRIMARY // +kubebuilder:validation:Enum=PRIMARY;BOUNCER ConnectionType ConnectionTypesSpecEnum `json:"connectionType,omitempty"` // User privileges // +required // +kubebuilder:validation:Required // +kubebuilder:validation:Enum=OWNER;WRITER;READER Privilege PrivilegesSpecEnum `json:"privilege"` // Postgresql Database // +required // +kubebuilder:validation:Required Database *common.CRLink `json:"database"` // Generated secret name prefix // +required // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 GeneratedSecretName string `json:"generatedSecretName"` }
func (*PostgresqlUserRolePrivilege) DeepCopy ¶
func (in *PostgresqlUserRolePrivilege) DeepCopy() *PostgresqlUserRolePrivilege
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlUserRolePrivilege.
func (*PostgresqlUserRolePrivilege) DeepCopyInto ¶
func (in *PostgresqlUserRolePrivilege) DeepCopyInto(out *PostgresqlUserRolePrivilege)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresqlUserRoleSpec ¶
type PostgresqlUserRoleSpec struct { // User mode // +required // +kubebuilder:validation:Required // +kubebuilder:validation:Enum=PROVIDED;MANAGED Mode ModeEnum `json:"mode,omitempty"` // Privileges // +required // +kubebuilder:validation:Required // +kubebuilder:validation:Min=1 Privileges []*PostgresqlUserRolePrivilege `json:"privileges"` // User role prefix // +optional RolePrefix string `json:"rolePrefix,omitempty"` // User password rotation duration // +optional UserPasswordRotationDuration string `json:"userPasswordRotationDuration,omitempty"` // Simple user password tuple generated secret name // +optional WorkGeneratedSecretName string `json:"workGeneratedSecretName"` // Import secret name // +optional ImportSecretName string `json:"importSecretName,omitempty"` }
PostgresqlUserRoleSpec defines the desired state of PostgresqlUserRole.
func (*PostgresqlUserRoleSpec) DeepCopy ¶
func (in *PostgresqlUserRoleSpec) DeepCopy() *PostgresqlUserRoleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlUserRoleSpec.
func (*PostgresqlUserRoleSpec) DeepCopyInto ¶
func (in *PostgresqlUserRoleSpec) DeepCopyInto(out *PostgresqlUserRoleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresqlUserRoleStatus ¶
type PostgresqlUserRoleStatus struct { // Current phase of the operator Phase UserRoleStatusPhase `json:"phase"` // Human-readable message indicating details about current operator phase or error. // +optional Message string `json:"message"` // True if all resources are in a ready state and all work is done. // +optional Ready bool `json:"ready"` // User role // +optional RolePrefix string `json:"roleName"` // Postgres role for user // +optional PostgresRole string `json:"postgresRole"` // Postgres old roles to cleanup // +optional OldPostgresRoles []string `json:"oldPostgresRoles"` // Last password changed time // +optional LastPasswordChangedTime string `json:"lastPasswordChangedTime"` }
PostgresqlUserRoleStatus defines the observed state of PostgresqlUserRole.
func (*PostgresqlUserRoleStatus) DeepCopy ¶
func (in *PostgresqlUserRoleStatus) DeepCopy() *PostgresqlUserRoleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlUserRoleStatus.
func (*PostgresqlUserRoleStatus) DeepCopyInto ¶
func (in *PostgresqlUserRoleStatus) DeepCopyInto(out *PostgresqlUserRoleStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrivilegesSpecEnum ¶
type PrivilegesSpecEnum string
const OwnerPrivilege PrivilegesSpecEnum = "OWNER"
const ReaderPrivilege PrivilegesSpecEnum = "READER"
const WriterPrivilege PrivilegesSpecEnum = "WRITER"
type ProviderType ¶
type ProviderType string
const AWSProvider ProviderType = "AWS"
const AzureProvider ProviderType = "AZURE"
const NoProvider ProviderType = ""
type StatusPostgresRoles ¶
type StatusPostgresRoles struct { Owner string `json:"owner"` Reader string `json:"reader"` Writer string `json:"writer"` }
StatusPostgresRoles stores the different group roles already created for database +k8s:openapi-gen=true
func (*StatusPostgresRoles) DeepCopy ¶
func (in *StatusPostgresRoles) DeepCopy() *StatusPostgresRoles
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusPostgresRoles.
func (*StatusPostgresRoles) DeepCopyInto ¶
func (in *StatusPostgresRoles) DeepCopyInto(out *StatusPostgresRoles)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UserConnections ¶
type UserConnections struct { // Primary connection is referring to the primary node connection. // +optional PrimaryConnection *GenericUserConnection `json:"primaryConnection,omitempty"` // Bouncer connection is referring to a pg bouncer node. // +optional BouncerConnection *GenericUserConnection `json:"bouncerConnection,omitempty"` // Replica connections are referring to the replica nodes. // +optional ReplicaConnections []*GenericUserConnection `json:"replicaConnections,omitempty"` // Replica Bouncer connections are referring to pg bouncer nodes. // +optional ReplicaBouncerConnections []*GenericUserConnection `json:"replicaBouncerConnections,omitempty"` }
func (*UserConnections) DeepCopy ¶
func (in *UserConnections) DeepCopy() *UserConnections
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserConnections.
func (*UserConnections) DeepCopyInto ¶
func (in *UserConnections) DeepCopyInto(out *UserConnections)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UserRoleStatusPhase ¶
type UserRoleStatusPhase string
const UserRoleCreatedPhase UserRoleStatusPhase = "Created"
const UserRoleFailedPhase UserRoleStatusPhase = "Failed"
const UserRoleNoPhase UserRoleStatusPhase = ""